使用权限:在 /etc/sudoers 中有出现的使用者
使用方式:sudo -V
sudo -h
sudo -l
sudo -v
sudo -k
sudo -s
sudo -H
sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s
sudo command
说明:以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行
参数:
-V 显示版本编号
-h 会显示版本编号及指令的使用方式说明
-l 显示出自己(执行 sudo 的使用者)的权限
-v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行(N 预设为五)会问密码,这个参数是重新做一次确认,如果超过 N 分钟,也会问密码
-k 将会强迫使用者在下一次执行 sudo 时问密码(不论有没有超过 N 分钟)
-b 将要执行的指令放在背景执行
-p prompt 可以更改问密码的提示语,其中 %u 会代换为使用者的帐号名称, %h 会显示主机名称
-u username/#uid 不加此参数,代表要以 root 的身份执行指令,而加了此参数,可以以 username 的身份执行指令(#uid 为该 username 的使用者号码)
-s 执行环境变数中的 SHELL 所指定的 shell ,或是 /etc/passwd 里所指定的 shell
-H 将环境变数中的 HOME (家目录)指定为要变更身份的使用者家目录(如不加 -u 参数就是系统管理者 root )
command 要以系统管理者身份(或以 -u 更改为其他人)执行的指令
范例:
sudo -l 列出目前的权限
sudo -V 列出 sudo 的版本资讯
直接使用 sudo 加上你需要执行的linux命令就可以了。通常,系统会提示你输入你的密码。 输入完成后,如果你有sudo的权限,就可以运行 sudo后面的linux命令了。
1、概念
su使用起来非常方便,但同样也存在安全隐患。在一台服务器上面,如果有多人使用,在使用su命令切换到root后,则大家都知道了root密码,那么以后其他用户均可以以root用户身份登录和维护服务器,则安全策略形同虚设了。那该如何是好?Linux系统中则提供了另外一个命令 sudo 。
sudo配置文件默认权限为440
[root@shell ~]#
[root@shell ~]# ll /etc/sudoers
2、sudo 用法
sudo主要功能是以其他用户身份执行命令,而要输入的密码也仅仅是当前用户身身的密码而非root账户密码,类似于Windows系统中的 以管理员身份运行 。其常用用法如下所示:
sudo [选项] [命令]
常用选项如下所示:
3、执行流程
1)当用户执行sudo时,系统会在 /etc/sudoers 文件查找该用户是否有执行sudo的权限。
2)若用户拥有执行sudo权限后,则输入用户自身的密码确认
3)若密码确认成功,即可执行sudo后面的命令
4)若切换身份与执行者身份相同,则无需要输入密码
基于以上流程,能否使用sudo则要看 /etc/sudoers 中的设置
4、sudo 配置
修改 /etc/sudoers,不建议直接使用 vim,而是使用 visudo。因为修改 /etc/sudoers 文件需遵循一定的语法规则,使用 visudo 的好处就在于,当修改完毕 /etc/sudoers 文件,离开修改页面时,系统会自行检验 /etc/sudoers 文件的语法。
[root@shell ~]#
[root@shell ~]# visudo #配置sudo
1) 这样我们就可以使用sudo了,我们需要输入普通用户ctsi自己的密码
输入过密码后我们就可以直接使用 ls/cat/mv 这些命令了
[ctsi@shell root]$
[ctsi@shell root]$ sudo ls #以ctsi的身份执行 ls
[ctsi@shell root]$
[ctsi@shell root]$ sudo cat anaconda-ks.cfg #以ctsi的身份执行 cat
2)设置用户免密码执行sudo命令
在准备执行的sudo命令前边增加 NOPASSWD: 即可
[root@shell ~]#
[root@shell ~]# visudo #配置sudo
## Allow root to run any commands anywhere #定位到这一行,在这一行下边添加配置内容即可
root ALL=(ALL) ALL #默认存在
ctsi ALL=(ALL) NOPASSWD: /usr/bin/ls,/usr/bin/cat,/usr/bin/mv ##增加的免密码执行sudo命令的内容
[ctsi@shell root]$
[ctsi@shell root]$ sudo ls #严重免密码执行 sudo
5、sudo 权限用户组设置
有时我们需要为很多用户添加sudo权限,此时可以通过组来实现
前提是这些用户执行的sudo命令是一样的
把需要执行同样的权限的普通用户,添到同一个组中
比如:用户 user1 和 用户 user2 执行的sudo命令和用户ctsi是一样的,那么我们就可以将 user 和 user2 加入到ctsi组:
[root@shell ~]#
[root@shell ~]# visudo
6、定义别名
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)