关于 Linux系统用户、组和权限管理(2)

文件权限数字表现形式

权限项       执行       执行       执行  
字符表示   r   w   x   r   w   x   r   w   x  
数字表示   4   2   1   4   2   1   4   2   1  
权限分配   所有者   所属组   其他人  

   ls -l file1

   drwxr-xr--.2 test test 4096 Sep 2 16:36 file1

   chmod 755 file

   ls -l file1

   drwxr-xr-x--.2 test test 4096 Sep 2 16:36 file1

   chmod -R 可以递归修改目录下的所有文件权限

   root 用户 umask 值 0022

   普通用户 umask 值 0002

   root用户创建目录 时,生成目录权限为 777 - umask对应权限 ,最终为 755

   root用户创建文件时,生成文件权限为 666 - umask对应权限,最终为644

   普通用户创建目录时,生成目录权限为 777 - umask对应权限,最终为 775

   普通用户创建文件时,生成文件权限为 666 - umask对应权限,最终为664

3.设置文件、目录归属

chown 命令

格式:chown 所有者 文件或目录

   chown :所属组 文件或目录

   chown 所有者:所属组 文件或目录

例如:chown root:root  /home/test/file1

   ls -l /home/test/file1

   drwxr-xr-x,2 root root 4096 Sep 2 16:36 file1

三、系统高级权限设置 1.配置访问控制列表ACL(Access Control List)

Linux系统中权限设置,仅有3种身份,3种权限,通过配合chmod和chown命令来对文件或目录进项设置。如果进项复杂权限设定,如某个目录要开放为给某个特定用户使用时,传统方法不能满足需求。

例如:/home/project 目录,所有者是student用户,所属组是users组,预设权限为770。现有用户teacher,所属组为teacher,希望对/home/project/目录具有rwx权限;还有用户test,所属组��test,希望对/home/project/目录具有读rx权限。

显然利用chmod和chown命令无法完成上述要求,因而,在Linux系统提供了ACL来完成这种复杂权限设置。

设置ACL

setfacl 【选项】  设定值   文件目录

-m 选项 设定一个ACL规则

-x 选项 取消一个ACL 规则

-b 选项 取消所有的ACL规则

-d 选项 设置默认ACL规则 (对当前目录设置ACL权限后,未来在其目录下创建的文件或目录继承该目录的ACL权限)

-k 选项 取消默认权限

-R 选项 用于递归设置(对当前目录设置ACL权限,该目录下已有的子目录及文件也拥有相应的ACL权限)

例如:setfacl -m u:teacher:rwx  /home/project

   setfacl -m u:test:rx /home/project

getfacl 命令 查看文件目录ACL权限

   setfacl -x u:teacher /home/project

   setfacl -b /home/project

##ACL需要分区开启acl,通过dumpe2fs查看。Linux系统默认开启acl,如果分区没有开启acl,可以通过设置/etc/fstab文件开启##

例如:/dev/sdb1  /data  ext4  defaults,acl  0  0

2.设置特殊权限:SUID/SGID/Sticky Bit

SUID权限:主要设置于可执行文件,对目录设置无效,当其他人执行该文件时,自动获取该文件所有者身份,设置命令为chmod u+s file。

例如: ls -l /usr/bin/passwd

   -rwsr-x-r-x, 1 root root 30768 11月 24 2017 /usr/bin/passwd

SGID权限:

    设置与目录,当目录设置SGID后,在该目录下创建的文件或子目录自动继承该目录的所属组

    设置与文件,当文件设置SGID后,该文件无论使用者是谁,在其执行时将以该文件所有者身份执行。

例如: chmod g+s file、dirfile

设置粘滞位权限:

当一个用户对一个目录拥有写权限,该用户能删除该文件下的所有文件。

粘滞位权限主要针对其他人设置,使用命令chmod设置目录权限时,“o+t”、“o-t”可以添加或者删除粘滞位权限。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/12067.html