文件及目录的权限
一 权限的意义
让文件只能被特定的部分用户进行操作。 保护系统安全的基础设定之一
二 文件权限的查看
1 文件权限的查看
ls -l 文件名 # 查看文件权限
2 目录权限查看
ls -l 目录 # 查看目录内容(文件和目录)的权限
ls -ld 目录 # 查看目录本身的权限
ls -l -R 目录 #递归查看目录内容权限(同时会查看目录子目录中内容的权限)
三 文件权限的读取
ls -l file
被分成八部分
1 文件类型
- #空文本或文本 文件
d #目录
l #软连接 普通文件中存放的内容是指向另一文件路径名的,则该文件就是软连接。
s #套接字 与一个封闭文件进行交流的窗口文件
b #块设备
c #字符设备 /dev/pts/0
2 文件权限
rw- r-- r--
1 2 3
1) 文件拥有者对文件能进行的操作权限
2) 文件所在组成员对文件能进行的操作权限
3 )其他用户(既不是拥有着 也不是该文件所属组的组成员)对文件能进行的操作权
3 该部分数字
文件 :该文件内容被系统记录的次数(硬连接的次数)
目录 : 目录中包含子目录的个数(算上隐藏目录)
4 文件/目录 拥有者
5 文件/目录 拥有组
6 文件的大小/目录的属性大小
7 文件或目录 最后一次被修改的时间
8 文件或目录的名称 。
四 文件用户及组的更改
1)chown ##该命令可以更改文件的的所有者或者同时修改文档的所有者以及所属组,参数-R 表示在修改目录的同时对目录中所有文件同时进行修改。
格式:
chown 新用户 文件名/目录名称 #修改文件或目录的所有者
chown 新用户.新组 文件名/目录名称 #同时修改文件的所有者以及所属组
chown -R 新用户 目录
chown -R 新用户.新组 目录 #使用参数-R 只针对目录
图5
2)chgrp ##只能更改文件或目录的所属组-
格式:
chgrp group 文件名/目录名称
chgrp -R group 目录
注意:只针对已经存在的文档,进行修改,比如对目录的所有者进行修改后 在此目录中新建的文件所有者与该目录的所有者没有关系。
五 文件权限的更改
(1)权限的理解 需要一个表格
(2)改变文件权限
chmod <u|g|o><+|-|=><r|w|x> 文件/目录 # 修改文件的权限
chomd 777 文件/目录 # 修改文件的权限
六 umask
1 说明: 系统建立文件时默认保留的权力 , 通过命令umask 进行查看该数值,值越大,系统保留的权力越大,系统越安全;但是用户对该文件的操作权力就越小。
2 umask值可以被修改:
1)临时修改:umask 077 #该值被临时修改成077, 只是在该终端,另外开启的终端仍为默认值 。
2)永久修改umask的值 :需要修改系统配置文件 /etc/profile (62行左右)以及shell配置文件 /etc/bashrc(72行左右)
修改之后必须让系统重新扫描配置该配置文件才能生效
source /etc/profile /etc/bashrc
同时系统默认在创建新的文件时候,全部没有X权限。
七 权限列表
1作用 :让特定的用户对特定的文件拥有特定的权限
2 查看权限列表 getfacl 文件/目录 file: 文件名称
owner 文件拥有者
group 文件拥有组
user:: 文件拥有者的权限
user:westos: 指定用户的权限
group:: 文件拥有组的权限
mask ::能赋予用户最大的权力阀值
ather :: 其他人的权限
3 acl 列表的管理
getfacl file/目录 # 查看权限列表
setfacl -m u:用户:rwx file #设定 用户 对file拥有rwx权限
setfacl -m g:group:rwx file #设定group组成员对file拥有rwx权限
setfacl -x u:用户名 file #acl列表中删除 用户
setfacl -b file/目录 # 关闭文件的权限
4 mask值
在权限列表中mask 表示能生效的权力值
当用chmod减小开启的acl的文件权限时mask值会发生改变 会出现异常,导致被赋予权力的用户不能使用该权力。 当开启权限列表后不使用chmod对文件权限权限进行。
5
setfacl -R -m u:用户:rwx /mnt/目录 # 指定用户student 对目录本身以及已存在文件的权限
setfacl -m d:u:用户:rwx /mnt/目录 #指定用户对目录中新建文件默认的权限,对目录本身以及以存在文件无效
八 特殊权限
1 sticky 粘制位 作用: 只针对目录 使得目录中文件只能被文件所有者进行删除
格式 chomd o+t 目录
chomd o-t 目录
chmod 1XXX 例如 1777 16444 第一位表示 t 数值为1
2 sgid 强制位
目录 :是目录中新建的文件都属于该目录的所有组
文件 :针对二进制可执行文件 ,使得任何用户运行该文件 时候出现的进程所属组都是该文件的所属组。
chmod g+s
chmod g-s g 位 s 数值为2
3 suid 冒险位
只针对二进制可执行文件 使得任何用户执行该文件时候,是以该文件用户身份执行该程序。
chmod u+s
chmod u-s u 位 s 数值为 2