博客统计信息

51cto博客之星
用户名:redking
文章数:388
评论数:2756
访问量:2329201
无忧币:64193
博客积分:11294
博客等级:9
注册日期:2006-07-11

RHCE课程-RH033Linux基础笔记八-文件强制位冒险位、ACL访问控制列表
2008-12-08 15:59:17
版权声明:原创作品,谢绝转载!否则将追究法律责任。
RHCE课程-初级部分8、文件强制位冒险位、ACL访问控制列表
以前我们讲过passwd 和shadow 还有group这三个文件,大家还记得吧?
passwd文件
vim /etc/passwd
image
复习下,大家告诉我,从开始到最后,以冒号分割,代表的意思?
michael:x:500:500:michael:/home/michael:/bin/bash
用户名:密码:UID:GID:用户描述:用户主目录:用户登录Shell
基本就这样了,不知道的自己看下。
shadow文件
vim /etc/shadow
image
用户名:密码:自1970/1/1 起,密码被修改的天数:两次修改口令间隔最少的天数:用户的密码不过期最多的天数:在口令过期之后多少天禁用此用户:用户过期日期(距1970/1/1的天数):保留字段(目前为空备将来Linux发展之用)
下面是一个很强大的命令:usermod
先建立一个用户:useradd redhat 
image
然后在passwd中查看这个用户
image
记得刚才我们说的用户描述吗?就是家目录前面那个,现在我们用 usermod -c  描述内容  redhat ,来改变这个参数,大家把这个参数改成 51cto
usermod -c 51cto redhat
image
我们来看看效果哈~
image
然后就是改变用户主目录的参数,也就是改变家目录,usermod -d 目录 redhat ,这个在FTP服务器中很有用
redhat 本来的家目录在哪?本来在/home/redhat哈~~,然后我们把它转移到 /home ,把home当成他的家目录。
usermod -d /home/ redhat
image
我们来看下生效后的效果哈
image
下面说说设置用户密码过期的时间,这个功能在某些时候挺有用处的,usermod -e 时间 redhat,时间的格式是 20081207 
开始这个用户是没有时间限制的
image
usermod -e 20081207 redhat 
image
看看效果哈
image
下面操作一下,先改成7号过期,然后在改成8号过期,看下时间有什么变化
image
我们发现时间已经加上一天了哈~~
image
我让你们改变过期时间就是想让你们发现时间的单位是天哈,当增加一天的时候,那个数字就会大1,不设置这个就不会过期
下面是-l参数改变用户的登录名字:usermod -l redhat1 redhat
把redhat的登录名字改成redhat1
image
我们发现改名生效了哈~
image
当你把usermod 命令用好了以后,你完全可以把group命令忘记,当你把配置文件学好了以后,基本都可以把这些命令忘记了-_-
还有两个参数很重要,-G和-g 谁告诉我,他们的区别?
-g:改变用户的gid
-G:将用户添加入一个新组
好了,下一个参数-s 改变用户的登陆shell
如果你想把某个用户改成虚拟用户,不让他登陆系统,就可以用这个命令把他的shell改成nologin 
系统支持的shell在/etc/shells这个目录里
image
最后两个比较重要的参数
-L 锁住密码,使帐号不能用
-U 为用户密码截锁
 
