LINUX 文件/夹权限管理入门
1、权限读取
ls -ld/-Rl file/mdir #读取文件/文件夹权限
- | rw-r--r-- | . |1 |westos|root | 0 |Oct 17 02:28 |1
文件类型| 用户权限 |selinux | 硬连接(文件夹下个数)|拥有者 |拥有组|属性大小|更改时间 |名称
[aaa@qq.com_student18 ~]# watch -n 1 “ls -RL /mnt/” ##监控命令
chown westos 1 ##更改文件拥有者
chgrp westos 2 ##更改文件拥有组
chown westos:westos 3 ##同时更改文件拥有者和拥有组
chown -R westos le ##更改目录本身及目录中内容的拥有者
chgrp -R westos le ##更改目录本身及目录中内容的拥有组
2、普通文件/夹权限管理
chmod --reference=2 1 ##复制文件2的权限给1jian
chmod -R --reference=2 /mnt/le ##复制文件2的权限给逐级文件夹le
chmod g+w 2 ##更改文件2组权限写(可以任意组合)
u用户 g组 o其他用户
r读 w写 x执行
chomd 640 2 ##一次性更改用户、组、其他的全部权限
r=4 w=2 x=1 加起来,三个数字组合
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/的权限列表
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权限
上一篇: C语言——用“*”输出一个菱形
下一篇: 输出函数