su与sudo

来源:互联网 发布:木疙瘩软件好用吗 编辑:程序博客网 时间:2024/06/06 00:17
su:切换用户

su 在不加任何参数,默认为切换到root用户,但没有转到root用户家目录下,也就是说这时虽然是切换为root用户了,但并没有改变root登录环境;

su 加参数 - ,表示默认切换到root用户,并且改变到root用户的环境;

su -



sudo :授权许可使用的su,也是受限制的su

sudo 执行命令的流程是当前用户切换到root(或其它指定切换到的用户),然后以root(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户;而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权;

sudo 需要使用的命令


eg:

一个普通用户zhang想要使用passwd 命令设置另一个用户zhang1的密码,提示Only root can specify a user name.此时先使用root修改/etc/sudoers文件

vi /etc/sudoers

添加上zhang ALL=/usr/sbin/passwd,保存,再用zhang用户登录后使用sudo 进行密码设置。

sudo passwd zhang1

需要注意:root修改文件之前需要更改文件权限chmod 660 sudoers修改完后再将权限修改回来,才可正常进行以上操作。


其它:chmod 0660 文件时,第一位0,没有设置setuid、setgid、sticky,参照下面;如果都设置,第一位为7。一般不会使用

setuid位, 如果该位为1, 则表示设置setuid 4xxx
setgid位, 如果该位为1, 则表示设置setgid  2xxx
sticky位, 如果该位为1, 则表示设置sticky   1xxx

chmod u+s temp -- 为temp文件加上setuid标志. (setuid 只对文件有效)
chmod g+s tempdir -- 为tempdir目录加上setgid标志 (setgid 只对目录有效)
chmod o+t temp -- 为temp文件加上sticky标志 (sticky只对文件有效)

setuid: 设置使文件在执行阶段具有文件所有者的权限. 典型的文件是 /usr/bin/passwd. 如果一般用户执行该文件, 则在执行过程中, 该文件可以获得root权限, 从而可以更改用户的密码.
setgid: 该权限只对目录有效. 目录被设置该位后, 任何用户在此目录下创建的文件都具有和该目录所属的组相同的组.
sticky bit: 该位可以理解为防删除位. 一个文件是否可以被某用户删除, 主要取决于该文件所属的组是否对该用户具有写权限. 如果没有写权限, 则这个目录下的所有文件都不能被删除, 同时也不能添加新的文件. 如果希望用户能够添加文件但同时不能删除文件, 则可以对文件使用sticky bit位. 设置该位后, 就算用户对目录具有写权限, 也不能删除该文件.


0 0
原创粉丝点击