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)

posted @ 2018-05-26 18:26  joe.chu  阅读(10127)  评论(0编辑  收藏  举报