linux命令,系统安全相关命令--su

su


 

 

  su是最简单的身份切换命令,可以进行任何身份的切换,下面先看一下其基本参数。

 1 root@ubuntu:~# su -h
 2 Usage: su [options] [LOGIN]
 3 
 4 Options:
 5   -c, --command COMMAND         pass COMMAND to the invoked shell
 6   -h, --help                    display this help message and exit
 7   -, -l, --login                make the shell a login shell
 8   -m, -p,
 9   --preserve-environment        do not reset environment variables, and
10                                 keep the same shell
11   -s, --shell SHELL             use SHELL instead of the default in passwd

  su 在不加任何参数,默认为切换到root用户,但没有转到root用户家目录下,也就是说这时虽然是切换为root用户了,但并没有改变root登录环境;而su 加参数 - ,表示默认切换到root用户,并且改变到root用户的环境。下面通过一个例子来说明二者区别

范例1,分别使用su和su -切换root身份:

 1 gboy@ubuntu:~$ su
 2 Password: 
 3 root@ubuntu:/home/gboy# pwd        
 4 /home/gboy     <==工作目录仍是普通用户的工作目录
 5 root@ubuntu:/home/gboy# exit
 6 exit
 7 gboy@ubuntu:~$ su -
 8 Password: 
 9 root@ubuntu:~# pwd    
10 /root          <==工作目录切换到了root工作目录

*从范例中可知,su -命令更改到了root用户的环境,而su命令并没有,因此切换身份时一般使用su -(或者su -l)命令

  

  范例1可以让用户变成root身份操作系统,想要离开root身份需要运行exit命令。但有时候我们只需要执行一条需要root身份才能进行的命令,并且执行完成后恢复原本身份,这时可以利用-c这个参数。

范例2,普通用户gboy执行“head -n 3 /etc/shadow”命令

1 gboy@ubuntu:~$ head -n 3 /etc/shadow
2 head: cannot open `/etc/shadow' for reading: Permission denied   <==权限不够
3 gboy@ubuntu:~$ su - -c "head -n 3 /etc/shadow"
4 Password:     <== 输入root密码
5 root:$6$N7SZr7xj$HMPjOcfrwfe8RmMORqK.zhsZI/9gqElzCv8/uD9tD0rXYXyIv73F7r6F4uWFZggtEEPvUTAWyOfxab861LSxB/:16635:0:99999:7:::   <==成功运行
6 daemon:*:15259:0:99999:7:::
7 bin:*:15259:0:99999:7:::

 

转载于:https://www.cnblogs.com/webberji/p/4658655.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值