-
UMASK与ACL
2019-09-18 07:08:59UMASK与ACL 1. 设置默认权限 umask umask 可以定义新建文件和新建文件夹的权限 umask+default=dir777/...非特权用户umask是002 root的umask是022 umask :查看 umask n :设定 示例:umask 002 umask u=rw,...UMASK与ACL
1. 设置默认权限 umask
umask 可以定义新建文件和新建文件夹的权限
umask+default=dir777/file666
022 默认值非特权用户umask是002 root的umask是022 umask :查看 umask n :设定 示例:umask 002 umask u=rw,g=r,o= umask -S 模式方式显示 umask -p 输出可被调用 例:umask -p >> ~adong/.bashrc
2. 文件默认权限
666-umask,如果结果,有奇数,就加1,偶数不变 022 644 666
3. 目录默认权限
777-umask 022 755 777
file 600 666-600=066 dir 777-066=711
4. 将umask写入家目录配置文件
用户设置:~/.bashrc (不影响其他用户) 全局设置:/etc/bashrc (不推荐)
5. umask 本质的含义
umask 125 666 umask中 0表示不关心 不检查 1表示 将对应的权限位去除 110110110 001010101 110100010 642 看到奇数就加一
- (umask 066;touch file) 临时性
6. linux文件系统上的特殊权限
SIUD SGID Sticky
三种常用:r,w,x user,group,other安全上下文
前提:进程有属主和属组 (1)任何一个可执行程序文件能不能启动为进程,取决发起者对程序文件是否拥有执行权限 (2)启动为进程之后,其进程的属主为发起者,进程的属组为发起者的组 (3)进程访问文件是的权限,取决于进程的发起者 (a)进程的发起者,同文件的属主;则应用文件属主权限 (b)进程的发起者,属于文件的属组;则应用文件属组权限 (c)应用文件"其他"权限
SUID 4 作用在所有者上
添加suid权限: chmod u+s file chmod 4755 file 只能作用在二进制的可执行程序文件上,当用户执行此程序时, 将会临时继承此程序所有者的权限
SGID 2 作用在所属组上
添加sgid权限: chmod g+s file chmod 2755 file 1.作用在二进制的可执行程序文件上,当用户执行此程序时,将会临时继承此程序所属组的权限 2.可以作用在目录上,当用户在此目录中创建新文件时,文件的所属组会自动继承目录的所属组
Sticky 1 粘滞位
添加Sticky权限: chmod o+t dir chmod 1755 dir 只能作用在目录上,用户只能删除自己的文件
设定文件特定属性
chattr +i 不能删除,改名,更改 -R 递归 chattr +a 只能追加内容 lsattr 显示特定属性
7. 访问控制列表
ACL:Access Control List,实现灵活的权限管理
除了文件的所有者,所属组和其他人,可以对更多的用户设置权限 Centos7默认创建的xfs和ext4文件系统具有ACL功能 Centos7之前的版本,默认手工创建的ext4文件系统无ACL功能,需手动增加 tune2ft -o acl /del/sdb1 mount -o acl /del/sdb1 /mnt/test ACL生效顺序:所有者,自定义用户,自定义组,其他人 文件权限依赖于文件系统 vfat文件系统不支持文件权限
8. FACL --> 文件系统
getfacl file
- 查看acl权限列表
常用选项: -a, --access 仅显示文件访问控制列表 -d, --default 仅显示默认的访问控制列表 -R, --recursive 递归显示子目录 -t, --tabular 使用制表符分隔的输出格式
setfacl
- 设置facl权限
-m 修改权限 -m u:adong:0 file / g:[组名]:rwx 设置文件ACL权限 modify(修改) -x 删除权限 -b 清空权限 -M 调取文件 -d --default:设定默认的acl规则 递归设置acl文件只能对现有的文件实现 后面新建的文件是没有acl权限的.如果你想后面新建文件也能实现acl权限,就用默认acl权限 -R 递归 -X file.acl dirctory 删除目录下每个文件的权限 示例:setfacl -m d:u:wang:rx directory 默认每个文件都有rx权限 echo u:adong:rw > acl.txt setfacl -M acl.txt f1 getfacl f1
加了acl权限以后所属组的权限已经不是原来所属组的权限,是mask权限
如果一个用户属于多个组,那它将继承多个组的累加权限
mask只影响除所有者和other的之外的人和组的最大权限
Mask需要与用户的权限进行逻辑与运算后,才能变成有限的权限(Effctive Permission)
用户或组的设置必须存在于mask权限设定范围内才会生效setfacl -m mask::rx file --set选项会把原有的ACL项都删除,用新的替代,需要注意的是一定要包含UGO的设置,不能像-m一样只是添加ACL就可以 例: setfacl --set u::rw,u:adong:rw,g::r,o::- file1
为多用户或者组的文件和目录赋予访问权限rwx
mount -o acl/directory getfacl file |directory setfacl -m u:wang:rx file |dirctory setfacl -m g:admins:rw file |dirctory setfacl -x u:wang file |directory setfacl -b file1 清空所有ACL权限 getfacl file1 | setfacl --set-file=- file2 复制file1的acl权限给file2
9. 备份和恢复ACL
主要的文件操作命令cp和mv都支持ACL,只是cp命令需要加上-p参数。但是 tar等常见的备份工具是不会保留目录和文件的ACL信息
getfacl -R /tmp/dir1 > acl.txt setfacl -R -b /tmp/dir1 setfacl -R --set-file=acl.txt /tmp/dir1 setfacl --restore acl.txt setfacl -R /tmp/dir1
10. 练习
- 在/testdir/dir⾥创建的新⽂件⾃动属于g1组,组g2的成员如:alice能对这些新⽂件有读写权限,组g3的成员 如:tom只能对新⽂件有读权限,其它⽤户(不属于g1,g2,g3)不能访问这个⽂件夹。
mkdir /testdir/dir -p groupadd g1 groupadd g2 groupadd g3 useradd -G g2 alice useradd -G g3 tom chgrp g1 /testdir/dir chmod 2770 /testdir/dir setfacl -Rm d:g:g2:rw /testdir/dir/ 设置g2组的默认权限为rw setfacl -Rm g:g2:rwx /testdir/dir/ 设置g2组的权限为rwx setfacl -Rm g:g3:rx /testdir/dir/ 设置g3组的权限为rx
getfacl dir/ # file: dir/ # owner: root # group: g1 组权限 user::rwx group::r-x group:g2:rwx group:g3:r-x mask::rwx other::r-x (默认权限) default:user::rwx default:group::r-x default:group:g2:rw- default:mask::rwx default:other::r-x
- 备份/testdir/dir里所有文件的ACL权限到/root/acl.txt中,清除/testdir/dir中所有ACL权限,最后还原ACL权限
# getfacl -R /testdir/dir/ > /root/acl.txt # setfacl -R -b /testdir/dir # getfacl /testdir/dir # setfacl -R --set-file=/root/acl.txt /testdir/dir
chmod -R 444 / 危险 chown -R adong / 危险
-
umask
2018-12-03 04:53:37更改umask命令:umask 002(更改umask为002) 根据umask判断创建的目录及文件的权限是多少:创建文件权限:666-022=(rw-rw-rw-) - (----w--w-) = 644(rw-r--r--)创建目录权限:777-022(rwxrwxrwx) - (----w--w-) = ...更改umask命令:umask 002(更改umask为002)
根据umask判断创建的目录及文件的权限是多少:
创建文件权限:666-022=(rw-rw-rw-) - (----w--w-) = 644(rw-r--r--)
创建目录权限:777-022(rwxrwxrwx) - (----w--w-) = 755(rwxr-xr-x)
(-)-(x)=(-)
(-)-(w)=(-)转载于:https://blog.51cto.com/14079728/2325086
-
umask 使用
2018-12-18 19:26:27例如,umask值002 所对应的文件和目录创建缺省权限分别为6 6 4(666 减 2)和7 7 5(777 减 2)。 还有另外一种计算umask值的方法。我们只要记住umask是从权限中“拿走”相应的位即可 文件和目录创建缺省权限 ...例如,umask值002 所对应的文件和目录创建缺省权限分别为6 6 4(666 减 2)和7 7 5(777 减 2)。
还有另外一种计算umask值的方法。我们只要记住umask是从权限中“拿走”相应的位即可
文件和目录创建缺省权限 分别为 666 775 (创建的最大权限 这里不知道为什么最大权限是666 775而 不是 777 777)
umask就是拿走的权限 当umask是002时,
则 文件 666 - 002 = 664
目录 775 - 002 = 775
-
Umask issue
2020-12-27 08:38:06t to launch gnome-terminal, then my umask remains at the default value of <code>002</code>. <p>This method of spawning the terminal is the site of the problem: <pre><code> subprocess.Popen(args, cwd... -
linux umask解析
2013-10-12 17:34:29如:002 表示创建文件的权限是664,创建文件夹的权限是775。 还有种直观的显示方法: [richard@localhost ~]$ umask -S u=rwx,g=rwx,o=rx 修改默认umask [richard@localhost ~]$ umask o=rxlinux umask解析
是用户默认权限的补码
如:002
表示创建文件的权限是664,创建文件夹的权限是775。
还有种直观的显示方法:
[richard@localhost ~]$ umask -S u=rwx,g=rwx,o=rx
修改默认umask[richard@localhost ~]$ umask o=rx
-
设置umask
2013-06-24 15:48:00umask 002 例子:umask为003,建立的文件与目录权限是什么? umask为003,所有去掉的属性为-------wx,因此 文件 -rw-rw-r-- 目录 drwxrwxr-- 转载于:... -
关于umask值
2017-11-13 02:04:001,文件及目录的umask 系统默认文件的umask值为:666(rw-rw-rw-),目录的umask值为777(rwxrwxrwx),因为在linux中X权限对文件来说就是可执行,对目录来说就是可以打开,如果用户没有对目录的X权限,是打不开... 002... -
18.3. umask
2017-12-19 14:55:00[root@development ~]# umask 0022 [root@development ~]# umask -S ...umask 002 原文出处:Netkiller 系列 手札 本文作者:陈景峯 转载请与作者联系,同时请务必标明文章原始出处和作者信息及本声明。 ... -
修改umask值
2012-10-25 11:46:05临时修改(只是当前终端有效,下次登录就没有了) umask 000 注:000为权限所表示的八进制数据,如:022, 002 永久修改: 修改/etc/bashrc 文件 行8~行12 ... then umask 002else umask 0... -
umask命令用法
2015-03-13 15:20:11NAME umask — get or set the file mode creation mask SYNOPSIS umask [−S] [mask] EXAMPLES Either of the commands: umask a=rx,ug+w umask 002 sets -
umask 计算方法
2013-06-19 20:50:05计算出你的umask值: 可以有几种计算umask值的方法,通过设置umask值,可以为新创建的文件和目录设置缺省权限。...例如,umask值002 所对应的文件和目录创建缺省权限分别为6 6 4和7 7 5。 还有另外一种计 -
umask setuid setgid
2016-11-16 15:10:00cat /etc/bashrc if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ];#用户UID大于200并且id -gn 用户组名 id -un ... then umask 002 else umask 022 fi 若umask为051 创建普通文件默认权限理论上应... -
chmod与umask区分
2018-12-26 10:00:52chmod命令用于改变文件的目录的访问权限,他是一条非常重的系统命令。用户可以用其控制文件或目录的访问权限。 ...通常文件权限只会用到后3位,即002。 umask 与 chmod 命令设定刚好相反,uma... -
Linux 文件权限 umask
2016-12-05 16:43:36一般情况,root的默认权限 umask 为 022,一般身份用户为 002,关于默认 umask 的设置可以参考/etc/bashrc 这个文件。 可以用 #umask 查看次用户默认权限, 也可以用 #umask -S umask 的值为022时,user并没有... -
linux umask权限算法
2019-04-03 19:19:03umask ---umask 查看当前的umask值,它表示要去掉的权限 文件、目录最终权限的算法:满权限-umask权限=最终权限目录的默认满权限:777 例如:777-022=755 777-031=746 rwx rwx rwx文件...普通用户:002. umas... -
Linux的umask理解
2017-12-03 00:15:01查看所属用户的umask只需要执行umask命令即可,对于普通用户一般为002 在Linux系统上,所有文件的系统默认预设权限是666,目录而言是777 那当我们创建一个文件的时候所生成的权限是什么呢? 666 代表着 rw-rw-rw... -
linux 文件默认权限umask
2019-06-06 10:50:02第一个是特殊权限用的 先不用管 002 表示 user 和grep 没有被拿掉任何权限 other 被拿掉了 w 权限 rwx 421 umask [-p] [-S] [mode] The user file-creation mask is set to mode. If mode begins with... -
linux 之umask命令
2013-07-13 15:27:03普通用户的umask默认值是002,root用户是022 sjyu@sjyu-pc:~/桌面$ umask 0002 sjyu@sjyu-pc:~/桌面$ sudo -i [sudo] password for sjyu: root@sjyu-pc:~# umask 0022 root@sjyu-pc:~# 总结参照了... -
Linux中的umask及权限管理
2020-11-01 11:54:02什么是umask Linux中,“Every thing is a file”, 文件就涉及到...一般用户的umask默认是002, 其它特殊用户如系统进程等的umask是022。 用户也可以在自己的bashrc文件中设置自己默认的umask。 文件权限介绍 在系统的b -
umask 的使用体会
2012-01-17 23:08:42Linux默认创建文件的权限是666(-rw-rw-rw-),创建...默认情况下,一般帐号的umask值是002,如下图 root帐号的umask值是022 如何得到帐号创建的文件或目录的权限呢,有的网站上说直接用系统默认的文件权... -
hdfs与Linux的umask学习研究
2020-05-21 10:50:23在/etc/profile环境变量中,可以发现uid大于199的用户,umask值为002;否则umask值为022;即普通用户创建文件或者文件夹权限为775,root用户创建文件或者文件夹权限为755. 实际测试发现,无论root还是普通用户,...