引用A:http://blog.chinaunix.net/uid-15811445-id-149961.html
引用B:http://os.51cto.com/art/201307/404879.htm
此文章暂为简易版。待理解加强后,将重新编辑。
sudo是用来给常规用户分配特殊权限的工具。部分通用版本的linux将其当作root来使用。
功能:
1)可以使普通用户拥有部分root用户的权限。
2)记录用户使用sudo指令执行的操作。
3)拥有时间记忆,即在使用一次sudo指令后,在一段时间内不需要再次输入sudo。通常为5min
基本知识:
1)使用文件来保存用户使用权限:/etc/sudoers。
2)只有root用户可以修改此文件。
3)建议使用visudo指令访问该文件。因为vi无法检查语法错误。而visudo可以。、
常用参数:
sudo -l :列出当前用户可以执行的命令。只有在sudoers里的用户才能使用该选项。 sudo -u 用户名 命令 :以指定用户的身份执行命令。后面的用户是除root以外的,可以是用户名,也可以是#uid。 sudo -k :清除“入场卷”上的时间,下次再使用sudo时要再输入密码。 sudo -b 命令 :在后台执行指定的命令。 sudo -p 提示语 :可以更改询问密码的提示语,其中%u会代换为使用者帐号名称,%h会显示主机名称。非常人性化的设计。 sudo -e 文件名 :不是执行命令,而是修改文件,相当于命令sudoedit。
基本使用:
1)找到该文件。
在centos7中有2种方法:一,找到对应路径使用vi打开(不建议);二,直接输入指令:visudo。
2)添加用户
搜索 root 。然后找到 root ALL=(ALL) ALL。
标准格式:权限用户名 使用主机=(目标用户) 命令。
权限用户:我们赋予权限的用户。
使用主机:暂不清楚含义。所以填写为ALL
目标用户:权限用户可以对哪些用户执行命令。(个人理解)
如下图所示:
通常,我们只需要更高权限用户名和命令这两项。
注意:使用全路径指令,而不要使用指令名。防止因为用户个人的文件名和指令重叠导致的错误。
具体的指令路径:使用which指令。如图所示:
3)保存退出。
centos7中,需要先 :w(保存) 再 :q(退出)。在本人电脑上,无法直接使用wq的方式。
4)一些可能出现的错误。
1,拼写错误。如果使用visudo会有提示。
2,如果错误提示后强制保存,会导致sudo无法使用。
5)如果仅仅是个人电脑,在不熟悉sudo具体细节时,可以直接套用roo的command:ALL。这样只需要输入sudo就可以使用任何命令。