欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

LINUX 文件/夹权限管理入门

程序员文章站 2022-07-15 09:59:12
...

1、权限读取

ls -ld/-Rl file/mdir #读取文件/文件夹权限
LINUX 文件/夹权限管理入门

      -  |  rw-r--r-- | .      |1                     |westos|root  |  0    |Oct 17 02:28  |1
  文件类型| 用户权限    |selinux | 硬连接(文件夹下个数)|拥有者 |拥有组|属性大小|更改时间       |名称

[aaa@qq.com_student18 ~]# watch -n 1 “ls -RL /mnt/” ##监控命令
LINUX 文件/夹权限管理入门

chown westos 1 ##更改文件拥有者
LINUX 文件/夹权限管理入门

chgrp westos 2 ##更改文件拥有组
LINUX 文件/夹权限管理入门

chown westos:westos 3 ##同时更改文件拥有者和拥有组
LINUX 文件/夹权限管理入门

chown -R westos le ##更改目录本身及目录中内容的拥有者
LINUX 文件/夹权限管理入门

chgrp -R westos le ##更改目录本身及目录中内容的拥有组
LINUX 文件/夹权限管理入门

2、普通文件/夹权限管理

LINUX 文件/夹权限管理入门

chmod --reference=2 1 ##复制文件2的权限给1jian
LINUX 文件/夹权限管理入门

chmod -R --reference=2 /mnt/le ##复制文件2的权限给逐级文件夹le

chmod g+w 2 ##更改文件2组权限写(可以任意组合)
u用户 g组 o其他用户
r读 w写 x执行
LINUX 文件/夹权限管理入门

chomd 640 2 ##一次性更改用户、组、其他的全部权限
r=4 w=2 x=1 加起来,三个数字组合

LINUX 文件/夹权限管理入门

3、系统默认权限设置

umask #查看保留权力
umask 权限值 ##临时设定系统预留权力

文件默认权限=777-umask-111
目录默认权限=777-umask

(1)临时更改
umask 077

(2)永久更改(两个配置文件都要改)
vim /etc/bashrc ##shell系统配置文件

if [ $UID -gt 199 ] && [ “/usr/bin/id -gn” = “/usr/bin/id -un” ]; then
umask 002 ##普通用户的umask
else
umask 022 ##root用户的umask
fi

vim /etc/profile ##系统环境配置文件

if [ $UID -gt 199 ] && [ “/usr/bin/id -gn” = “/usr/bin/id -un” ]; then
umask 002 ##普通用户的umask
else
umask 022 ##root用户的umask
fi

4、特殊权限

chmod o+t 文件夹名 / chmod 1777 文件夹名
##公共目录下特殊权限(可以删除自己的文件,但是删除不了别人的文件)

chmod g+s 文件夹名 / chomd 2原文件权限 文件夹名
##目录中新建的文件自动归属到文件夹的组(文件的话不管谁执行都会用原文件组的身份权限执行)

chmod u+s 可执行文件 / chomd 4原文件权限 可执行文件
##用原可执行文件所属身份权限执行可执行文件

5、acl权限列表

getfacl /mnt/ ##查看文件夹/mnt/的权限列表
LINUX 文件/夹权限管理入门

setfacl -m u:westos:0 /mnt/
##更改文件夹/mnt/的权限列表,使得用户westos无读写执行权限

setfacl -m g:westos:0 /mnt/
-Rm (文件夹里逐级所有都加列表)
##更改文件夹/mnt/的权限列表,使得组westos无读写执行权限

setfacl -x u:westos /mnt/
##更改文件夹/mnt/的权限列表,取消用户westos无读写执行权限的限制

setfacl -x g:westos /mnt/
##更改文件夹/mnt/的权限列表,取消组westos无读写执行权限的限制

setfacl -b /mnt/ ##关闭文件权限列表

权限优先级
拥有者>acl用户>权限多的组>权限少的组>其他

用acl列表改过文件权限后,就要用acl列表改,之后用chmod改权限都会造成mask值改变
mask(能够赋予acl用户权限的最大值)
恢复:setfacl -m m:权限 文件

列表的默认权限(多了个d)
setfacl -m d:u:westos:0 /mnt/ ##命令对文件夹及子集不生效,只对命令之后新产生的子集生效

6、attr权限 ##限制所有用户(包括root)

i ##不能做任何的更改
a ##能添加不能删除

lsattr dir/file ##查看attr权限
chattr +i|+a|-i|-a dir/file ##设定attr权限