点击访问 Linux 命令大全 >>
在使用 Linux 时,处于安全性考虑,不会直接使用 root 用户对文件操作、安装软件等。因为 root 拥有太高的权限,你一不小心可能就删库了,那就准备跑路吧!
通常情况下,我们将创建一个用户,然后使用创建的用户去安装软件,创建、修改或删除文件等操作。
但是有一个问题?安装软件时需要 root 权限,你需要登录 root 进行安装,安装好了后退出 root,登录创建的用户进行其他工作。是不是很麻烦呢!此时,su 命令就派上用场了。
su 命令语法如下:
[snow@localhost ~]$ su --help 用法: su [选项] [-] [USER [参数]...] 将有效用户 id 和组 id 更改为 USER 的 id。 单个 - 视为 -l。如果未指定 USER,将假定为 root。 选项: -m, -p, --preserve-environment 不重置环境变量 -g, --group <组> 指定主组 -G, --supp-group <组> 指定一个辅助组 -, -l, --login 使 shell 成为登录 shell -c, --command <命令> 使用 -c 向 shell 传递一条命令 --session-command <命令> 使用 -c 向 shell 传递一条命令 而不创建新会话 -f, --fast 向shell 传递 -f 选项(csh 或 tcsh) -s, --shell <shell> 若 /etc/shells 允许,则运行 shell -h, --help 显示此帮助并退出 -V, --version 输出版本信息并退出 更多信息请参阅 su(1)。
不带任何选项的 su 命令会将用户提升至 root 权限,当然首先需要提供 root 口令。通过 su 命令获得的特权将一直持续到使用 exit 命令退出为止。例如:
## 提升到 root 权限 [snow@localhost ~]$ su 密码: ## 查看用户信息 [root@localhost snow]# ll /root/ 总用量 8 -rw-------. 1 root root 1865 8月 9 00:54 anaconda-ks.cfg -rw-r--r--. 1 root root 1893 8月 8 16:56 initial-setup-ks.cfg drwxr-xr-x. 2 root root 6 8月 8 17:03 公共 drwxr-xr-x. 2 root root 6 8月 8 17:03 模板 drwxr-xr-x. 2 root root 6 8月 8 17:03 视频 drwxr-xr-x. 2 root root 6 8月 8 17:03 图片 drwxr-xr-x. 2 root root 6 8月 8 17:03 文档 drwxr-xr-x. 2 root root 6 8月 8 17:03 下载 drwxr-xr-x. 2 root root 6 8月 8 17:03 音乐 drwxr-xr-x. 2 root root 6 8月 8 17:03 桌面 ## 退出 su 提升的 root 权限 [root@localhost snow]# exit exit ## 又回到了 snow 用户 [snow@localhost ~]$
当然,也可以使用 su 命令切换到其他用户。例如:使用 su myUser3 从 snow 用户切换到 myUser3 用户。如下:
## 切换到 myUser3 用户 [snow@localhost ~]$ su myUser3 密码: ## 进入用户主目录 [myUser3@localhost snow]$ cd [myUser3@localhost ~]$ pwd /home/my1 ## 退出 myUser3 用户 [myUser3@localhost ~]$ exit exit ## 又回到 snow 用户 [snow@localhost ~]$
注意:
为了安全,每次使用 su 命令时尽量通过绝对路径来使用,避免非法 su 程序(该程序是非法人员注入的su程序,只是和 su 同名,用来盗取 root 口令)。如下:
## 切换到 root 用户
[snow@localhost ~]$ /bin/su
密码:
## 进入 root 主目录
[root@localhost snow]# cd
[root@localhost ~]# pwd
/root
## 退出 root 用户
[root@localhost ~]# exit
exit
## 进入 snow 用户主目录
[snow@localhost ~]$ pwd
/home/snow