Ubuntu 取消sudo密码
需求:在Ubuntu下装了FQ代理goagent之后,为了goagent能够开机启动。因为goagent需要sudo权限,所以要去掉sudo密码。
要修改的文件位于/etc/sudoers,先备份:
$ sudo cp /etc/sudoers /etc/sudoers.old
然后查看是否有对sudoers文件的写权限,如下:
如果sudoers文件的属性为-r--r-----,表示只有root和root组具有读权限,没有写权限,也就是即使用root账户也不能修改sudoers。
顺便说一下“-r--r-----”的意思:
第一个如果是'd'表示这是一个文件夹目录(directory),如果是‘-’表示是一个文件,如果是‘l’表示是一个链接(link)。
后面的9个分为3组,每组有3个权限——读(r)、写(w)、执行(x)。
其中第一组表示文件/文件夹所有者(或者创建者)对该文件持有的权限;
第二组表示某一用户组(如root、admin)对该文件/文件夹持有的权限;
第三组表示其他人对该文件的持有权限。
回到之前,root没有sudoers文件的写权限,用如下命令添加(首先切换到root账户下):
# chmod +w /etc/sudoers
(chmod +w 表示添加写权限,同理chmod +x 表示添加执行权限, chmod -x 表示撤销可执行权限)
然后添加如下一行到sudoers中:(添加在最后一行才能生效,注释不算)。
yourname ALL=(ALL) NOPASSWD:ALL
重启生效。
如果在修改sudoers的过程中把sudoers搞坏了,然后sudo权限和root权限都不能用,可以用以下命令:
kexec bash
通过如上命令,可以进入root模式,然后恢复sudoers。前提是root账户没被禁用。