3

导语

前文说到创建新用户的必要以及如何创建新用户。那么如果不使用 root 账号,在所有者为 root 的目录下,就没有办法执行 mkdir 等命令了吗?当然不是,我们可以使用 sudo

sudo

首先看下这个命令的介绍

sudo命令用来以其他身份来执行命令,预设的身份为root。在/etc/sudoers中设置了可执行sudo指令的用户。若其未经授权的用户企图使用sudo,则会发出警告的邮件给管理员。用户使用sudo时,必须先输入密码,之后有5分钟的有效期限,超过期限则必须重新输入密码。

通过介绍我们能看到,使用这个命令之后,就可以执行 root 权限的命令,当然可以根据实际的需求进行修改。

修改文件

配置sudo必须通过编辑/etc/sudoers文件,而且只有超级用户才可以修改它,还必须使用visudo编辑。之所以使用visudo有两个原因,一是它能够防止两个用户同时修改它;二是它也能进行有限的语法检查。所以,即使只有你一个超级用户,你也最好用visudo来检查一下语法。

切换到 root 账号,输入命令 visudo,就会默认使用 vi 打开 /etc/sudoers。仿照 root ALL=(ALL) ALL 在下方输入 [username] ALL=(ALL) ALL 即添加完成。
visudo 修改

上图中输入的是错误的(ALL 大小写),当我尝试保存的时候,visudo 给了提示,如下
visudo 提示
输入 e 后重新编辑,保存成功。

测试权限

文件修改完成,切换到 user 账号,测试一下是否有权限
测试权限
第一次尝试 rm 的时候没有成功,然后使用 sudo ,输入 uesr 账号的密码后即成功。
第一次尝试 mkdir 的时候同样没有成功,再次使用 sudo 后,因为是在五分钟的有限期内,没有要求输入密码,执行成功。

取消密码

每次都需要输入密码的话,有些麻烦,下面修改文件取消密码。切换到 root 账号,输入 visudo,如下修改

visudo 修改

修改完成后,再切换到 user 账号进行测试

sudo 无密码

再次使用 sudo 的时候,没有提示输入密码即执行成功。
关于 sudo 的其他内容,例如权限限制、切换身份等,请查看参考链接中内容。


参考链接:mkdir 命令sudo 命令


Haoyuqi
472 声望23 粉丝

PHPer