详细讲解Linux切换用户su指令误区
2015-01-28 11:58
281 查看
1.背景
为了安全起见,通常在Linux环境下进行的一般作业建议使用一般账号这是因为root账号的权限过于庞大,常常会因为不小心的误操作导致系统错误,严重了还会致使系统瘫痪、崩溃。
因此建议只有在需要时才切换到root账号下进行相关操作。
su是Linux环境下切换用户的操作指令
2.su指令
很多朋友在使用该指令时,往往使用如下形式:例:从一般账号moonlit切换到root账号
$ su
那么这么做有什么不对的地方么?
我们这就来观察下账号切换前后的数据对比。
[moonlit@host ~] $
切换前执行下列语句,查看环境中包含moonlit的变量:
$ env | grep 'moonlit'
屏幕显示如下:
USER=moonlit
MAIL=/var/spool/mail/moonlit
PATH=/usr/java/jdk1.7.0_60/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/moonlit/bin
PWD=/home/moonlit
HOME=/home/moonlit
LOGNAME=moonlit
执行切换:
$ su
Password:
输入密码后屏幕转换为:
[root@host ~] #
输入#pwd查看当前路径
/home/moonlit
咦,怎么还是在moonlit账号的家目录下?
再输入# env | grep 'moonlit'
屏幕输出:
USER=moonlit
PATH=/usr/java/jdk1.7.0_60/bin:/usr/lib64/qt-3.3/bin:/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/sbin:/home/moonlit/bin
MAIL=/var/spool/mail/moonlit
PWD=/home/moonlit
LOGNAME=moonlit
看到了吧?环境木有变啊。
因为没有改变成root的环境,可能造成很多root指令错误或者无效哦。
想要完全转换用户到root可以用如下指令:
[moonlit@host ~]$ su
-
键入root密码后变为[root@host ~]#
#pwd一下:
/root
再# env | grep 'moonlit'一下:
神马都没有哦。
# env一下:
这时候屏幕会将变量全部显示出来,比较多,不一一列举了,可以看到当前的家目录、PATH、MAIL等等已经全部却换为root的变量了。
最后,你可以下达#exit来退出当前root用户返回moonlit。
3.总结
其实没有-的时候系统是按照non-login shell的方式切换用户的,而加上-时,系统是按照login shell切换的。
相关文章推荐
- Linux中的用户切换:su和su -的区别(转)
- linux使用su切换用户提示 Authentication failure的解决办法
- linux su命令参数及用法详解--linux切换用户命令
- Linux基本安全措施、加强系统账号密码安全、系统引导和登录安全、用户切换、su、sudo、grub菜单
- linux 查看当前用户id、whoami用户列表、用户组、用户权限/etc/passwd、/etc/group、/etc/shadow以及切换用户身份、su、sudo、/etc/sudoers
- linux su su - 用户切换
- 【Linux学习】Linux用户管理1—用户查询指令、用户切换
- Linux如何查看系统当前登录用户信息,linux su命令参数及用法详解(linux切换用户命令)
- linux 切换到 root 用户 [su命令,sudo命令]
- linux su命令参数及用法详解(linux切换用户命令)
- linux使用su切换用户提示 Authentication failure的解决方法
- Linux Tips之 切换用户身份su与sudo的用法与实例
- Linux 切换用户命令: su 和 su -
- linux使用su切换用户提示 Authentication failure的解决方法& 复制文件时,报cp: omitting directory `XXX'
- linux 用户切换su 命令横杠的作用
- linux下切换用户:su VS sudo
- linux下用户切换su,右键菜单添加
- [Linux] 用户切换 - su和sudo
- Linux操作,su切换用户命令中有无横杠“-”的区别
- linux 切换用户身份、su、sudo、/etc/sudoers