Answers:
OS X处理sudo
并su
与Linux相同。
sudo
是一个命令,无需任何其他选项,将以超级用户身份运行命令。例如:
% touch /newfile
touch: /newfile: Permission denied
% ls -l /newfile
ls: /newfile: No such file or directory
% sudo touch /newfile
% ls -l /newfile
-rw-r--r-- 1 root wheel 0 Apr 27 11:45 /newfile
su
另一方面,将当前用户切换为root用户(同样,无需任何其他命令)。在下面的示例中,我必须运行sudo su
,因为我不知道系统的root密码:
% whoami
alake
% sudo su
$ whoami
root
sudo
和之间的主要区别su
是,sudo
以root身份运行命令,而以root身份运行su
。与其他命令行实用程序非常相似,还有多种使用sudo
和的替代方法su
,如果您有兴趣,可以随时运行man <command>
eg。man sudo
以获得更多信息。
sudo
可以是as super user and do
。另外,在OS X上,一旦成功通过身份验证,您可以在短时间内(默认为5分钟,除非覆盖)使用不带密码的sudo,sudoers
之后必须再次输入密码。
sudo su -lm _www
将使您成为root用户以外的用户...例如,将让您拥有像webserver用户一样的shell(通过以root用户身份运行命令,例如(没有有效的密码)
sudo
是一个非常强大的实用程序,即使在此处涵盖基本功能,最终也会使目标受众感到困惑或不知所措,以寻找sudo
和之间的区别su
。
sudo -s
运行shell(“使您具有root用户权限”)并su -c command
以root用户身份运行命令。
sudo
。另外,su -c command
由于您不知道root的密码,因此默认情况下无法在OS X上执行此操作。但是sudo su
,您可以更改密码,然后su -c command
。我觉得这个问题已经回答了,不需要深入研究sudo和su的替代用法。但是,我将为好奇的人更新帖子。