4.用户权限

mac2022-06-30  22

1)属性的读取

文件: - rw-rw-r--. 1 kiosk kiosk 834 Oct 2 09:45 day3 [1] [2] [3] [4] [5] [6] [7] [8] 类别,权限,记录数,用户,组,size,最后一次修改时间,名字 - ##空文件,或文本 d ##目录 l ##软连接 s ##socket套接字 b ##block块设备 c ##字符设备

软链接: 硬链接: matadate 1byte

文件夹: [kiosk@foundation8 File]$ ls -l total 0 drwxrwxr-x. 2 kiosk kiosk 112 Oct 1 17:20 10_1_day2 类别,权限,子目录个数,用户,组,目录当中原数据大小文件属性大小,最后一次修改时间,名字 ls -ld westos ls -l

2)改变所有人所有组

chown lee westos1 ## 改变westos1所有人为lee chown lee.westos westos2 ## 改变westos2所有人和所有组 chgrp westos westos3 ##改变westos3的所有组 chown -R lee test ##改变test的所有人以及里面文件的所有人

测试:

useradd westos ##建立用户 useradd lee ##建立用户 rm -rf /mnt/* ##清除测试环境 touch /mnt/westos{1..5} ##建立文件 mkdir /mnt/test touch /mnt/test/file{1..3} watch -n 1 ls -lR /mnt ##监测 重开一个shell cd /mnt 然后测试上面命令

3)改变文件权限 [2]权限

rwx r-x r-x 用户权限 组成员权限 其他用户权限 r 对文件:cat file ##查看文件内容 对目录:ls dir ##查看目录下的文件子目录 w 对文件: ## 对文件内容进行更改 对目录: ##在目录里是否可以进行删除文家或子目录 x 对文件: ## 可以运行程序 对目录: ##是否可以进入目录中 chmod ugo+-=rwx ##更改权限 可简单记忆 r = 4 ,w =2,x=1 chmod 777 file ##表示file 权限对所有用户公开 即:rwx=7,rw-=6,r-x=5,r--=4,-wx=3,-w-=2,--x=1,---=0

4)umask umask 系统建立文件默认保留的权力 umask 077 ##临时设定预留权限077

永久更改umask

vim /etc/bashrc ##系统配置文加

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

vim /etc/profile ##shell的配置文件

if [ $UID -gt 199 ] && [ “/usr/bin/id -gn” = “/usr/bin/id -un” ]; then umask 002 else umask 022

让更改生效 source /etc/bashrc source /etc/profile

5)特殊权限

a)sticky ##粘制位

只针对目录生效,当一个目录有sticky权限时,只能自己所属组删除 chmod o+t dir chomd 1XXX dir 测试: chomd o+t /pub chmod 1777 /pub 用不同普通用户在/pub 下建立所属自己的文件,然后删除别的用户创建的文件,会删不掉,只能删自己创建的东西

b)sgid ##强制位

chmod g+s file | dir chmod 2xxx file | dir chmod 2777 /westos 对目录:无论在哪个用户下,进入公共目录,会将目录里创建的文件所有组变成目录所有组 chmod 2777 /bin/watch 对文件:只针对与二进制可执行文件,在哪个用户下操作,执行文件所产生的进程的所属组都属于文件所有组

测试: 1.

建立 777 /westos 切换tom 在/westos下建立文件file 切换harry 在/westos 下建立文件file2 此时tom,harry可以任意删除/westos下的任何文件 改变 westos属性 chmod 1777 /westos 切换tom 在/westos 下建立文件file1 切换harry 在/westos建立file3 此时各用户只能删除自己在公共目录下创建的东西 对于目录:

对于文件: 开一个shell 切换tom 执行ps ax -o user,group,comm | grep watch 设定chmod 2777 /bin/watch 切换tom 执行ps ax -o user,group,comm | grep watch

对比两次执行结果

c)suid ##冒险位 只针对二进制可执行文件 任何人执行这个文件,程序产生的进程都属于文件所有人 chmod u+s /bin/watch

chmod 4777 /bin/watch 测试: 开一个shell 切换tom 执行ps ax -o user,group,comm | grep watch 设定chmod 4755 /bin/watch 切换tom 执行ps ax -o user,group,comm | grep watch

对比两次执行结果

6)acl列表的管理

getfacl file setfacl -m u:username:rwx file ##设定username对file有权限

setfacl -m g:group:rwx file ##设定group组成员对file拥有权限 setfacl -x u:username file ##从acl列表中删除username

setfacl -b file ##关闭file上的acl列表

7)mask值

在权限列表中mask标示能生效的权力值 当用chmod减小开启acl的文件权限时mask值会发生变化

chmod g-w westos

如果要恢复mask

setfacl -m m:rw westos

8)acl的默认权限设定

“默认权限只针对目录设定” 设置完后在此目录里;“acl权限只针对设定完成之后的新建文件或目录有效,而已存在的文件是不会继承默认权限” setfacl -m d:u:student:rwx /mnt/westos 开启 setfacl -k /mnt/westos 关门acl

测试:

mkdir /mnt/westos touch /mnt/westos/file setfacl -m d:u:student:rwx /mnt/westos touch /mnt/westos/file1

优先级:userperm > acluser> aclgroup > groupperm > otherperm

最新回复(0)