五.权限管理

(零).文件的所有者和所属组管理: 

1.查看文件的所有者和所属组组:

准备:#mkdir  /loring   &&  cd  /loring   

   #cp   /etc/passwd    /loring  

#ls   /loring/passwd   

-rw-r--r--. 1 root root 1668 Mar 20 19:32 /loring/passwd

2.修改文件的所有者:chown    -->  change  owner  

 #chown用户名    文件名  

#chown   loring    /loring/passwd修改所有者   

#ls  -l   /loring/passwd验证 

3.修改文件的所属组: chgrp   -->  change  group

#chgrp用户组    文件名  

#chgrp    group1    /loring/passwd修改      

#ls  -l  /loring/passwd验证 

4.使用chown命令,修改文件的所属组: 

#chown   .用户组   文件名   

#chown   :用户组   文件名   

#chown   .group2    /loring/passwd  

#ls   -l  /loring/passwd  

#chown   :group11    /loring/passwd  

#ls  -l  /loring/passwd  

5.同时修改文件的所有者和所属组: 

#chown用户名.组名     文件名  

#chown用户名:组名     文件名  

#chown    tom.group2    /loring/passwd   

#ls  -l   /loring/passwd    

6.文件使用者分类:

三类: 

文件的所有者:owner  -->  u   

文件的所属组:group  -->  g  

文件的其他人:other  -->  o   

代表三类用户:all -->  a      

(一)基本权限

1.基本权限的分类: 

将基本权限分为了三类:r   w   x  

r: 读权限  

w:写权限

x:执行权限  

2.权限的分配: 

基本权限使用ls -l查看出的,前2-10位,一共9个位置:

又将这9个位置分为3段: 

第1段: 给文件的所有者的权限 

第2段: 给文件所属组的权限  

第3段: 给文件其他人的权限  

注意:在每一段中,权限的排列,只能是rwx;每个位置只能出现对应的权限,或者不出现,但不能出现其他权限   

3.修改文件的基本权限:  chmod   -->  change  mode  

基本权限在有些地方,也被描述成ugo权限: u:所有者  g:所属组  o:其他人   

3.1直接修改: =  

#chmod   [ugoa]=权限      文件名    

注意:[]中可以任选一个,或者多个 

3.1.1修改某一类用户的基本权限:

#chmod   u=rwx     /loring/passwd  

代表修改所有者的权限为rwx   

#ls  -l   /loring/passwd验证  

3.1.2同时修改两类用户的权限:两类用户权限一样 

#chmod   ug=w    /loring/passwd   

3.1.3同时修改两类用户的权限: 两类用户的权限不一样 

#chmod   u=rx,g=rwx    /loring/passwd  

所有者的权限改为rx;所属组的权限改为rwx   

3.1.4同时修改所有人的权限:权限是一样的 

#chmod   a=r    /loring/passwd  

三类用户的权限,都会被修改成为只读

3.2加减权限: + -  

3.2.1给某一类用户增加或者减少权限: 

#chmod  u+x     /loring/passwd  

#ls  -l  /loring/passwd  

#chmod  u-rw    /loring/passwd   

#ls  -l    

3.2.2同时给多个人增加、减少权限: 

#chmod  ug+rw     /loring/passwd  

3.2.3同时修改多个人的权限,修改的权限不一致: 

#chmod  u+x,g-rw    /loring/passwd  

3.2.4同时修改所有人的权限:

#chmod    a+x    /loring/passwd   

#chmod    +x     /loring/passwd等同于上一条

注意: 增加权限,不管以前有没有,增加后一定是有的;减少一个权限,不管有没有,减少后一定是没有的 

3.3数值的方式:*****    

例子:  所有者权限位来描述,占3位  r  w  x  

如果权限位出现了权限,用1表示;如果没有出现权限,用0表示

r=4   w=2    x=1    

rw-r--rx     

第1段: 4+2+0=6  

第2段: 4+0+0=4

第3段: 4+0+1=5    

用3个八进制数表示:  645   

#chmod数值   文件名   

#chmod    631   /loring/passwd

rw--wx--x   

#ls   -l    

4.基本权限的作用:

4.1针对于普通文件 

权限的描述:

r:能够查看文件里面的内容,可以cat等命令查看  

w:可以修改和编辑文件中的内容

x:能够运行文件中的代码(内容)

权限的作用:  用户具备了某些权限,能做什么事情

r:能查看文件内容;不能修改;也不能执行 

w:不能查看;只能强制写入,但是会覆盖原文件内容;不能执行

