admin管理员组文章数量:1565280
1.文件属性
查看文件属性
ls -l file #查看文件属性
ls -ld dir #查看文件夹属性
ls -lR /etc #递归显示,可以显示文件夹内的文件
8个文件属性的意义
- | rw-rw-r-- | 1 | kiosk | kiosk | 382 | Mar 30 09:09 | test1
属性 | 序号 |
---|---|
- | [1] |
rw-rw-r– | [2] |
1 | [3] |
kiosk | [4] |
kiosk | [5] |
382 | [6] |
Mar 30 09:09 | [7] |
test1 | [8] |
[1]文件类型
常见的文件类型
字符 | 类型 |
---|---|
- | 表示空文件,普通文件 |
l | 软链接 |
d | 表示目录 |
c | 字符设备(如shell在 /dev/pts/0) |
s | socket 套接字符,与程序交互的“门” |
b | block 块设备(如系统的第一块硬盘是 /dev/sda 插入u盘是 /dev/sdb) |
p | 管道文件 |
[2]文件权限
rw-rw-r–
每三个字符一组,分别是文件的所有人(u),所有组(g),其他人(o)
对于文件:
r ---->是否可读
w---->是否可写
x ---->是否可执行
对于目录:
r ---->是否可查看目录中的文件
w---->是否可在目录中新建删除
x ---->是否可进入目录
修改权限的方式:
字符方式
chmod [u,g,o]+[r,w,x] 文件(夹)名
#相同的赋予或撤销权限操作可合并
chmod ug+r file #file文件的所有人,所有组可读
#同一用户修改多个权限
chomd u=rwx file #(=为赋予指定权限),file的所有人可读可写可执行
#不同的用户可用,隔开
chmod ug+r,o+x file #file的所有人所有组可读,其他人可执行
数字方式
r=4 w=2 x=1
即权限可用0~7的数字表示,最高权限为777
chmod 777 file #file对ugo都可读可写可执行
[3]
对文件:硬链接个数(文件内容被系统记录的次数)
对目录:子‘目录‘的个数(不包含子文件)
[4]文件所有人
chown可修改文件和目录(不加-R只修改目录,不修改目录中的文件)的所有人,或所有人和所有组
原属性如下:
chown kiosk /mnt/file1 #修改file1的所有人为kiosk
chown kiosk /mnt/dir #修改dir的所有人为kiosk,不修改dir中的文件
[5]文件所有组
chgrp可修改文件和目录(-R)所有组
chgrp kiosk /mnt/dir #修改dir所有组为kiosk,不修改dir中的文件
chgrp -R kiosk /mnt/dir #修改dir所有组为kiosk,同时修改dir中文件的所有组为kiosk
#chown可同时修改文件(目录)所有人和所有组,所有人在前,所有组在后,用.或:隔开
chown kiosk.kiosk /mnt/file2 #修改file2的所有人,所有组为kiosk
chown kiosk:kiosk /mnt/dir -R #修改dir及其中文件的所有人所有组为kiosk
[6]
对文件:文件大小
对目录:目录中子文件元数据大小(元数据matedate可以理解为文件的属性,也就是描述文件属性的那一串字符([1]~[8])的字节数)
[7]最后修改时间
可用touch修改此时间
[8]文件名
可用mv修改
2.修改默认预留权限
系统默认为022
只修改当前shell中的预留权限(临时更改)
umask 077 #默认创建目录权限为777-077=700,文件再减111为600
修改系统的默认预留权限(永久更改)
vim /etc/profile #系统配置文件
vim /etc/bashrc #shell配置文件
source /etc/profile
source /etc/bashrc #重新读取文件,使更改生效
3.特殊权限
(1)sticky 粘滞位
作用:
针对目录生效,当设置sticky权限后,这个目录中的文件只能被文件所有人删除
注意:
当对文件操作时,也会显示t,但不会有作用,非文件所有人也可以删除
设定方式:
chmod o+t /mnt/dir #只针对other,o位会出现t
chmod 1755 /mnt/dir
(2)sgid和suid 强制位和冒险位
作用:
<1>针对目录:
当设置强制位后,任何人在该目录中建立的文件,都属于该目录的所有组或所有人(g+s或u+s)
<2>针对文件(只能针对可执行二进制文件):
不设置强制位时,谁执行这个文件,这个进程就是谁的。设置后,无论是谁执行此文件,进程都属于这个文件的所有人或组(u+s或g+s)
PS:意味着身份提升或下降
设定方式:
chmod g+s /mnt/dir #操作成功后g位出现s
chmod g+s /mnt/file3
#或
chmod 2755 /mnt/dir
chmod 2644 /mnt/file3
chmod u+s /mnt/dir #操作成功后u位出现s
chmod u+s /mnt/file3
#或
chmod 4755 /mnt/dir
chmod 4644 /mnt/file3
chmod 6755 /mnt/dir #操作成功后u和g位都出现s
chmod 6644 /mnt/file3
同理:
粘滞位=1,强制位=2,冒险位=4,可根据需要自由相加组合,这里不再赘述
4.acl权限设定
作用:
让特定用户对特定文件有特定的权限
查看命令:
getfacl file #查看file的acl权限列表
管理方式:
#开启后(-m添加后)
setfacl -m g:kiosk:rwx file #让kiosk组的用户对file拥有rwx权限
ls -l file #会在权限后显示+
#关闭后(-b后)
ls -l fle #权限后的+消失,使用原权限设定
setfacl -m u:username:0 file #让username用户对file没有任何权限
setfacl -m g:groupname:rwx file #让groupname组的用户对file拥有rwx权限
setfacl -x u:username file #删除username用户的acl列表信息
setfacl -x g:groupname file #删除groupname组的acl列表信息
setfacl -b file #关闭file文件的acl列表功能
#(关闭会删除列表里-m添加的信息)
mask值
默认是acl列表中授予权限的最大值
添加acl列表后,使用chmod将g权限改小后会出现权限不足的问题
chmod 757 /mnt/file
可使用下面方式修改回来
setfacl -m m:rwx /mnt/file #让最大权限值为指定的rwx
5.acl默认权限设定
默认权限只针对目录设定
acl默认权限只针对设定好后新建立的目录和文件生效并继承,之前存在的目录和文件不会受影响,若要是之前的文件和目录也生效,还需要再设定acl普通权限
设定方式:
setfacl -m d:u:student:rwx /dir/ #下图1,让kiosk用户对dir目录下以后出现的子目录和文件有rwx权限
touch /mnt/file4 #设定好后新建一个文件file4
setfacl -k /dir/ #关闭acl默认权限列表
原来存在的file不受影响:
设置好后创建的file4继承默认权限:
版权声明:本文标题:Linux的文件权限及其设定方法 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.elefans.com/dongtai/1727333895a1108857.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论