How to run programs with ld-linux.so?
1,537
Try using full path for ls
:
[ctor@dom0 tst]$ /lib64/ld-linux-x86-64.so.2 /usr/bin/ls
afile
[ctor@dom0 tst]$ /lib64/ld-linux-x86-64.so.2 ls
ls: error while loading shared libraries: ls: cannot open shared object file
[ctor@dom0 tst]$ /lib64/ld-linux-x86-64.so.2 anyinexistentcommandhere
anyinexistentcommandhere: error while loading shared libraries: anyinexistentcommandhere: cannot open shared object file
[ctor@dom0 tst]$ ldd ls
ldd: ./ls: No such file or directory
[ctor@dom0 tst]$ ldd `type -P ls`
linux-vdso.so.1 (0x00007fffd636c000)
libselinux.so.1 => /lib64/libselinux.so.1 (0x000074b858cc3000)
libcap.so.2 => /lib64/libcap.so.2 (0x000074b858abe000)
libc.so.6 => /lib64/libc.so.6 (0x000074b8586f8000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x000074b858486000)
libdl.so.2 => /lib64/libdl.so.2 (0x000074b858282000)
/lib64/ld-linux-x86-64.so.2 (0x000074b85910a000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x000074b858064000)
[ctor@dom0 tst]$ LD_DEBUG=libs /lib64/ld-linux-x86-64.so.2 ls
6380: find library=ls [0]; searching
6380: search cache=/etc/ld.so.cache
6380:
ls: error while loading shared libraries: ls: cannot open shared object file
[ctor@dom0 tst]$ LD_DEBUG=libs /lib64/ld-linux-x86-64.so.2 inexistentcommand
6415: find library=inexistentcommand [0]; searching
6415: search cache=/etc/ld.so.cache
6415:
inexistentcommand: error while loading shared libraries: inexistentcommand: cannot open shared object file
[ctor@dom0 tst]$ LD_DEBUG=libs /lib64/ld-linux-x86-64.so.2 /usr/bin/ls
6342: find library=libselinux.so.1 [0]; searching
6342: search cache=/etc/ld.so.cache
6342: trying file=/lib64/libselinux.so.1
6342:
6342: find library=libcap.so.2 [0]; searching
6342: search cache=/etc/ld.so.cache
6342: trying file=/lib64/libcap.so.2
6342:
6342: find library=libc.so.6 [0]; searching
6342: search cache=/etc/ld.so.cache
6342: trying file=/lib64/libc.so.6
6342:
6342: find library=libpcre.so.1 [0]; searching
6342: search cache=/etc/ld.so.cache
6342: trying file=/lib64/libpcre.so.1
6342:
6342: find library=libdl.so.2 [0]; searching
6342: search cache=/etc/ld.so.cache
6342: trying file=/lib64/libdl.so.2
6342:
6342: find library=libpthread.so.0 [0]; searching
6342: search cache=/etc/ld.so.cache
6342: trying file=/lib64/libpthread.so.0
6342:
6342:
6342: calling init: /lib64/libpthread.so.0
6342:
6342:
6342: calling init: /lib64/libc.so.6
6342:
6342:
6342: calling init: /lib64/libdl.so.2
6342:
6342:
6342: calling init: /lib64/libpcre.so.1
6342:
6342:
6342: calling init: /lib64/libcap.so.2
6342:
6342:
6342: calling init: /lib64/libselinux.so.1
6342:
6342:
6342: initialize program: /usr/bin/ls
6342:
6342:
6342: transferring control: /usr/bin/ls
6342:
afile
Author by
TheFootClan
Updated on September 18, 2022Comments
-
TheFootClan over 1 year
Is there a difference in the concept? I've seen separate code for both but have been unable to find any answers online regarding the differences between the two.
-
Xin Meng over 6 yearsthey are different. SLO is more complicated. you must read the official SAML profile document to understand it with the official standard.
4.4 Single Logout Profile
and4.1 Web Browser SSO Profile
. docs.oasis-open.org/security/saml/v2.0/saml-profiles-2.0-os.pdf
-
-
TheFootClan over 6 yearsThe SAMLServiceProviderSAMLServiceProvider in from the ComponentSpace.SAML2 dll has two separate functions: ReceiveSLO and ReceiveSSO. This leads me to beleive there are some kind of differences. I'm going to read more into this.
-
ComponentSpace over 6 yearsReceiveSSO supports SAML sign-on (ie SSO). ReceiveSLO supports SAML logout (ie SLO aka sign-out).
-
Stephen Kitt over 5 yearsThat’s exactly it, you need to specify the path if the binary isn’t in the current directory. Note that
/usr/bin/ls
will only work on distros which have merged/
and/usr
;/bin/ls
should work everywhere.