02-linux文件权限

@

1. 更改属组

  • 更改主、组
    语法: chown [用户名].[组名] 文件名
  • 更改组
    语法:chgrp 组名 文件名

2. 更改读写权限

  • 语法
    方法一:chmod [a|u|g|o] [+|-|=] [r|w|x|-] 文件名
    方法二:chmod 0755 文件名

3. 特殊权限

3.1 suid(4000)

  • 作用:执行该文件是root附体 (对文件有效)
  • 语法:
    chmod u[+|-]s 文件名

3.2 sgid(2000)

  • 作用:继承文件所属组 (对文件有效)
  • 语法:
    chmod g[+|-]s 文件名

3.3 sticky(1000)

  • 作用:仅所有者可以删改目录下文件(对目录有效)
  • 语法:
    chmod o[+|-]t 文件名

4. ACL权限

  • 作用
    linux 的某个目录只能有user、group、other 三种权限。
    如果另一个用户,即不是user,也不在group,却要取得比other更多的权限怎么办?
    使用ACL权限单独添加

4.1 查看

getfacl 文件名

4.2 修改

setfacl -m [d:]u|g:用户名:[rwx] 文件名

说明:d表示递归,且以后加入的文件都以此为例。

4.3 删除权限

  • 删除某用户acl权限
    setfacl -x u:用户名 文件名

  • 删除所有用户acl权限
    setfacl -b 文件名

  • 示例

给刘备/tmp/hello目录 读写执行的权限

# setfacl -m d:u:liubei:rwx /tmp/hello

设置ACL权限后,所有组的位置变为mask权限,显示如下:

drwxrwxr-x+ 3 root root 4096 5月  27 04:13 hello

5. Attr权限

即,文件属性权限(包括对root生效)

5.1 查看

lsattr 文件1 文件2

5.2 修改

chattr +|-参数 文件名

参数:
a,只能增加不能删改
i ,只读
A, 最后访问时间不变

5.3 示例

清理系统messages日志

  • 查看message文件

可见,该日志有attr权限,智能曾不能减

# lsattr /var/log/messages
-----a-------e-- /var/log/messages
  • 测试

直接echo ""进去, 可发现虽然没有报错,但是大小并没有减少。因此我们需要先去掉attr的a权限,清空之后再加回来

  • 清理messages日志
# chattr -a /var/log/messages
# echo "" > /var/log/messages
# chattr +a /var/log/messages

posted on 2021-09-16 12:19  运维开发玄德公  阅读(16)  评论(0编辑  收藏  举报  来源

导航