Linux文件权限的管理

文件权限的查看

文件权限存在的意义

系统最底层安全设定方法之一

保证文件可以被指定的用户做出相对应操作

查看权限的命令

ls -l file|dir ----文件:查看文件本身的权限;目录:查看目录中所有文件的权限,不包括目录本身

ll file|dir ----同上

ls -ld file|dir ----查看文件或目录本身的权限

ll -d file|dir ----同上

文件权限的读取

 -     |rw-rw-r--|   1  |kiosk|  |kiosk|  |0|   Oct 6 01:48  |  file

[1]          [2]        [3]     [4]         [5]     [6]           [7]            [8]

[1]文件的类型:

- ----空文件,空文本 

d ----目录

l ----软链接

s ----socket套接字

b ----block块设备 

c ----字符设备

[2]文件的权限:

 | rw- | rw- | r-- |

   [u]    [g]    [o]

     [u]文件拥有者对文件的权限

     [g]文件所有组对文件的权限

     [o]其他人对文件的权限

[3]对文件:文件内容被记录的次数      对目录:目录中子目录的个数

[4]文件的所有人

[5]文件的所有组

[6] 对文件:文件大小            对目录:目录中子文件元数据大小

[7]文件的内容被修改的时间

[8]文件的名称                               

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

chown username file|dir ----改变文件或目录的所有人

chown -R user.group dir ----改变目录中包括目录中文件的所有人

chgrp group file|dir ----改变文件或目录本身的所有组

chgrp -R group dir ---- 改变目录中包括目录中文件的所有组


文件权限的修改

对权限的理解

r:

对文件:是否可以查看文件中的内容 ---> cat file

对目录:是否可以查看目录中有什么子文件或者子目录 --->ls dir

w:

对文件:是否可以改变文件里面记录的字符

对目录:是否可以对目录中子目录或子文件的元数据进行更改

x:

对文件:是否可以通过文件名称调用文件内记录的程序

对目录:是否可以进入目录

权限的更改方式

chmod <u|g|o> <+|-|=> <r|w|x>     file|dir

chmod u+x /mnt/file1 ----文件拥有者拥有运行权限

chmod ug-w /mnt/file2 ----文件拥有者和所在组用户不再拥有文件的写权限

chmod u-r,o+x /mnt/file3 

chmod uo=rw /mnt/file4

此外 r w x可用数字表示  r=4  w=2  x=1      r-x|r--|--x 可表示为541 ,故我们在更改时,也可:

chmod 541 /mnt/file5         数字最大可为777 此时权限为 rwxrwxrwx

umask的修改

umask :系统建立文件默认保留的权力,新建的文件或目录的权限默认为umask值

临时修改umask值:

umask 077 ----临时设定系统预留权限为077

永久修改umask值(root):

vim /etc/profile  ##打开系统配置文件

60       umask 002         ##第60行 普通用户的umask

61 else

62       umask 077         ##第62行 超级用户的umask

63 fi

source /etc/profile 让更改立即生效

或 

vim /etc/bashrc  ##打开shell配置文件

71       umask 002         ##普通用户的umask

72 else

73       umask 077         ##超级用户的umask

74 fi

source /etc/bashrc   让更改立即生效

特殊权限

(1)sticky ----粘滞位

作用:只针对目录生效,当一个目录上有sticky权限时,在这个目录中的文件只能被文件所有者删除

设定方式:chmod o+t  dir

                  chmod 1xxx dir

(2)sgid ----强制位

作用:对文件:只针对二进制可执行文件,当文件上有sgid时任何人执行此文件产生的进程都属于文件的组

           对目录:当目录上有sgid权限时,任何人在此目录中建立的文件都属于目录的所有组

设定方式:chmod g+s file|dir

                  chmod 2xxx file|dir

(3)suid ----冒险位

作用:只针对二进制可执行文件,当文件上有suid时任何人执行这个文件的程序都属于文件的所有人

设定方式:chmod u+s file

                  chmod 4xxx file  

可一次加多个特殊权限,如sticky与sgid同时加上时 设定方式为: chmod 3xxx dir

权限列表

(1)作用:让特定的用户拥有特定的权限

(2)acl列表的查看:

getfacl file ----查看acl开启的文件的权限

# file: file ----文件名称

# owner: root ----文件拥有者

# group: root ----文件所有组

user::rwx ----文件拥有人的权限

user:kiosk:rwx ----指定用户权限

group::rwx  ----文件拥有组的权力

mask::rwx ----能赋予用户的最大权力阀值

other::rwx  ----其他人权限 

(3)acl列表的管理

setfacl -m u:username:rwx file ----设定username对file拥有rwx权限

setfacl -m g:group:rwx file ----设定group组成员对file拥有rwx权限

setfacl -x u:username file ----从acl列表中删除

username 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:student:rwx /xxx ----添加默认权限

setfacl -k /xxx ----删除默认权限

用户对容器有权限,对容器中的文件无权限时,用户强行修改文件会删除原文件并在新用户中新建文件。


猜你喜欢

转载自blog.csdn.net/weixin_43189623/article/details/82950284