Linux系统su命令的详细⽤法
1.命令作⽤
su的作⽤是变更为其它使⽤者的⾝份,超级⽤户除外,需要键⼊该使⽤者的密码。
2.使⽤⽅式
su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
3.参数说明
-f , –fast:不必读启动⽂件(如 csh.cshrc 等),仅⽤于csh或tcsh两种Shell。
-l , –login:加了这个参数之后,就好像是重新登陆⼀样,⼤部分环境变量(例如HOME、SHELL和USER等)都是以该使⽤者(USER)为主,并
且⼯作⽬录也会改变。如果没有指定USER,缺省情况是root。
-m, -p ,–preserve-environment:执⾏su时不改变环境变数。
-c command:变更账号为USER的使⽤者,并执⾏指令(command)后再变回原来使⽤者。
–help 显⽰说明⽂件
linux用户系统相关命令–version 显⽰版本资讯
USER:欲变更的使⽤者账号,
ARG:  传⼊新的Shell参数。
4.例⼦
su -c ls root 变更帐号为 root 并在执⾏ ls 指令后退出变回原使⽤者。
su [⽤户名]
a>在root⽤户下, 输⼊ su 普通⽤户. 则切换⾄普通⽤户, 从root切换到变通⽤户不需要密码
b>在普通⽤户下, 输⼊ su [⽤户名]
提⽰ password:
输⼊⽤户的PASSWORD, 则切换⾄该⽤户
扩展阅读⼀:下 su命令与su - 命令有什么区别?
su 是切换到其他⽤户,但是不切换环境变量(⽐如说那些export命令查看⼀下,就知道两个命令的区别了)
su - 是完整的切换到⼀个⽤户环境
所以建议⼤家切换⽤户的时候,尽量使⽤ su -  linuxso 这样否则可能发现某些命令执⾏不了
扩展阅读⼆:su和sudo的区别
由于su 对切换到超级权限⽤户root后,权限的⽆限制性,所以su并不能担任多个管理员所管理的系统。如果⽤su 来切换到超级⽤户来管理系统,也不能明确哪些⼯作是由哪个管理员进⾏的操作。特别是对于服务器的管理有多⼈参与管理时,最好是针对每个管理员的技术特长和管理范围,并且有针对性的下放给权限,并且约定其使⽤哪些⼯具来完成与其相关的⼯作,这时我们就有必要⽤到 sudo。
通过sudo,我们能把某些超级权限有针对性的下放,并且不需要普通⽤户知道root密码,所以sudo 相对于权限⽆限制性的su来说,还是⽐较安全的,所以sudo 也能被称为受限制的su ;另外sudo 是需要授权许可的,所以也被称为授权许可的su;
sudo 执⾏命令的流程是当前⽤户切换到root(或其它指定切换到的⽤户),然后以root(或其它指定的切换到的⽤户)⾝份执⾏命令,执⾏完成后,直接退回到当前⽤户;⽽这些的前提是要通过sudo的配置⽂件/etc/sudoers来进⾏授权;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。