x:毫无意义

rw:可以查看文件内容;可以修改文件内容;不能执行  

rx:可以查看文件内容;不可以修改文件内容;可以执行

wx:跟单独具有w权限一样;不能查看;能强制写入;不能执行

rwx:可以查看;可以修改;可以执行 


实验:  

# chmod  o=r  passwd 

每执行一次修改权限,都切换到普通用户进行验证

第二个终端:用普通用户登录,进行验证  

# chmod  o=w  passwd 

# chmod  o=x  passwd 

# chmod  o=rw  passwd 

# chmod  o=rx  passwd 

# chmod  o=wx  passwd 

# chmod  o=rwx  passwd 

4.2针对于普通目录 

权限的描述:  

r:可以查看目录下有哪些文件,例如ls去查看

w:可以在目录下创建和删除文件

x:能够进入到目录中,cd

权限的作用: 

r:只能查看一级子目录,而且会报错;不能创建或者删除文件;不能进入到目录  

w:毫无意义  

x:不能查看目录下文件;不能创建和删除;能进入,但是进入后也不能查看、创建、删除

注意:如果对子目录有权限,则对子目录的操作不受影响  

rw:只能查看一级子目录,也会报错;不能创建和删除;也不能进入;同单独具有r权限

rx:可以正常查看;不能创建和删除;可以进入目录

wx:不能查看;能创建文件,能删除文件;能进入到目录

注意: 可以删除文件,但是在文件名使用中,不再支持通配符(* ?)  *代表了任意   ?任意单个字符

rwx:可以查看;可以修改和删除;也可以进入目录 



扩展实验: 

1.创建一个目录:  /haha   

2.目录/haha的权限位777   

3.在目录下创建一个文件: hello.txt   

4.设定hello.txt文件的权限为444  

5.用普通用户loring去编辑hello.txt,看是否可以强制保存退出  

5.创建文件和目录的默认权限:

反向掩码:决定了用户创建文件的默认权限

普通文件:666  -  反向掩码 =  默认权限  

注意:默认创建普通文件,绝对不会给文件执行权限

目录:777  -  反向掩码 =  默认权限

查看: 

#umask   

022  

#su  -  loring  

$umask   

002    

修改: 临时修改,只对当前终端有效

#umask反向掩码  

#umask   025   

创建文件: 

#touch   a.txt     

#ll   

-rw-r--r--. 1 root root 0 Mar 24 22:54 a.txt

默认root用户创建文件的权限位644

#su  - loring   

$touch  aa.txt  bb.txt  

$ll    

-rw-rw-r--. 1 loring loring 0 Mar 24 22:56 aa.txt

默认普通用户创建文件的权限位664   

例:  

#umask  025   

666  -  025   = 641   -->  rw-r----x   

#touch  aaaa.txt  

#ls   -l   

rw-r---w-发现权限不是计算出的

注意: 一旦计算出某个用户具有执行权限,会自动进位

创建目录:

#mkdir   abc   bcd  

rwxr-xr-x

#umask  

022   

777   - 022  =  755  -->  rwxr-xr-x   

#su  - loring  

$mkdir  aaa   bbb   

$ll    

rwxrwxr-x      775    

注意: 反向掩码是如果分配,每个用户登录到系统后,都会有个默认的反向掩码  

由/etc/profile文件决定:  

#cat   /etc/profile    

if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then

umask 002

else

umask 022

fi

注释: 一旦用户的uid大于199,而且用户名和主要组的名一样,那么用户的umask就为002;否则用户的umask就为022   

(二)特殊权限:

suid:一旦一个文件具有了该权限,那么在文件执行的时候,会以文件的所有者身份去运行

例:passwd命令,普通用户使用只能修改自己的密码;修改完的密码,要保存在/etc/shadow中 

#ls  -l  /etc/shadow    

----------. 1 root root 1566 Mar 24 22:03 /etc/shadow

#which  passwd查看命令的绝对路径    

/usr/bin/passwd  

#su  -  loring 

$passwd   

别改完  

另打开一个标签:  

#ps  -eo   ruser,euser,comm   |  grep  passwd 

loring    root   passwd    

注释:ruser--> 真实用户  

euser-->有效用户   

comm -->执行的命令 

#chmod  u-s   /usr/bin/passwd  

再使用普通用户修改密码就不可以了  

给文件增加或者减少suid权限: 

增加: 

#chmod  u+s文件名   

减少:  

#chmod  u-s文件名  

