linux文件目录权限操作

设置修改文件的属主或修改文件属组

[root@localhost ~]# ll test.txt 
-rw-r--r--. 1 root root 0 Oct 21 12:01 test.txt
[root@localhost ~]# chown yc:yc test.txt 
[root@localhost ~]# ll test.txt 
-rw-r--r--. 1 yc yc 0 Oct 21 12:01 test.txt

设置文件的属组信息

注:chgrp 命令可以只修改文件的属组
[root@localhost ~]# ll test.txt 
-rw-r--r--. 1 root root 0 Oct 21 12:01 test.txt
[root@localhost ~]# chgrp yc test.txt 
[root@localhost ~]# ll test.txt 
-rw-r--r--. 1 root yc 0 Oct 21 12:01 test.txt

文件的权限主要针对三类对象进行定义

owner 属主, u
group 属组, g
other 其他, o

r 可使用文件查看类工具,比如:cat,可以获取其内容
w 可修改其内容
x 即可以执行(运行)此文件(此文件的内容必须是可执行)

--- 000 0
--x 001 1
-w- 010 2
-wx 011 3
r-- 100 4
r-x 101 5
rw- 110 6
rwx 111 7

修改文件权限chmod

修改指定一类用户的所有权限
u= g= o= ug= a= u=,g=
修改指定一类用户某个或某个权限
u+ u- g+ g- o+ o- a+ a- + -
-R: 递归修改权限
范例:
chmod u+wx,g-r,o=rx test.txt
chmod -R g+rwx /testdir
chmod 600 test.txt

新建文件和目录的默认权限
umask 的值可以用来设置创建文件时的默认初始权限
实现方式:

  • 新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶
    数不变
  • 新建目录的默认权限: 777-umask
    当将文件和目录的默认权限设为666-umask与777-umask时,是为了系统的安全考虑,将文件默认权限设为666-umask时,即使将umask设为000时,也不会赋予文件执行权限,保护系统安全
[root@localhost ~]# umask
0022
注:root的umask 默认是 022

Linux文件系统上的特殊权限
三种特殊权限:SUID, SGID, Sticky

SUID:作用于可执行文件上,用户继承此程序所有者的权限
SGID:
1>作用于可执行文件上,用户继承此程序所属组的权限
2>作用于目录上,此目录中新建的文件的所属组将自动从此目录继承
STICKY:
作用于目录上,此目录中的文件只能由所有者自己去删除
设置SUID权限:
    chmod u+s test
    chmod 4xxx test
    chmod u-s test
设置SGID权限:
    对于文件设SGID权限:
    chmod g+s test
    chmod 2xxx test
    chmod g-s test
    对于目录设置SGID权限:
    chmod g+s testdir
    chmod 2xxx testdir
    chmod g-s testdir
设置STICKY权限:
    chmod o+t testdir
    chmod 1xxx testdir
    chmod o-t testdir

设置文件特殊属性(仅限root用户操作)
设置文件的特殊属性,可以防止 root 用户误操作删除或修改文件
不能删除,改名,更改内容

chattr +i file

只能追加内容,不能删除,改名

chattr +a file

显示特定属性

lsattr

实例:

[root@localhost ~]# chattr +i aa.txt
[root@localhost ~]# lsattr aa.txt 
----i----------- aa.txt 
[root@localhost ~]# echo 123 >aa.txt 
-bash: aa.txt: Permission denied
[root@localhost ~]# rm -rf aa.txt 
rm: cannot remove ‘aa.txt’: Operation not permitted
[root@localhost ~]# mv aa.txt bb.txt
mv: cannot move ‘aa.txt’ to ‘bb.txt’: Operation not permitted

[root@localhost ~]# chattr +a aa.txt
[root@localhost ~]# lsattr aa.txt
-----a---------- aa.txt
[root@localhost ~]# rm -rf aa.txt 
rm: cannot remove ‘aa.txt’: Operation not permitted
[root@localhost ~]# mv aa.txt bb.txt
mv: cannot move ‘aa.txt’ to ‘bb.txt’: Operation not permitted
[root@localhost ~]# echo 123 >aa.txt 
-bash: aa.txt: Operation not permitted
[root@localhost ~]# echo 123 >>aa.txt 
[root@localhost ~]# cat aa.txt 
123
posted @ 2021-10-19 23:17  咚咚小孩  阅读(88)  评论(0)    收藏  举报