大家 把redhat1用户加锁,然后解锁
usermod -L redhat1
image
image
usermod -U redhat1
image
image
shadow文件在加锁和不加锁有什么区别?
在密码那行的第一个字符多了个! 这就是加锁的标志,但是也不排除MD5加密的时候那里也有个!
usermod <参数> <用户名>
usermod命令的用法,相信大家都能总结出来了 
groupadd:添加一个组
groupdel:删除一个已存在组
groupmod –n 新组名 原组名,为一个组更改名字
gpasswd –a 用户名 用户组,将一个用户添加入一个组。
这个几个命令大家看下就行了
who:查询当前在线的用户
image
我说一个命令,大家就运行看看,什么效果,好加深印象
w:查询当前在线用户的详细信息
image
groups:查询用户所属的组
image
id:显示当前用户信息
image
finger:查询用户信息
image
last:列出最近的用户登录
image
lastlog:列出每一个用户的最近登录情况
image
系统默认权限大家都知道了吧
文件的基数为:666
文件夹的基数为:777
chmod和chown 以前讲过的。就先不讲了
下面的内容是冒险位和强制位,网上也有说成粘着位的,具体说法不重要,大家知道是怎么回事就OK了
大家还记得怎么看用户的权限掩码吗?
umask
image 
我们以前教的是后面三位,当时没给大家说最前面那位,今天我们就学最前面那位,强制位与冒险位.
所谓的强制位和冒险位都是最最前面那个0的位置来表示,当前面那个位,2和4权限就叫强制位,1的权限就是冒险位,2代表的是GID,4代表的是uid,1代表的是sticky。这个和以前的不一样大家要区分下哈~~
下面给大家介绍gid,uid,sticky的作用
GID的作用:默认情况下,用户建立的文件属于用户当前所在的组但是设置了GID以后,表示在此目录中,任何人建立的文件,都会属于目录所属的组。注意:GID只能对目录设置
UID的作用:当一个文件设置了UID,那么所有用户执行这个文件的时候,都是以这个用户的所有者的权限来执行。
我们先来做两个实验:
建立一个目录 redhat:mkdir redhat
image
然后我们给他设置GID:chmod 2755 redhat/
image
大家发现文件的权限有什么变化吗?呵呵,那个s就是强制位的标志
我们把权限给他改回来:chmod 0755 redhat/
image
chmod g+s 文件名 用这个命令也可以给他设置GID
chmod g+s redhat/
image
设置GID,s位就应该在文件所属组。
image
chmod 2777 redhat/
image
现在这个目录权限是这样,你们说我换redhat用户进入建立文件,文件的所属者和所属组是谁?
你们自己看哦,我现在进去建立用户了,你们说结果会怎么样?
image
文件的所属者是redhat而所属组是root,这就是强制位2,设置GID的作用,大家都知道GID的作用了吧?这个在文件权限和团队使用文件目录很有用处
好了,下面我们说UID了,此UID非彼UID哈,强制位UID和用户UID大家要分开
你们的普通用户可以重启系统吗?我的反正是不行滴哈~~~
image
好了,我们要用强制位的UID来让普通用户可以重启系统哈
先找到重启系统的可执行文件:which reboot
image
我们给这个文件设置UID :chmod u+s /usr/bin/consolehelper
image
设置成功后这个命令变成了红色,说明是个高风险的命令
现在我们用redhat看能不能重启系统哈
image
实验失败,又被SELINUX设置了。这次只是没有提示必须超级用户才能使用,但是没达到我们的目的。
先把这个权限改回来
image
我们换个命令shutdown -h now
image
普通用户不能执行,没有PATH,我们先给他添加PATH 
shutdown命令的可执行文件在/sbin/shutdown
image
vim .bash_profile
image
添加一个/sbin
image
检查下看看,已经有了哈
image
我们来对/sbin/shutdown设置UID哈:chmod u+s /sbin/shutdown
image
我们现在用redhat帐号来看看效果哈~~~:shutdown -h now
image
redhat可以使用shutdown了哈~~~
image
image
image
这个命令本来就是ROOT才能使用,所以就不会被SELINUX限制,x权限只是能ls 而已,可以进入目录,等下44就知道了,执行也必须要有X,但是要执行还需要满足其他,比如环境变量,这个文件是否可以执行等等哈~
UID和GID大家还有没有问题?
这个命令不是这个用的,只是为了演示哈,关机还是用sudo实现比较好
UID和GID就OK了,下面就是sticky 
这个功能就更强了 ,当你们公司有一个交换目录的时候,大家都要对这个目录有写入权限,这样,别人就可以删除你的文件了,有什么办法不让别人删除你的文件呢?当然sticky可以满足,你们还有其他方法吗?
大家建立一个 test目录,为了方便其他人在这个目录写入东西,我们给777的权限
image
然后进入这个目录,建立一个文件file,你们说,这个file普通用户可以删除吗?权限是644
image
哈,答案是普通用户是可以删除的哈。
image
这样的话改自己的文件的权限是没有用处的,这个时候我们就要用冒险位了,一旦目录上设置了冒险位,则表示在此目录中,只有文件的拥有者、目录的拥有者与系统管理员可以删除文件。这个也是对目录进行设置,我们给目录一个冒险位,仔细看变化哦
image
最后一个X变成了t,现在我们用 redhat去删除里面的文件file看看效果哈~
image
现在就不能删除里面的东西了,但是写入还是允许的。
image
ACL可以对某个文件设置该文件具体的某些用户的权限,意思就是通过ACL可以对一个文件权限做扩展,可以不同的用户对某个文件有不同的权限。
语法
getfacl <文件名>
获取文件的访问控制信息
setfacl设置文件的acl
-m 修改文件的acl
-x  取消对文件的设置
setfacl –m  u:用户名:权限   文件名
setfacl –m  g:组    名:权限   文件名
setfacl –x 用户名 文件名
setfacl –x g:组名 文件名
大家新建一个文件,然后使用getfacl来查看这个文件 :getfacl file
一个文件的标准权限就这这样,没有ACL的情况下
image
现在我们把redhat用户加上一个RWX的权限:setfacl -m u:redhat:rwx file
image
和设置ACL前有哪些区别? 
用ll看,权限后面有个+就可能是设置了文件权限,所以没必要没个文件都用gefacl 去看
在查看acl的内容时候,我们看见多了行,redhat 用户有了rwx的权限 
有兴趣的可以测试. 
然后我们用相似的命令把redhat组也加进去.给他RW的权限:setfacl -m g:redhat:rw file
image
现在我们取消redhat用户的权限:setfacl -x redhat file
image
我们发现user:redhat:rwx这一行已经没有了哈~
现在我们也取消redhat组的权限:setfacl -x g:redhat file
image
现在group:redhat:rw-这一行也没有了哈。
注意,撤消ACL操作:
对用户直接加用户名字就可以了
对组,在前面加g:组名
###########################################################

