Re: ld.so.nohwcap and ld.so.preload; was Re: mounting a labeled filesystem.
Hi.
On Wed, 25 Feb 2015 06:38:11 -0800
peter@easthope.ca wrote:
> * From: Darac Marjal * Date: Mon, 12 Jan 2015 15:13:24 +0000
> > ... run "strace mount LABEL=GRNSDHC41" ...
>
> peter@dalton:~$ strace -e trace=file -o stracemount mount LABEL=GRNSDHC41
> mount: must be superuser to use mount
This is an expected result regardless of what you're trying to achieve.
Strace should (and will) ignore suid and sgid bits on executables.
Curiously enough that strace(1) lists such behavior as bug.
Since the actual mount(2) syscall requires CAP_SYS_ADMIN (basically -
you should be root), and a real /bin/mount binary is suid root - such
strace invocation should never actually mount anything.
> peter@dalton:~$ head strac*
> execve("/bin/mount", ["mount", "LABEL=GRNSDHC41"], [/* 30 vars */]) = 0
> access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
> access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
> open("/etc/ld.so.cache", O_RDONLY) = 3
> access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
> open("/lib/i386-linux-gnu/libblkid.so.1", O_RDONLY) = 3
> access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
> open("/lib/i386-linux-gnu/libselinux.so.1", O_RDONLY) = 3
> access("/etc/ld.so.nohwcap", F_OK) = -1 ENOENT (No such file or directory)
> open("/lib/i386-linux-gnu/libsepol.so.1", O_RDONLY) = 3
>
> ld.so.nohwcap and ld.so.preload in /etc?
This strace output shows that there are no such files there (ENOENT
means exactly this).
> According to https://www.debian.org/doc/packaging-manuals/fhs/fhs-2.3.html
> libraries belong in /lib or in /usr/lib.
Don't let 'so' confuse you. ld.so.nohwcap and ld.so.preload are
'configuration files', not libraries as far as FHS is concerned. See
ld.so (8).
Reco
Reply to: