linux——文件权限的更改与管理

一、文件属性查看

ls -l filename

- rw-rw-r-- 1 tutu tutu 0 Apr 6 23:43 file

  • 文件类型

    • - #普通文件
    • d #目录
    • s #socket套接字
    • l #软链接 #快捷方式
    • p #管道
    • c #字符设备
    • b #块设备 #用sdb文件管理U盘
  • 读写权限

    • rw-|rw-|r--  ##优先于用户匹配,优先于组匹配,优先于其他匹配
      • rw- #第一个rw- #文件拥有者对文件能做的动作
      • rw- #第二个rw- #文件所在组的组成员能对文件做的动作
      • r-- #其他人对于文件能做的动作
  • 3.文件内容被记录的次数
  • 4.文件拥有者
  • 5.文件所在组
  • 6.文件大小
  • 7.文件最后一次被更改的时间
  • 8.文件名称

二、目录属性查看

ls -ld directory

d rwxrwxr-x 2 tutu tutu 6 Apr 6 23:43 directory/

  • 1.类型(与文件相同)
  • 2.权限
  • 3.子目录个数
  • 4.目录拥有者
  • 5.目录所在组
  • 6.目录中内容的属性的大小
  • 7.目录中文件增加或减少或被更名的时间
  • 8.目录名称

三、文件用户组的更改  ##超级用户可用

chown 用户名称 文件 ##更改文件所有人

chgrp 组名称 文件 ##更改文件所有组

chown -R 用户 目录 ##更改目录本身以及目录中的子文件的所有人

chgrp -R 组名称 目录 ##更改目录本身以及目录中的子文件的所有组

chown student:tutu /mnt/filename

 

watch -n 1 ls -lR /mnt/ ##进入监控模式

四、权限的识别

ls -l 中2--10字符为文件权限

rwx ##用户权限(u)

r-x ##(第一个)组成员权限(g)

r-x ##(第二个)其他用户权限(o)

权限种类

  • 1.r权限  读取

针对文件时,表示可以查看文件内容

针对目录时,表示可以ls查看目录中存在的文件名称

  • 2.w权限  更改

针对文件时,表示可以更改文件的内容

针对目录时,表示是否可以删除目录中的子文件或者新建子目录

  • 3.x权限 

针对文件时,表示是否可以开启文件当中记录的程序

针对目录时,表示是否可以进入目录中

  • 4.改权限

chmod ugo+-=rwx

r——4,w——2,x——1

u=rwx=7,u=rw-=6

g=rwx=7,g=r--=4

o=rwx=7,o=r--=4

777,644

7=rwx, 6=rw-, 5=r-x, 4=r--

3=-wx, 2=-w-, 1=--x, 0=---

五、文件的默认权限

  • 1.临时修改

umask ##显示系统预留权限值,最大权限值

umask 077 ##临时修改umask的值

  • 2.永久修改

vim /etc/bashrc #第71行是普通用户的更改,第73行是超级用户的更改

vim /etc/profile #第60行是普通用户的更改,第62行是超级用户的更改

source /etc/bashrc ##刷新bash配置

source /etc/profile ##刷新系统配置

六、特殊权限

  • 1.stickyid ##强制位

chmod o+t directory

chmod 1777 directory

o+t #t=1,该权限只针对目录,当一个目录被赋予t权限时,这个目录的文件只能被文件拥有者删除

#对于文件,目前权限列表可以显示,但无意义

  • 2.sgid ##粘贴位

chmod g+s filename|directory  **只针对二进制可执行文件(BuildTD)

chmod 2777 filename|directory

g+s

#针对二进制文件时,文件中记录的程序在执行时和执行者的组身份没有关系,而是以二进制文件的所有组的身份执行的

#针对目录时,在目录中创建的文件都自动归属到目录所在组

**注意:默认情况下,用户建立的文件是自己的id和组

  •  3.suid ##冒险位

chmod u+s filename

chmod 4777 file

u+s #只针对文件,文件记录动作在执行时是该文件所有人身份执行的,与发起者无关

