2.3 提权
2.3.1 su:永久提权
su命令用于切换当前用户身份到指定用户或者以指定用户的身份执行命令或程序。 普通用户切换到root用户,可以使用su - 或su root,但是必须输入root密码才能完成切换。root用户切换到普通用户,可以使用su username,不需要输入任何密码即可完成切换。
su
命令的基本语法如下:
su [选项] [用户名]
常见选项参数:
选项 | 含义 |
---|---|
-c或--command | 执行完指定的指令后,即恢复原来的身份 |
-f或--fast | 适用于csh与tsch,使shell不用去读取启动文件 |
-l或--login | 改变身份时,也同时变更工作目录,以及HOME,SHELL,USER,logname,此外,也会变更PATH变量 |
-m,-p或--preserve-environment | 变更身份时,不要变更环境变量 |
-s或--shell | 指定要执行的shell |
--help | 显示帮助信息 |
--version | 显示版本信息 |
例:
切换到用户sam,但使用root的环境变量
su sam exit #退出
切换到sam用户,并使用sam的环境变量
su - sam
2.3.2 sudo:临时提权
sudo命令以系统管理者的身份执行指令,也就是说,经由 sudo 所执行的指令就好像是 root 亲自执行。 使用权限:在 /etc/sudoers 中有出现的使用者。
sudo
命令的基本语法如下:
sudo command
参数说明:
-
command 要以系统管理者身份(或以 -u 更改为其他人)执行的指令
例:
使用户sam具有sudo特权。
# root登录状态下,执行以下操作 vim /etc/sudoers ## Allows people in group wheel to run all commands (105) %wheel ALL=(ALL) ALL ## 用户组 谁像谁 能执行的命令 useradd sam -G wheel # sam用户可以将权限临时提升于root基本保持一致 # 切换用户sam sudo useradd li