Linux之粘着位和sudo

1:在列文件或目录时,有时会遇到“ t”位。“t”代表了粘性位。如果在一个目录上出现

“t”位,这就意味着该目录中的文件只有其属主才可以删除,即使某个同组用户具有和属主

同等的权限。不过有的系统在这一规则上并不十分严格。


2:如果在文件列表时看到“ t”,那么这就意味着该脚本或程序在执行时会被放在交换区(虚

存)。不过由于当今的内存价格如此之低,大可不必理会文件的“ t”的使用。

s u i d意味着如果某个用户对属于自己的s h e l l脚本设置了这种权限,那么其他用户在执行这

一脚本时也会具有其属主的相应权限。于是,如果根用户的某一个脚本设置了这样的权限,

那么其他普通用户在执行它的期间也同样具有根用户的权限。同样的原则也适用于g u i d,执

行相应脚本的用户将具有该文件所属用户组中用户的权限。

3:做一道题

因为如果人人都可以su - root

这也的话,每个人都可以猜密码了

所以我们的题目就是给几个人有这个su -的权限,其他的均不给

我现在这样

which su

得到su命令的位置:/bin/su

然后chmod 4550 /bin/su让其他人没有权限

然后我们创建一个组

groupadd zhangyuezu

chgrp zhangyuezu /bin/su给zhangyuezu这个权限

然后往zhangyuezu里添加组员

添加的组员就有su -这个功能了

gpasswd -a lixiyuan zhangyuezu

gpasswd -a songdongqin zhangyuezu


这样了以后zhangyuezu的人才可以用su这个命令

4:给普通用户授权

    这也是Linux非常重要的一个应用 

配置文件:/etc/sudoers

编辑配置文件命令visudo

格式:用户名(%组名) 主机地址=命令路径(绝对路径)

比如我给普通用户lixiyuan添加可以添加用户的权利

我visudo

lixiyuan 192.168.208.128=/usr/sbin/useradd,/usr/sbin/userdel

保存退出

然后我们切换到

lixiyuan用户

sudo -l 可以看到本用户被sudo的所有命令。

然后我尝试添加用户

那么我们得这样写

sudo /usr/sbin/useradd zhaoxincheng

然后系统会提示我们输入密码

这是时候我们输入的是lixiyuan这个用户的密码.

5:sudo这个命令好多书上的概念可能不对,sudo命令是让用户可以以管理员的身份执行被sudo的这个命令,举个例子

比如vi这个命令,普通用户也有的,但是如果我们把管理员的vi  sudo给普通用户,那么就很危险了,普通用户可以编辑任意的文档了(以管理员的身份运行)。

我们可以sudo任何命令,不是只是管理员的命令。


6:如何把sudo真真正正的运用到我们的工作当中,举个例子,我们想让某个用户来管理Apache

我们先想,要让这个用户管理Apache,得让他能干什么?

1:编辑Apache的配置文件

2:运行Apache的启动脚本(我们好多脚本文件的启动默认是保存在/etc/rc.d/init.d/目录下的)

3:能更新网页

解决第一个问题:实现的方法有三个:1使用户为文件的所有者chown

                              2改变所属组,把用户加入组,给组+w

                                3:visudo

                                 yonghu ip=/bin/vi /etc/httpd/conf/httpd.conf

解决第二个问题:实现的办法:

visudo

yonghu ip=/etc/rc.d/init.d/httpd start,/etc/rc.d/init.d/httpd reload,/etc/rc.d/init.d/httpd fullstatus,/etc/rc.d/init.d/httpd configtest

允许用户有以上四个权限

解决第三个问题:

解决办法:我们是把网页放在/var/www/html下的。那么我们只需让用户对这个目录由写权限就可以了

还是用sudo。

我们尽量让我们sudo的权限细化,越细越安全。


你可能感兴趣的:(Linux之粘着位和sudo)