7月24日 上课 文件权限

1、 文件权限

  • 更改文件的权限
[root@centos6 app]#touch f1
[root@centos6 app]#ll
total 0
-rw-r--r--. 1 root root 0 Jul 24 19:12 f1
[root@centos6 app]#chmod u=rw,g=r,o= f1 ---更改f1文件的权限为所有者rw,所属组为r,其他人什么权限都没有
[root@centos6 app]#ll
total 0
-rw-r-----. 1 root root 0 Jul 24 19:12 f1
[root@centos6 app]#chmod 755 f1 ---数字法更改文件的权限
[root@centos6 app]#ll
total 0
-rwxr-xr-x. 1 root root 0 Jul 24 19:12 f1
  • 参考某个文件的属性设置文件的权限
[root@centos6 app]#ll
total 0
-rwxr-xr-x. 1 root root 0 Jul 24 19:12 f1
[root@centos6 app]#chmod --reference=/etc/shadow f1 ---参考/etc/passwd 文件的属性设置f1文件的属性
[root@centos6 app]#ll
total 0
-r--------. 1 root root 0 Jul 24 19:12 f1
  • X对目录增加执行权限,对原来没有执行权限的文件不增加执行权限
[root@centos6 app]#ll
total 4
drw-r--r--. 4 root root 4096 Jul 24 19:25 dir
[root@centos6 app]#cd dir/
[root@centos6 dir]#ll
total 8
drw-r--r--. 2 root root 4096 Jul 24 19:25 dir1 ---无执行权限
drw-r--r--. 2 root root 4096 Jul 24 19:25 dir2 ---无执行权限
-rwxr--r--. 1 root root    0 Jul 24 19:25 f1  --- 所有者有执行权限
-rw-r--r--. 1 root root    0 Jul 24 19:25 f2 --- 无执行权限
[root@centos6 dir]#cd ..
[root@centos6 app]#chmod -R a+X dir --对dir这个目录增加X执行权限
[root@centos6 app]#ll
total 4
drwxr-xr-x. 4 root root 4096 Jul 24 19:25 dir
[root@centos6 app]#cd dir
[root@centos6 dir]#ll
total 8
drwxr-xr-x. 2 root root 4096 Jul 24 19:25 dir1
drwxr-xr-x. 2 root root 4096 Jul 24 19:25 dir2
-rwxr-xr-x. 1 root root    0 Jul 24 19:25 f1
-rw-r--r--. 1 root root    0 Jul 24 19:25 f2

总结:对目录增加X权限,则目录内的所有子目录会增加执行权限,目录内的文件不会增加执行权限,除非文件原来就有执行权限。

2、文件的默认权限

对于文件=666-umask 根据结果,偶数不变,奇数加1
对于目录=777-umask

  • 设置默认权限
[root@centos6 app]#umask 0042 ---设置umask值为偶数
[root@centos6 app]#touch fb
[root@centos6 app]#ll
total 4
drwxr-xr-x. 4 root root 4096 Jul 24 19:25 dir
-rw-r--r--. 1 root root    0 Jul 24 19:39 fa
-rw--w-r--. 1 root root    0 Jul 24 19:40 fb   ---权限为666-042=624
[root@centos6 app]#umask 0135---umask设置为奇数
[root@centos6 app]#touch fc
[root@centos6 app]#ll
total 4
drwxr-xr-x. 4 root root 4096 Jul 24 19:25 dir
-rw-r--r--. 1 root root    0 Jul 24 19:39 fa
-rw--w-r--. 1 root root    0 Jul 24 19:40 fb
-rw-r---w-. 1 root root    0 Jul 24 19:41 fc ---权限为666-135=531 加1为642
[root@centos6 app]#mkdir dir4
[root@centos6 app]#ll
total 8
drwxr-xr-x. 4 root root 4096 Jul 24 19:25 dir
drw-r---w-. 2 root root 4096 Jul 24 19:42 dir4 ---权限为777-135=642
-rw-r--r--. 1 root root    0 Jul 24 19:39 fa
-rw--w-r--. 1 root root    0 Jul 24 19:40 fb
-rw-r---w-. 1 root root    0 Jul 24 19:41 fc
  • umask直接设定默认权限
[root@centos6 app]#umask u=rw,g=r,o= 
[root@centos6 app]#touch f3
[root@centos6 app]#ll
total 8
drwxr-xr-x. 4 root root 4096 Jul 24 19:25 dir
drw-r---w-. 2 root root 4096 Jul 24 19:42 dir4
-rw-r-----. 1 root root    0 Jul 24 19:56 f3
-rw-r--r--. 1 root root    0 Jul 24 19:39 fa
-rw--w-r--. 1 root root    0 Jul 24 19:40 fb
-rw-r---w-. 1 root root    0 Jul 24 19:41 fc
  • umask输出可使用
[root@centos6 app]#umask -p
umask 0022
[root@centos6 app]#umask -p >> .bashrc或者/etc/bashrc

3、特殊权限

  • suid权限
    只能作用于可执行的二进制程序上,继承该程序所有者的权限
[root@centos6 app]#ll
total 0
-rw-r-----. 1 harry admins 0 Jul 24 20:03 f1
[root@centos6 app]#su - zhang
[zhang@centos6 ~]$id zhang
uid=500(zhang) gid=500(zhang) groups=500(zhang),0(root)
[zhang@centos6 ~]$cat /app/f1  ---对于zhang用户来说属于其他人,对f1文件没有任何权限
cat: /app/f1: Permission denied
[zhang@centos6 ~]$exit
logout
[root@centos6 app]#chmod u+s /bin/cat  
[root@centos6 app]#ll /bin/cat
-rwsr-xr-x. 1 root root 48568 Mar 23 02:52 /bin/cat  ---对cat这个程序增加一个suid权限
[root@centos6 app]#su zhang
[root@centos6 app]#echo aaddcc >f1
[root@centos6 app]#su zhang
[zhang@centos6 app]$cat f1 ---继承cat这个程序所有者即root的身份,root对f1文件具有读写权限
aaddcc
  • sgid权限
    ①作用于可执行的二进制程序上,继承该程序所属组的身份
    ②作用于目录上,目录内新建文件的所属组自动继承目录的所属组
[zhang@centos6 app]$ll 
total 4
-rw-r-----. 1 harry admins 7 Jul 24 20:16 f1 ---f1文件属于admins组
[root@centos6 app]#chmod g+s /bin/cat  ---加上sgid权限后继承该程序所属组的身份
[root@centos6 app]#ll /bin/cat
-rwxr-sr-x. 1 root admins 48568 Mar 23 02:52 /bin/cat ---cat程序属于admins组
[root@centos6 app]#su zhang
[zhang@centos6 app]$cat f1
aaddcc
[root@centos6 app]#ll
total 4
drwxr-xr-x. 2 root zhang 4096 Jul 24 20:32 dir1
[root@centos6 app]#chmod g+s dir1/ ---增加sgid权限
[root@centos6 app]#ll
total 4
drwxr-sr-x. 2 root zhang 4096 Jul 24 20:32 dir1
[root@centos6 app]#cd dir1/
[root@centos6 dir1]#touch f{1,2}
[root@centos6 dir1]#ll
total 0
-rw-r--r--. 1 root zhang 0 Jul 24 20:33 f1 ---目录内新建文件的所属组自动继承目录的所属组
-rw-r--r--. 1 root zhang 0 Jul 24 20:33 f2
  • sticky权限
    作用于目录上,目录内的文件只有目录的所有者和root可以删除其中的文件
[root@centos6 app]#chmod o+t dir1/  ---设置sticky权限
[root@centos6 app]#ll
total 4
drwxr-xrwt. 2 zhang zhang 4096 Jul 24 20:46 dir1
[root@centos6 app]#cd dir1/
[root@centos6 dir1]#ll
total 0
-rw-r--r--. 1 zhang zhang 0 Jul 24 20:33 f2
-rw-r--r--. 1 zhang root  0 Jul 24 20:46 f3
[root@centos6 dir1]#su zhang
[zhang@centos6 dir1]$rm -f f2 ---zhang属于目录的所属组,可以删f2文件
[zhang@centos6 dir1]$ll
total 0
-rw-r--r--. 1 zhang root 0 Jul 24 20:46 f3
[zhang@centos6 dir1]$exit
exit
[root@centos6 dir1]#su harry
[harry@centos6 dir1]$rm -f f3 ---harry不属于目录的所属组,不能删除f3文件
rm: cannot remove `f3': Operation not permitted

4、设置特定属性

-chattr命令

[root@centos6 app]#chattr +i f1
[root@centos6 app]#lsattr f1
----i--------e- f1
[root@centos6 app]#rm -f f1
rm: cannot remove `f1': Operation not permitted
[root@centos6 app]#mv f1 /root
mv: cannot remove `f1': Operation not permitted
[root@centos6 app]#echo "abc" >f1
bash: f1: Permission denied

总结:加上chattr+i后,即使root身份也不能对文件进行删除,修改,重命名,可以避免误操作。

[root@centos6 app]#chattr +a f1
[root@centos6 app]#lsattr
-----a-------e- ./f1
[root@centos6 app]#rm -f f1 
rm: cannot remove `f1': Operation not permitted
[root@centos6 app]#mv f1 /root
mv: overwrite `/root/f1'? y
mv: cannot remove `f1': Operation not permitted
[root@centos6 app]#echo aaab>f1
bash: f1: Operation not permitted
[root@centos6 app]#echo aaddx>>f1
[root@centos6 app]#cat f1
ssaadc
aaddx

总结:加上chattr+a后只能追加内容,删除,重命名和修改内容都不可以。

5、ACL访问控制列表

  • 对用户设置ACL权限
[root@centos6 app]#ll
total 0
-rw-r--r--. 1 root root 0 Jul 24 21:09 f1 ---张用户只是其他人,没有写权限
[root@centos6 app]#setfacl -m u:zhang:rw f1 ---设置ACL 权限
[root@centos6 app]#su zhang
[zhang@centos6 app]$echo aaab>f1  ---可以写了
[zhang@centos6 app]$cat f1
aaab
[zhang@centos6 app]$exit
exit
[root@centos6 app]#getfacl f1  ---查看ACL权限
# file: f1
# owner: root
# group: root
user::rw-
user:zhang:rw-   ---zhang用户有rw权限
group::r--
mask::rw-
other::r--
[root@centos6 app]#setfacl -x u:zhang f1  ---删除ACL权限
[root@centos6 app]#getfacl f1
# file: f1
# owner: root
# group: root
user::rw-
group::r--
mask::r--   ---只删除zhang用户的ACL权限,mask没有删除,删除不彻底
other::r--
[root@centos6 app]#setfacl -b f1  ---情况ACL 权限,mask也删除
[root@centos6 app]#getfacl f1
# file: f1
# owner: root
# group: root
user::rw-
group::r--
other::r--
  • 对组设置ACL权限
[root@centos6 app]#ll
total 4
-rw-r--r--. 1 root root 5 Jul 24 21:12 f1
[root@centos6 app]#id harry ---harry属于admins组
uid=517(harry) gid=504(harry) groups=504(harry),515(admins)
[root@centos6 app]#setfacl -m g:admins:rw f1 ---对admins组设置ACL权限为rw
[root@centos6 app]#getfacl f1
# file: f1
# owner: root
# group: root
user::rw-
user:zhang:---
group::r--
group:admins:rw-  ---设置成功
mask::rw-
other::r--
[root@centos6 app]#su harry  
[harry@centos6 app]$echo 3344 >> f1  ---可以写内容
[harry@centos6 app]$cat f1
aaab
3344
  • 设置mask权限-限高线
[root@centos6 app]#ll 
total 8
-rw-rwxr--+ 1 root root 10 Jul 24 21:22 f1 ---所属组的权限为rwx
[root@centos6 app]#setfacl -m mask::r f1 ---设置mask权限
[root@centos6 app]#getfacl f1
# file: f1
# owner: root
# group: root
user::rw-
user:zhang:---
user:harry:rwx          #effective:r--
group::r--
group:admins:rw-        #effective:r--
mask::r--
other::r--
[root@centos6 app]#ll
total 8
-rw-r--r--+ 1 root root 10 Jul 24 21:22 f1 ---设置mask后所属组的权限为mask的权限

总结:mask影响的范围是除了所有者和其他人之外的人。
mask是个限高线,在这个范围内的人不允许超过这个线,设置mask后所属组的权限就是mask的权限。
设置完mask后不要在更改ACL 权限,否则mask值会改变。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,233评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,013评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,030评论 0 241
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,827评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,221评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,542评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,814评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,513评论 0 198
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,225评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,497评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,998评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,342评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,986评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,812评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,560评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,461评论 2 266

推荐阅读更多精彩内容