我曾经是Ubuntu的粉丝,当我想以root用户身份执行命令时,我会这样做sudo blah_blah_blah
。但在Fedora 16中,它似乎不识别这个命令。这有什么线索吗?
答案1
如果您的 shell 告诉您找不到,sudo
那么它尚未安装,您需要使用 来安装它yum install sudo
。如果已安装,那么您可能不在管理员组中,您可以通过执行以下操作来解决此问题adduser <username> admin
。如果您不想这样做,请继续将自己添加到/etc/sudoers
.请务必使用 进行编辑visudo
。
编辑
使用时,visudo
如果您希望能够运行所有root
运行的命令,则只需添加以下内容即可。
sparticvs ALL=(ALL) ALL
要理解格式,它有点像<username> <machine>=(<allowed-euids>) <commands>
这样 全部这里是关键字通配符。这允许的euids不是必需的,但它们基本上有助于限制您可以以谁的身份运行。例如,您可以定义一组用户User_Alias DB = mysql, psql
,然后使用该命令sparticvs ALL=(DB) /usr/bin/mysql, /usr/bin/psql
,该命令允许我将 mysql 和 psql 命令作为拥有它们的服务帐户运行sudo -u psql /usr/bin/psql
。为了不让您完全想知道为什么有机器要求,您可以要求连接的用户源来自受信任的网络。例如,我的sudo
规则仅允许sudo
来自受信任主机的人员执行此操作,并且sudo
禁止所有其他调用。