我正在使用 Ubuntu 10.04 LTS 服务器,具有默认安全模型(root 锁定,sudo
用于提升权限)。sudo -i
当我需要以提升的权限运行一系列命令时,或者当我需要在仅具有 root 权限的目录中翻找时,我偶尔会喜欢使用。
有时,在设置将作为自己的非特权系统帐户 ( adduser --system --group --no-create-home --disabled-login some-daemon-user
)运行的软件时,我发现我需要以该用户的身份运行一系列命令,而不是我自己或 root 用户。我试过使用sudo -i -u some-daemon-user
,但它只返回一个1
状态而没有任何错误消息。
我已经检查了syslog
、messages
、auth
和debug
日志文件/var/log
,它们都没有包含任何引用sudo
或相关帐户的消息。
那么,是否有可能成为另一个非 root 用户,sudo 风格而不只是设置密码并登录(作为他们)?我的系统是否以某种方式“损坏”了还是我做错了?
sudo -i
运行由目标用户的密码数据库条目指定的 shell,它是/bin/false
您的系统用户。
用
sudo -u some-daemon-user bash
Run Code Online (Sandbox Code Playgroud)
或者
sudo -u some-daemon-user -H bash
Run Code Online (Sandbox Code Playgroud)
如果要设置为目标用户设置的 $HOME 环境变量。