Linux系统配置及服务管理之权限管理

一、基本权限UGO

u:属主 g:属组 o:其他人 a:所有人(u+g+o)
权限分为:读=r=4 写+w=2 执行+x=1
只能给一个用户,一个组和其他人设置权限
例如:#ll /root/1.txt
结果:-rw-r–r--. 1 root root 179 5月 25 14:27 /root/1.txt
    结果字段信息:-文件类型   主人的权限,属主   属组的权限     其他人的权限   .(点)权限的扩展   文件链接   文件的属主   文件的属组   大小(单位:K)  文件最后的修改时间   文件的名和路径

1.更改权限

使用符号:
语法:#chmod 对象(u/g/o/a)赋值符(+/-/=)权限类型(r/w/x,可选择多个) 文件/目录
例如:#chmod u+x file1     //属主增加执行
#chmod ug=rw,o=r fil1       //属主属组等于读写,其他人只读
使用数字:
例如:#chmod 644 file1     //属主读写,属组和其他人只读

2.更改属主、属组

chown命令:
设置一个文件的归属(属于哪个用户和那个组)
语法:#chown 用户名.组名 文件
        -R       //针对目录中所有的文件
例如:#chown alice.hr file1   //改属主、属组
#chown alice file1   //只改属主
#chown .hr file1    //只改属组
chgrp命令:
只能设置一个文件的属组
#chgrp -R it dir1     //改目录及其里面所有文件目录属组为it

二、基本权限ACL

设置不同用户,不同的基本权限(r、w、x)。对象数量不同
语法:#setfale 参数 用户或组:用户名:权限 文件对象
例如:#setfacl -m u:alice:rw /home/test.txt   //给用户alice对文件/home/test.txt读写的权限
          -d     //删除指定的用户或者组的指定权限
          -b     //删除文件所有ACL权限
查看文件ACL权限:getfacl 文件
例如:#getfacl /cc/1.txt
结果:getfacl: Removing leading ‘/’ from absolute path names        
          //查看文件权限,删除了根路径。
# file: home/test.txt 文件名
# owner: root           // 属主:root
# group: root           // 属组:root
user::rwx              //用户:属主:rwx权限
user:alice:rw-           //用户:alice:rw-权限
user:jack:—           // 用户:jack:无权限
group::rwx             //组:属组:rwx权限
mask::rwx             //掩码::rwx权限
other::rwx             //other:其他人:rwx权限

三、特殊权限

1.特殊位(suid)

通过对/root/下的命令文件赋权来实现所有用户对/root/里的文件执行已被赋权的命令
例如:#chmod u+s /usr/bin/cat ==>普通用户可查看/root/里面的文件
!赋权之后记得除去该权限

2.文件属性(chattr)

查看默认权限:#lsattr file100
结果:-------------- file100
  # chattr +i file100   //该文件不能更改,重命名,删除(包括root用户)
    +a           //只能追加,不可修改内容,通常用于日志、邮件等等

3.进程掩码(umask)

新建文件、目录的默认权限会受到umask的影响
umask表示要减掉的权限
新目录权限是777减去umask
新文件是666减去umask,即新文件创建默认不会有执行权

上一篇:数据库“行专列”操作---使用row_number()over(partition by 分组字段 [order by 排序字段])


下一篇:Linux用户、权限及改变文件所有者及文件所属组多例详解