#对于目录,目前权限列表可以显示,但无意义

七、权限列表

acl ##指定特定的用户对特定的文件的特殊权利

-rw-rwx---+ 2 root root 0 Apr 6 23:23 file ##“+”代表权限列表开启,该文件的普通权限也可以在权限列表中被识别,ls -l 看到的权限是错误的

  • 1.权限设定

setfacl -m u:tutu:rwx /mnt/filename #设定用户tutu可以对filename文件执行读写操作

setfacl -m g:westos:rwx /mnt/filename #设定westos组可以对文件执行读写操作

setfacl -x u:tutu /mnt/filename #删除用户在权限列表中的信息

setfacl -x g:westos /mnt/filename #删除westos组在权限列表中的信息

setfacl -b /mnt/filename #“+”消失,权限列表关闭

  • 2.权限查看

getfacl /mnt/filename

内容如下:

file: mnt/file #文件名称

owner: root #文件的拥有者

group: root #文件所在组

user::rw- #文件拥有者的权限

user:tutu:rw- #特殊指定用户的权限

group::--- #文件组的权限

group:student:rwx #特殊指定组的权限

mask::rwx #权限最大值

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

  • 3.mask值

mask值是指能够赋予用户权限的最大值

当设定acl权限列表后,若用chmod命令缩小文件的权限,则mask值会有所更改

 chmod 740 /mnt/file #做这样的动作,mask值会发生改变

更改前

更改后

 

注:表示有效权力 #effective:r--

恢复

setfacl -m m:rwx /mnt/file #用此命令可恢复mask值

  • 4.acl列表的默认权限

#该权限针对于目录生效

#默认的acl权限只被新建的文件和目录所继承,已经建立好的,没有这个功能

setfacl -m d:u:butterfly:rwx 目录

#递归的acl权限只会赋予acl权限给以前创建好的文件和目录,后来新建的便没有这个功能

setfacl -Rm u:butterfly:rwx 目录

setfacl -m d:u:butterfly:rwx /mnt/tutu ##设定在tutu目录中

#新建用户对butterfly用户有rwx权限

#对已经存在的文件和目录无效

#对目录本身无效

八、练习实例:

  • 1.新建用户组,shengchan,caiwu,jishu
  • 2.新建用户要求如下:
    • tom 是shengchan组的附加用户
    • harry 是caiwu组的附加用户
    • leo 是jishu组的附加用户
    • 新建admin用户,此用户不属于以上提到的三个部门
  • 3.新建目录要求如下:
    • /pub目录为公共存储目录对所有用户可以读,写,执行,但用户只能删除属于自己的文件
    • /sc 目录为生产部存储目录只能对生产部人员可以写入,并且生产部人员所建立的文件都自动归属到shengchan组
    • /cw 目录为财务部存储目录只能对财务部人员可以写入,并且财务部人员所建立的文件都自动归属到caiwu组
    • admin用户对于/sc和/cw目录可以读写执行
[root@localhost mnt]# groupadd shengchan
[root@localhost mnt]# groupadd caiwu
[root@localhost mnt]# groupadd jishu
[root@localhost mnt]# useradd -G shengchan tom
[root@localhost mnt]# useradd -G caiwu harry
[root@localhost mnt]# useradd -G jishu leo
[root@localhost mnt]# useradd admin
[root@localhost mnt]# mkdir /pub /cw /sc
[root@localhost mnt]# chmod 1777 /pub/
[root@localhost mnt]# chgrp shengchan /sc
[root@localhost mnt]# chmod 2770 /sc
[root@localhost mnt]# chgrp caiwu /cw
[root@localhost mnt]# chmod 2770 /cw
[root@localhost mnt]# setfacl -m u:admin:rwx /sc
[root@localhost mnt]# setfacl -m u:admin:rwx /cw
[root@localhost mnt]# setfacl -m d:u:admin:rwx /sc
[root@localhost mnt]# setfacl -m d:u:admin:rwx /cw

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值