sudo 及visudo用法
visudo 编辑sudoers文件
1.命令功能
bisudo命令是专门用来编辑/etc/sudoers文件,同时提供语法检查等功能。/etc/sudoes文件是sudo命令的配置文件。
2.语法格式
visudo option
选项说明
visudo –c 手动执行语法检查
3.使用范例
范例1 执行sudo 对普通用户cxf和joe授权。
范例1 执行sudo 对普通用户cxf和joe授权。 [root@cxf home]# visudo #编辑配置文件 相当于vim /etc/sudoers文件 .... joe ALL=(ALL) #将joe提权为root身份 cxf ALL=(ALL) /usr/sbin/useradd,/usr/sbin/userdel #授权cxf可以以root身份添加或删除用户权限
分别对joe和cxf做不同的授权。
sudo 以另一个用户身份执行命令
1.命令功能
通过sudo命令,可以让普通用户执行指定的命令或程序,拥有超级用户的权限。细化不能命令授权的指定权限。
2.语法格式
sudo option
选项说明
选项 |
选项说明 |
-l |
列出当前用户可以执行的命令。只有在sudoers文件中才能使用该选项 |
-h |
列出使用方法,并退出 |
-u |
已指定用户的身份执行命令,后面跟除了root以外的其他用户,可以是用户名,也可以是uid。 |
-b |
在后台执行指定的命令 |
3.使用范例
查看哪些用户可以配置了sudo
[root@cxf ~]# tail -l /etc/sudoers chu ALL=(ALL) /usr/sbin/useradd,/usr/sbin/userdel
范例1 chu账号通过sudo命令,添加删除账号
添加账号test1账号
[chu@cxf ~]$ sudo passwd test1 更改用户 test1 的密码 。 新的 密码: 无效的密码: 过于简单化/系统化 无效的密码: 过于简单 重新输入新的 密码: passwd: 所有的身份验证令牌已经成功更新。 [chu@cxf ~]$ ls -l /home ...... drwx------ 3 test1 test1 4096 5月 21 02:15 test1
删除test1账号
[chu@cxf ~]$ userdel -r test1 bash: /usr/sbin/userdel: 权限不够 [chu@cxf ~]$ sudo userdel -r test1
注:对于linux系统bash的内置命令,一般无法进行sudo授权,例如cd、echo
bash内置命令如下:
[, alias, bg, bind, break, builtin, caller, cd, command, compgen, complete, com-popt, continue, declare, dirs, disown, echo, enable, eval, exec, exit, export, false, fc, fg, getopts, hash, help, history, jobs, kill, let, local, logout, mapfile, popd, printf, pushd, pwd, read, readonly, return, set, shift, shopt, source, suspend, test, times, trap, true, type,typeset, ulimit, umask, unalias, unset, wait - bash built-in commands, see bash(1)