LINUX命令--------文件权限管理

文件权限存在的意义

保证权限可以被用户做相应操作
(1)权限对于文件
r:是否可以查看,读取文件中的内容
w:是否可以编辑,修改文件的内容
x:是否可以通过文件名称调用文件内记录的程序
(2)权限对于目录
r:是否可以查看目录中有什么子文件或者子目录
w:是否可以对目录中子目录或子文件里面的元数据进行更改;新建新的文件和目录;删除已经存在的文件和目录
x:是否可以进入目录,进行新建,删除文件
注意:对于目录,只有进入目录后,才能对目录进行写入的操作,即只有在x生效时,w才能生效;
若只有x权限,则只能进入到路径下,但是不能修改文件中的数据,创建或者删除的操作;
切换用户后,目标用户可以删除自己创建的文件,但是要根据权限决定能否删除原用户创建的文件

文件权限的查看

(1)ls -l file ##显示文件的属性
LINUX命令--------文件权限管理
(2)ls -ld dir ##显示目录本身的属性
LINUX命令--------文件权限管理
(3)ls -lR dir ##递归显示目录下的所有内容的属性

文件权限的读取

ls -l -----显示的文件或者目录的属性格式如下:
- |rw-rw-r–| 1|kiosk|kiosk|0|Jul 21 09:18|file
[1] [2] [3] [4] [5] [6] [7] [8]

[1]表示文件的类型
- ##空文件,或者文本
d ##目录
l ##软链接
s ##socket套接字
b ##block块设备
c ##字符设备
[2]表示文件的权限
rw-|rw-|r–
该位置总共包含九个字节。前三个字节表示 文件拥有者对文件的权限[u];中间三个字节表示文件所有组对文件的权限[g];最后三个字节表示 其他人对文件的权限[o]。
[3]位置对文件来说表示文件硬链接的个数,对目录而言表示目录中子目录的个数
[4]表示文件的所有者
[5]表示文件的所有组
[6]对文件来说表示文件的大小,空文件的大小为0;
[7]表示文件内容被修改的时间
[8]文件的名称

如何改变文件的所有人和所有组

1.chown lee /mnt/file1
LINUX命令--------文件权限管理
2.chgrp linux /mnt/file2
LINUX命令--------文件权限管理
3.chown lee:linux /mnt/file3
LINUX命令--------文件权限管理
4.chown -R student /mnt/westos
LINUX命令--------文件权限管理
5.chmod o-r /mnt/westos
LINUX命令--------文件权限管理
6.chmod o+r /mnt/westos
LINUX命令--------文件权限管理
7.chmod ugo+rwx /mnt/westos
chmod -R ugo-rwx /mnt/linux/
LINUX命令--------文件权限管理

如何更改系统建立文件时默认保留的权力

1.临时设定系统预留权限
umask 077
2.永久更改umask
<1>第一步,更改系统配置文件 /etc/profile
LINUX命令--------文件权限管理
<2>.第二步,更改系统配置文件 /etc/bashrc
<3>更新/etc/profile 和/etc/bashrc ,让更改立即生效
LINUX命令--------文件权限管理

特殊权限的设置

1)sticky 粘制位
<1>作用: 只针对目录生效,当一个目录上有sticky权限时,在这个目录中的文件只能被文件的所有者删除
<2>命令执行:chmod o+t dir chmod 1xxx dir
LINUX命令--------文件权限管理
(2)sgid 强制位
<1>作用:对文件:只针对与二进制可执行文件, 当文件上有sgid时任何人执行此文件产成的进程都属于文件的的组
对目录:当目录的组权限上有sgid权限时任何人在此目录中建立的文件都属于目录的所有组

<2>设定方式: chmod g+s file|dir chmod 2xxx file|dir
LINUX命令--------文件权限管理
LINUX命令--------文件权限管理
(3)suid 冒险位
<1>作用:只针对与2进制可执行文件,当文件上有suid时任何人执行这个文件中记的程序产生的进程都属于文件 的所有人
<2>设定方式:chmod u+s file chmod 4xxx file

acl权限列表

1.作用:让特定的用户对特定的文件拥有特定权限
2.acl列表查看 : getfacl file
LINUX命令--------文件权限管理
<1> 设定username对file拥有rwx权限(可以用数字设定)
setfacl -m u:username:rwx file
<2>设定group组成员对file拥有rwx权限
setfacl -m g:group:rwx file
LINUX命令--------文件权限管理
<3>从acl列表中删除username
setfacl -x u:username file

<4>从acl列表中删除groupname
setfacl -x g:groupname file
LINUX命令--------文件权限管理