点击访问 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