注意:suid会占用所有者基本权限位的x位置;

如果所有者具有x权限,那么s就是小写的;

如果所有者没有x权限,那么S就是大写的



实验:  

#echo  hello  loring  > hello.txt      

#chmod   000   hello.txt  

#su  -  loring  

$cat   hello.txt

$which   cat    

/bin/cat   

使用root用户: 

#chmod   u+s    /bin/cat  


$cat   hello.txt   

通常suid都是给命令文件设定的

注意:在某种层次上,suid可以当作临时提权;使用情况不多,以后提权都用sudo

sgid:一旦一个目录具有该权限,那么将来在目录下创建的任何目录和文件,都会继承父母录的所属组

增加 、减少sgid权限:  

增加:

#chmod   g+s目录名   

减少:

#chmod   g-s目录名    

实验:  

#mkdir    /haha     

#chown    .loring   /haha    

#chmod   g+s   /haha   

#ll   -d   /haha   

#su  -  tom   

$touch   /haha/tom.txt   

$ll   /haha/tom.txt   

所属组为loring  

#su  -  jerry   

$mkdir  -p  /haha/a/b/c

$ls  -R -l    /haha   

发现a、b、c的所属组都为loring   

sticky:一旦一个目录具有了该权限,那么将来在目录下创建的任何文件,都只有文件的所有者和root有权限删除

增加 、减少sticky权限:  

增加:

#chmod   o+t目录名   

减少:

#chmod   o-t目录名 

#mkdir   /haha   

#chmod   777   /haha   

#chmod  o+t   /haha    

#su  -  loring    

$touch  /haha/loring.txt   

#su   -  tom  

$rm  -rf  /haha/loring.txt  

发现tom用户,再也没有权限删除loring创建的文件了

#su  - loring  

$rm  -rf   /haha/loring.txt  

(三)acl访问控制 决定用户的身份和基本权限 

查看acl访问控制: 

#getfacl文件名(目录)

#getfacl  /etc/passwd   

# file: passwd文件名   

# owner: root文件的所有者  

# group: root文件的所属组  

user::rw-所有者的权限 

group::r--所属组的权限  

other::r--其他人的权限  

将来任何一个用户,来访问该文件,都要遵循访问控制列表

例如用户tom用户访问该文件,那么tom应该有什么权限??

设定acl访问控制:

#setfacl选项    权限列表    文件名   

#setfacl   -m  u:tom:rwx    /etc/passwd 

删除:  

#setfacl   -x   u:用户名     /etc/passwd 

注意:这是单独删除某个用户的列表  

#setfacl   -x   u:tom     /etc/passwd   

清空acl设定: 

#setfacl  -b文件名   

#setfacl  -b   /etc/passwd    

设定默认acl访问控制: 

#setfacl  -m  d:u:用户名:权限    目录   

#setfacl  -m  d:u:tom:rw      /loring/abc     

注意:会让子目录和文件,继承父目录的acl访问控制列表   

清除默认acl:  

#setfacl -x  d:u:tom   abc   

设定默认acl:  

#setfacl  -d  -m  u::rwx    abc

注意:-m必须放在所有选项最后

清空默认acl:  

#setfacl  -k   abc   

(四)attr系统权限

注意:attr的系统权限,对root用户依然生效

查看attr权限:  

#lsattr文件名   

#lsattr    a.txt  

修改权限:  

#chattr   [+-]权限     文件名   

#man  chattr    

常用选项:a  i    A  

a:只能向文件中追加,不能修改文件属性,也不能删除

i:只能查看,不能追加,不能修改文件属性,也不能删除

A:会锁定文件的访问时间

#chattr   +a   a.txt增加一个a权限   

验证:  

#vim   a.txt发现文件没法写入  

#rm  -rf  a.txt发现也不能删除   

#echo   haha  >  a.txt不能覆盖写入  

#echo   haha   >>  a.txt只能追加写入  

#chattr   +i   a.txt增加一个a权限   

验证:  

#vim   a.txt发现文件没法写入  

#rm  -rf  a.txt发现也不能删除   

#echo   haha  >  a.txt不能覆盖写入  

#echo   haha   >>  a.txt不能追加写入  

#chattr  +A    a.txt  

#cat    a.txt  

#head   a.txt   

发现访问时间,始终没有变化  

#vim  a.txt修改文件内容   

#stat   a.txt发现时间变化  

注意: 通过编辑器,修改了文件中的内容,访问时间依然会变化

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

推荐阅读更多精彩内容