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的权限细化,越细越安全。