Linux权限管理--su与sudo
young / / / 阅读量

1、su用来切换登录的用户,比如当前用户为chen,可以用su zhu,并输入用户zhu的登录密码,就可以切换到用户zhu。
如果一个普通用户想切换到root用户,以root用户执行某些程序和查看文件,就必须知道root用户的密码。同理,如果切换到其他的用户,也需要知道其他用户帐号密码。
如果一个用户想拥有root权限,可以直接把该用户的id改为0,0是root用户的id。另外可以采用xia面的sudo方法,获取root权限。这种方式不要只知道root密码。

2、sudo,受限的su
如果系统管理员sa不想其它的普通用户知道root密码,而又希望其他用户能够拥有root用户部分权限或者全部权限。这是最好的选择方式是使用sudo。
sudo需要通过/etc/sudoers文件来管理用户权限,或者直接输入visudo来编辑/etc/sudoers 文件,最好使用visudo命令。
sudo运行程序时,输入自己的登录密码即可。
/etc/sudoers权限管理的通用格式为:

user  host  =run_as  command
user:一位或几位用户,在/etc/group中可以用一个{5749fe182deba6f703e69800a8cc3afb9894ad400f350437bd2be724fa41f418}代替它,组对象的名称一定要用百分号{5749fe182deba6f703e69800a8cc3afb9894ad400f350437bd2be724fa41f418}开头。
host:一个或几个主机名;
run_as:作为哪个用户运行,常见选项是root和ALL
command:想让用户或组运行的一个或几个根级别命令。

eg:root    ALL=(ALL) ALL

root表示被授权的用户,这里是根用户;

第一个ALL表示所有计算机;

第二个ALL表示所有用户;

第三个ALL表示所有命令;

全句的意思是:授权根用户在所有计算机上以所有用户的身份运行所有文件。

$sudo su – 可以由一般用户切换到普通用户

eg:{5749fe182deba6f703e69800a8cc3afb9894ad400f350437bd2be724fa41f418}zhang  ALL=(ALL)  NOPASSWD:useradd,userdel

授权zhang组全部成员在所有计算机上以所有用户的身份运行useradd,userdel命令;且运行时不必输入密码。

区分susu rootsu – su – root

su  后面不加用户是默认切到 root

su  是不改变当前变量

su – 是改变为切换到用户的变量

也就是说su只能获得root的执行权限,不能获得环境变量

而su -是切换到root并获得root的环境变量及执行权限

 

 

支付宝捐赠
请使用支付宝扫一扫进行捐赠
微信捐赠
请使用微信扫一扫进行赞赏
有 0 篇文章