本文出自 “王乾De技术Blog[爱生活..” 博客,谢绝转载!

分享至
更多
一键收藏,随时查看,分享好友!

文章评论

 <<   1   2   >>   页数 ( 1/2 )  
2008-12-08 17:30:21
笔记记录的很详细,赞一个!
博主回复:
2008-12-08 20:10:44
3Q~~~

2008-12-08 20:56:31
不错,加油...^_^...

2008-12-09 18:16:41
楼主的上课进度好像比较慢,我记得我11月24号开始学RHCE,到今天已经上完了全部课程,剩下的就是考试了,大概在二个星期后吧,我想楼主也考吧!不过楼言写的确实不错,呵呵.
博主回复:
2008-12-09 20:17:14
呃,这位兄弟哈,这次RHCE培训是我们51cto linux版主fenghao.cn进行的哈,一星期有两次课哈,上课进度慢主要是我们冯兄也有其他的事情哈,比如冯兄在搞cisco,上周刚以988分过了CCNA哈,偶只是将每周的课程进行整理并加入了自己的经验和心得哈~~~最后感谢你的支持撒~~~

2008-12-09 18:34:19
redking在哪培训?培训费多少RMB?我也想..
博主回复:
2008-12-09 20:19:12
呃,我好像记得你也上过课哈,教学用QQ群:28104153 群名字:51CTORHCE培训

2008-12-10 09:53:24
太强了,好文章啊。这是网上授课?
博主回复:
2008-12-10 15:07:39
守住兄,你这是灌水哈,连发5个,太NB了哈~~

2008-12-10 15:31:00
不能怪我。这个提交按钮没有设计好。FF用起来很卡。
博主回复:
2008-12-10 15:47:53
呵呵,RHCE课程-RH033Linux基础笔记九-文件系统和TAR的打包压缩介绍 已经完工,第二部分RH131正式进入系统管理阶段了,敬请期待哈~~~

2008-12-10 17:38:44
初来乍道,希望以后多多指教,谢谢!
在你这儿找到了不少信心哦,主要是我很想学,但是不知道该怎么学,现在好像找到一根救生草了,呵呵,以后要多来溜达溜达啊~!
博主回复:
2008-12-10 20:26:54
呵呵,你给我动力了哈~~~

2008-12-11 14:08:55
学习 学习 正在学习linux中

2008-12-11 23:36:00
你的linux水平很棒。我想学。望你多出点这样的技术文档。谢谢。

2008-12-17 17:20:51
很不错。以后天天来这得了。
博主回复:
2008-12-17 20:12:32
感谢支持哈~

2008-12-17 18:14:31
redking兄可是相当勤奋啊,好文章一篇接一篇,赞一个!
博主回复:
2008-12-17 20:11:43
由松兄掌管51ctoblog运营,偶当然要捧捧场撒~~~

2008-12-18 09:26:26
谢谢~(*^__^*)

2008-12-24 13:22:46
系统支持的shell在/etc/shells这个目录里

这个文件中
博主回复:
2008-12-24 17:19:37
嗯~~~~

2009-02-23 14:39:47
好文,收藏之

2009-03-06 20:21:24
呵呵。。论坛没图。。过来这边学习!!
谢谢~
博主回复:
2009-03-06 20:26:27
0^_^0

2009-03-08 15:58:36
博主的笔记

图文并茂 内容翔实 讲解细致 大有台湾技术书刊文章写作风范!

先顶一下!

把这些东西都写出来 然后 截图 排版 实在是很辛苦的一件事!楼主的态度让人倾佩!

再顶一下!
博主回复:
2009-03-09 09:09:23
无图无真相~~~~

2009-03-10 17:08:41
楼主有rhce练习题 能共享一下就好了。

2009-04-23 11:37:56
/etc/shadow
一共有9个字段吧 描述的好像是少了一个

2009-04-24 16:12:28
chmod g+s 目录吧?
不是文件名

2009-05-23 19:40:26
请问一下怎么样在单用户模式下改变字体颜色呢

 <<   1   2   >>   页数 ( 1/2 )  

发表评论            

【技术门诊】专家解析:软考重点难点及应试技巧
昵  称:
登录  快速注册
验证码:

请点击后输入验证码博客过2级,无需填写验证码

内  容: