sudo
命令详解
su
、su-
和sudo
区别
Linux中许多操作需要具有root
用户权限才能执行,因此提供了su
、su-
、sudo
命令使得用户具有root
权限。
su
与su-
区别
su
命令用于切换当前用户身份到其他用户身份,切换时需要被切换用户的密码
格式:su [参数] username
【注】如果只是su
命令,不带有username,则默认切换到root
用户,su-
同上。su
与su-
区别:
su
切换到其他用户,但是不切换环境变量su -
完整的切换一个用户环境,退出需要使用exit
命令
su
与sudo
区别
由于Linux是多人多任务系统,而某些操作需要root
用户权限,但不可能每个用户都有权力知道root
用户密码,因此root
用户便于管理,即相当于权力下放,允许某些用户能够拥有root
用户权限,因此产生sudo
命令。
su
与sudo
区别:
su
需要被切换用户的密码,sudo
只需要本用户密码su
所有用户只要知道root
用户密码就可以切换,sudo
只有root
用户在/etc/sudoers
文件中配置了才能够拥有root
权限
sudo
命令特性
- 能够限制用户在某台主机上运行某些命令,允许管理员集中管理
- 提供丰富日志,详细记录了用户行为
- 使用时间戳文件限制用户的使用时间,默认5分钟,超时需要重新登录。(值可以在编译时更改)
sudo
命令配置
某用户能够执行sudo
命令需要事先root
用户授权,即在/etc/sudoers
文件中配置。
\1. 切换root
用户。su -
\2. 添加文件的写权限。chmod u+w /etc/sudoers
\3. 编辑/etc/sudoers
。vim /etc/sudoers
找到root ALL=(ALL) ALL
在下面添加xxx ALL=(ALL) ALL
,其中xxx
为用户名,保存退出。
4.撤销文件的写权限。chmod u-w /etc/sudoers