一、chmod更改文件和目录权限
- 命令chmod(change mode简写)用于改变用户对文件/目录的读写执行权限;
格式:chmod xyz 文件名 (xyz是数字)
- linux默认目录权限最高为777;默认文件权限最高为666
前面文件属性的时候有讲到,文件或目录的详细信息分9段,第1段drwxr-xr-x包含文件的类型和所有者,所属组,其他用户对文件的权限;
- r(read)读
- w(write)写
- x(executable)执行
r=4 w=2 x=1
注意:目录必须有x权限,文件没有x权限
1. chmod //修改文件和目录的权限
2. chmod –R //联级更改,修改目录本身及目录下所有的子目录文件权限
还有一种修改方法:
3. chmod a=rwx,g=rx,o=rx 文件名
- u(user) 所有者
- g(group)所属组
- o(others)其他用户
- (all)全部
二、chown更改所有者和所属组
- chown(change ownar)命令用来修改文件的所属主,所属组,其他用户
- chown -R 作用于目录联级修改,目录本身和子目录文件。
- chgrp 修改文件属组 chgrp group1 1.txt
chgrp -R group1 111
- !ls 表示命令历史中以ls开头离我问最近的一条命令 例如:!323 执行ls 命令
- history 历史命令
三、umask命令用于改变文件的默认权限
umask XXX(3个x表示数字)
umask 022
注意:通常只用到后面三位022 --- -w- -w-
- 系统默认情况下目录权限值为755,文件权限为644,这个是有umask规定的
777 rwx rwx rwx 666 rw- rw- rw-
-022 --- -w- -w- -022 --- -w- -w-
= rwx r-x r-x rw- r-- r--
= 7 5 5 6 4 4
四、lsattr 查看文件的特殊属性
- lsattr -d 查看目录本身特殊属性
- lsattr -R 联级,查看目录下子目录子文件的特殊属性
五、chattr 增加删除设定特殊属性
- chattr +a 增加后只能追加,不能删除或者直接更改它的内容,非root用户不能设置该属性
- chattr +i 增加后不能做任何操作,不能添加,删除,重命名,设定链接,修改属主,属组。
- chattr +A 增加后文件或者目录的atime将不可被修改
- chattr +S 增加后会将数据同步写入磁盘中
- 例子1:给文件1.txt加上i权限,然后进行删除,修改、追加内容,修改文件属性,所有者,所属组。
删除i权限后就能正常修改了。
- 例子2:给文件1.txt加上a权限,然后进行删除,修改、追加内容,修改文件属性,所有者,所属组。
- 注意:1.txt加上a权限后,只能进行追加内容
- 针对目录来添加a,i权限
- 给目录加一个i 属性后,不能给这个目录做任何操作,但是不妨碍已经存在的文件进行修改内容,但不能删除这个文件。 例子:
- 给目录加一个a 属性后,该目录能创建文件,修改文件里面的内容,但是不能删除。 例子: