文件目录权限管理
一、文件信息简介
ls -l/-lR(递归) file(查看文件信息)
-rw-rw-r–. 1 kiosk kiosk 0 Jan 3 20:16 unit4
1|2 |3 |4 | 5| 6 | 7 |8| 9 | 10
[2] 文件拥有者对文件能做什么操作 ##r-----读
[3] 文件所有组对文件能做什么操作 ##w-----写
[4] 其他人对文件能做什么操作 ##x-----访问
[5]对文件:文件硬链接个数(文件内容被记录的次数)
对目录:目录中子目录的个数
[6]文件的所有人
[7]文件所有组
[8]对文件:文件大小
对目录:目录中子文件元数据(matedate)大小
[9]文件内容被修改时间
[10]文件名称
二、改变文件的所有人和所有组
1)改变所有人
chown 用户名 文件名/目录名
2)改变所有组
chgrp 组名 文件名/目录名
3)同时改变所有人和所有组
chown 用户名:组名 文件名/目录名
三、改变文件的权限
1)对文件读写权限的理解
1.r
对文件:是否可以查看文件的内容 cat file
对目录:是否可以查看目录中有什么子文件或者子目录 ls dir
2.w
对文件:是否可以改变文件里记录的字符
对目录:是否可以对目录中的子目录或者子文件的元数据进行修改
3.x
对文件:是否可以通过文件名称调用文件内记录的程序
对目录:是否可以进入目录
2)文件读写权限更改方式
chmod u/g/o|+/-/=|r/w/x file|dir
例:
chmod u+w /mnt/file
chmod -r /mnt/file ##相当于u-r,g-r,o-r
chmod u+w,g+x /mnt/file
chmod ug+r /mnt/file
3)更简洁的数字命令
r=4, w=2, x=1
数字所对应命令
0=- - -
1=- -x
2=-w-
3=-wx
4=r- -
5=r-x
6=rw-
7=rwx
例:chmod 777 file = chmod ugo=rwx file
四、umask 查看系统建立文件默认保留的权力
1)临时设定umask
umask 077 ##临时设定系统预留权限为077
2)永久更改umask
vim /etc/profile ##系统配置文件
59 if [ $UID -gt 199]&&[''`id -gn`''=''`id -un`''];then
60 umask 002 ##普通用户的umask
61 else
62 umask 022 ##超级用户的umask
##更改相应的umask的值,用户重新登陆生效!59/60/61/62为命令在文件里所在行数
source /etc/profile ##让更改立即生效
或
70 if [ $UID -gt 199 ] && [ "`/usr/bin/id -gn`" = "`/usr/bin/id -un`" ]; th en
71 umask 002
72 else
73 umask 022
74 fi
source /etc/bashrc
五、特殊权限
1、sticky ##粘制位
作用:
只针对目录生效,当一个目录上有sticky权限时,
在这个目录中的文件只能被文件的所有者删除
设定方式:
chmod o+t dir ##-rwxrwxrwx变为-rwxrwxrwt
chmod 1xxx dir ##xxx为数字,有更改权限作用
解除方式:
chmod o-t dir ##-rwxrwxrwt变为-rwxrwxrwx
chmod xxx dir
2、sgid ##强制位
作用:
对文件: 只针对与二进制可执行文件
当文件上有sgid时,任何人执行此文件产生的进程都属于文件的组
对目录: 当目录上有sgid权限时,任何人在此目录中建立的文件都属于目录的所有组
设定方式:
chmod g+s file|dir
chmod 2xxx file|dir
解除方式:
chmod g-s file|dir
chmod xxx file|dir
3、suid ##冒险位
只针对与二进制可执行文件
当文件上有suid时,任何人执行这个文件中记的程序产生的进程都属于文件的所有人
设定方式:
chmod u+s file
chmod 4xxx file
解除方式:
chmod u-s file
chmod xxx file
六、acl权限列表
1、作用
让特定的用户对特定的文件拥有特定权限
2、acl列表查看
drwxrwxr-x+ 2 root root 6 Jan 3 23:57 666
^
acl开启标志
getfacl file1 ##查看acl开启的文件的权限
文件信息解释:
#file: file1 ##文件名称file1
#owner: root ##文件拥有者
#group: root ##文件拥有组
user::rwx ##文件拥有人的权力
user:hahaha:rwx ##指定用户hahaha的权限
group::r-x ##文件拥有组的权力
mask::rwx ##能赋予用户的最大权力伐值
other::r-x ##其他人的权力
3、acl操作
1)getfacl file1 ##查看文件权限
2)setfacl -m u:username:rwx file ##设定username对file拥有rwx权限
3)setfacl -m g:group:rwx file ##设定group组成员对file拥有rwx权限
4)setfacl -x u:username:rwx file ##从acl列表中删除username
5)setfacl -b file ##关闭file上的acl列表
4、mask值
在权限列表中mask表示能生效的权力值
当用chmod减小开启acl文件权限时,mask值会发生改变
chmod g-w file
恢复mask:
setfacl -m m:rw file
5、acl的默认权限设定
acl默认权限只针对目录决定
‘‘acl权限只针对设定完成之后新建立的文件或者目录生效,而已经存在的文件不会继承默认权限’’
setfacl -m d:u:用户名:rwx /mnt/file
setfacl -k /mnt/file