下面我在 FreeBSD 上使用“su”命令:
FreeBSD rand.vstyle.local 9.0-发布 FreeBSD 9.0-发布 #0 amd64 这是服务器 RAND:) [svn@rand ~]$ su logostudiotest1 /bin/ls 密码: /bin/ls:/bin/ls:无法执行二进制文件
为什么“su”不起作用?!
答案1
根据su 手册页如果您想以另一个用户的身份运行命令su
,则应使用-c
开关。
例如:su logostudiotest1 -c /bin/ls
答案2
我觉得你把 su 和 sudo 搞混了。下面这个应该没问题:
# sudo -u logostudiotest1 /bin/ls
答案3
我在 64 位版本的 FreeBSD 上使用 chroot 的 32 位库时遇到了这个问题。
起初我认为使用 ldconfig -32 可能会有帮助,但后来我注意到它使用了 PAM 和/或旧程序不知道的其他几种身份验证方案。
我最终只是编写了简短的 C 程序来链接用户 shell 或我需要运行的其他程序,然后将它们 chmod 为 4550 并使用组号 (guid) 来防止未经授权访问这些程序。我也可以编写硬编码密码或其他程序。