导语
前文说到创建新用户的必要以及如何创建新用户。那么如果不使用 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 即添加完成。
上图中输入的是错误的(ALL 大小写),当我尝试保存的时候,visudo 给了提示,如下
输入 e 后重新编辑,保存成功。
测试权限
文件修改完成,切换到 user 账号,测试一下是否有权限
第一次尝试 rm 的时候没有成功,然后使用 sudo ,输入 uesr 账号的密码后即成功。
第一次尝试 mkdir 的时候同样没有成功,再次使用 sudo 后,因为是在五分钟的有限期内,没有要求输入密码,执行成功。
取消密码
每次都需要输入密码的话,有些麻烦,下面修改文件取消密码。切换到 root 账号,输入 visudo,如下修改

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

再次使用 sudo 的时候,没有提示输入密码即执行成功。
关于 sudo 的其他内容,例如权限限制、切换身份等,请查看参考链接中内容。
本文介绍如何使用sudo命令以其他身份执行命令,特别是如何在非root用户下执行需要root权限的操作,如mkdir。文章详细讲解了sudo命令的工作原理,如何通过编辑sudoers文件授权特定用户使用sudo,以及如何取消密码验证。

3万+

被折叠的 条评论
为什么被折叠?



