1.文件属性查看
ls -l filename
例如:ls -l hello 查看hello文件的属性
- rw-rw-r-- 1 kiosk kiosk 0 Oct 2 17:05 file
[1] [2] [3] [4] [5] [6] [7] [8]
[1] - 文件类型
- 普通文件
d 目录
s socket套接字
l 软链接
p 管道
c 字符设备
b 块设备
[2] rw- | rw- | r-- 读写权限
@ $ *
@ 文件拥有者对文件能做的动作
$ 文件所在组的组成员能对文件做的动作
* 其他人对与文件能做的动作
[3] 1 文件内容被系统记录的次数
[4] kiosk 文件拥有者
[5] kiosk 文件所在组
[6] 0 文件大小
[7] Oct 2 17:05 文件最后一次被更改的时间
[8] file 文件名称
2.查看目录属性
ls -ld directoy
例如:ls -ld lee
d rwxr-xr-x 3 kiosk kiosk 33 Aug 27 09:47 directory
[1] [2] [3] [4] [5] [6] [7] [8]
[1] d 类型(目录)
[2] rwxr-xr-x 权限
[3] 3 子目录个数
[4] kiosk 目录拥有者
[5] kiosk 目录所在组
[6] 33 目录中内容的属性大小
[7] Aug 27 09:47 目录中文件增加或减少或被更名的时间
[8] directory 目录名称
3.文件用户组的更改
chown 用户名称 文件 更改文件所有人
chgrp 组名称 文件 更改文件所有组
chown -R 用户 目录 更改目录本身以及目录中的子文件的所有人
chgrp -R 组名 目录 更改目录本身以及目录中的子文件的所有组
例如:chown/chgrp -R student /mnt/hello 更改/mnt/hello目录以及目录中子文件的所有人/所有组
4.权限的识别
ls -l 中2-10字符为文件权限
rwx r-x r-x
用户权限(u) 组成员权限(g) 其他用户权限(o)
权限种类
r
r权限针对文件,表示可以查看文件内容。
r权限针对目录,表示可以ls查看目录中存在的文件名称
w
w权限针对文件,表示可以更改文件的内容
w权限针对目录,表示是否可以删除目录中的子文件或者子目录
x
x权限对于文件,表示是否可以开启文件当中记录的程序
x权限对于目录,表示是否可以进入目录中
chmod ugo+-=rwx 改权限
u=rwx=7 |g=rwx=7 |o=rwx=7
u=rw-=6 g=r--=4 o=r--=4 644
r=4
w=2
x=1
-=0
7=rwx,6=rw-,5=r-x,4=r--,3=-wx,2=-w-,1=--x,0=---
5.文件的默认权限
umask 显示系统预留权限值
vim /etc/bashrc 71行是普通用户的更改,73是超级用户的更改
vim /etc/profile 60行是普通用户的更改,62是超级用户的更改
source /etc/bashrc 刷新bash配置
source /etc/profile 刷新系统配置
6.特殊权限
stickyid 强制位
o+t 之针对目录,当一个目录上有t权限时,这个目录中的文件只能被文件拥有者删除
t=1
chmod o+t directroy
chmod 1777 directory
sgid 粘制位
g+s 针对目录,在目录中创建的文件都自动归属到目录所在组,针对二进制文件,
文件内记录的程序在执行时和执行者的组身份没有关系,而是以二进制文件的所有组的身份执行的
chmod g+s file|directory
chmod 2777 file|directory
suid 冒险位
u+s 针对文件,文件记录动作在执行时是一文件所有人身份执行的,与是谁发起的无关
chmod u+s file
chmod 4777 fileg+s
7.权限列表
*1.acl 指定特定的用户对特定的文件拥有特殊权力
-rw-rwx---+ 1 root root 0 Mar 28 02:39 file
^
权限列表开启
注意:当权限列表开启,那么这个文件的普通权限也在权限列表中识别,ls -l 看到的权限是不准确的。
*2.查看权限
getfacl
例如:getfacl /mnt/hello
内容如下:
# file: /mnt/hello 文件名称
# owner:student 文件的拥有者
# group:student 文件的所有组
user: : rwx 文件拥有者的权限
group: : r-x 文件所有组的权限
other: : r-x 其他人的权限
*3.设定权限:
setfacl -m u:lee:rwx /mnt/file 设定lee用户对file文件可以读写执行
setfacl -m g:student:rwx /mnt/file 设定student组对文件可以读写执行
setfacl -x u:lee /mnt/file 在权限列表中删除用户lee的信息
setfacl -x g:student /mnt/file 在权限列表中删除student组的信息
setfacl -b /mnt/file 关闭权限列表那么,"+"消失
例如:setfacl -m u:student:rwx /mnt/file 设定student用户对file文件可以读写执行
*4.mask值
mask值是能够赋予用户权限的最大值。
当设定acl列表后,如果用chmod命令缩小文件的权限,那么mask值会被更改。
chmod 600 /mnt/file 做这样的动作mask值会发生改变
例如:
更改前:getfacl /mnt/file
更改后:chmod 600 /mnt/file
查看:getfacl /mnt/file
*5.恢复
setfacl -m m:rwx /mnt/file 用此命令可以恢复mask的值
*6.acl列表的默认权限
权限针对目录生效
当对目录设定普通的权限列表后,是不能设定特定用户对在目录中新建的文件由指定权限的。
如果需要权限自动添加到新建文件上那么要设定目录的默认权限。
setfacl -m d:u:student:rwx /mnt/westos 设定在westos目录中
新建文件对student用户有rwx权限
对已经存在的文件无效
对目录本身无效