目录
sudo” 是Unix/Linux平台上的一个非常有用的工具,允许为非根用户赋予一些合理的“权利”,让他们执行一些只有根用户或特许用户才能完成的任务,从而减少根用户的登陆次数和管理时间同时也提高了系统安全性。
- sudo的目的:为非根用户授予根用户的权限;
- 配置文件:/etc/sudoers
- visudo命令编辑修改/etc/sudoers配置文件
sudo的工作过程如下:
1,当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限
2,确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认
3,若密码输入成功,则开始执行sudo后续的命令
4,root执行sudo时不需要输入密码(eudoers文件中有配置root ALL=(ALL) ALL这样一条规则)
5,若欲切换的身份与执行者的身份相同,也不需要输入密码
visudo使用vi打开/etc/sudoers文件,但是在保存退出时visudo会检查内部语法,避免用户输入错误信息,visudo需要root权限
1. 新建可登录图形用户界面的用户
- 1) 切换为root用户为了获取创建用户的权限
zhang@ubuntu:~$ su root
- 2)添加一个新用户(如用户名为zhangkf)
root@ubuntu:/home/zhang# adduser zhangkf
然后根据系统提示进行密码和注释性描述的配置,全程不用自己输入其他命令即可配置成功,用户主目录和命令解析程序都是系统自动指定。
2. 允许该用户以管理员身份执行指令
当我们在指令前加入“sudo”执行一些指令时(如切换到root用户),会出现错误
zhangkf is not in the sudoers file. This incident will be reported.
- 1)再次切换到root用户(用su root)
zhang@ubuntu:/home/zhang$ su root
如果这里提示“su: Authentication failure”,是因为没有给root设置登录密码,解决方法:
1.先切换回用户peng: su peng
2.在给root设置登录密码:sudo passwd
2.输入一个密码即可
- sudo的目的:为非根用户授予根用户的权限;
- 2)执行visudo命令(visudo精确用户赋权)
root@ubuntu:/home/zhang$ visudo
- 3)该命令实际上打开的是/etc/sudoers文件,修改该文件,在“root ALL=(ALL:ALL) ALL”这一行下面加入一行:
zhangkf ALL=(ALL:ALL) ALL
ctrl+o(然后再按enter)保存,ctrl+c取消,ctrl+x退出
- 4)切换回zhangkf
root@ubuntu:/home/peng# su zhangkf
- 5) 用sudo su再次登录root
zhangkf@ubuntu:/home/peng$ sudo su
可以看到,用户zhangkf就可以用用sudo命令以管理员身份执行指令了。
想要了解更多请参考作者博客:https://blog.csdn.net/timothy93bp/article/details/77679000