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