su 和 sudo 命令

su命令

Linux su(英文全拼:swith user)命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。

使用权限:所有使用者。

常用命令

切换用户:

hnlinux@runoob.com:~$ whoami //显示当前用户
hnlinux
hnlinux@runoob.com:~$ pwd //显示当前目录
/home/hnlinux
hnlinux@runoob.com:~$ su root //切换到root用户
密码: 
root@runoob.com:/home/hnlinux# whoami 
root
root@runoob.com:/home/hnlinux# pwd
/home/hnlinux

切换用户并改变环境变量:

hnlinux@runoob.com:~$ whoami //显示当前用户
hnlinux
hnlinux@runoob.com:~$ pwd //显示当前目录
/home/hnlinux
hnlinux@runoob.com:~$ su - root //切换到root用户,建议使用这种方式
密码: 
root@runoob.com:/home/hnlinux# whoami 
root
root@runoob.com:/home/hnlinux# pwd //显示当前目录
/root

sudo命令

Linux sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。

使用权限:在 /etc/sudoers 中有出现的使用者。

当用户执行sudo时,系统会主动寻找/etc/sudoers文件,判断该用户是否有执行sudo的权限:

  1. 确认用户具有可执行sudo的权限后,让用户输入用户自己的密码确认;
  2. 若密码输入成功,则开始执行sudo后续的命令。

常用命令

执行命令:sudo ll
以root权限执行上一条命令:sudo !!
显示自己(执行sudo的使用者)的权限:su -l

设置无需输入密码

/etc/sudoers 中列出了哪些用户可以使用 sudo 命令,以及使用该命令是否需要密码。
允许root用户执行任意路径下的任意命令:root ALL=(ALL) ALL
允许admin用户组执行任意路径下的任意命令(无需输入密码):%admin ALL=(ALL) NOPASSWD: ALL
允许admin用户执行任意路径下的任意命令(无需输入密码):admin ALL=(ALL) NOPASSWD: ALL

posted @ 2021-03-07 09:54  ageovb  阅读(121)  评论(0编辑  收藏  举报