********为文件或文件夹添加权限的主要依据还是按照 修改普通权限--->隐藏权限--->特殊权限的顺序来设置。
1:***********修改文件权限,从文件权限的顺序来判断是否具有改文件的权限。
-rwxrwxrwx r=4 w=2 x=1 第一个wrx代表user的权限,第二个rwx代表user的group的权限, 第三个rwx代表other的权限
2:修改普通权限的命令
chmod命令两种用法
chmod u=rwx,g=w,o= file1
chmod 740 file1
3:********删除文件要看文件夹权限,即使文件没有任何权限
(changeowner,changegroup)
4:chown user:group file 修改当前用户的文件为user和当前文件的所属组为group
5:chgrp group file 修改当前用户的文件的所属组为group
************修改文件的隐藏属性,包括管理员在内。
(changeattribute,listattribute)
6:chattr +a file1 a的意思为append附加的意思,也就是只有添加权限 +表示添加该属性,-表示去掉该属性
chattr -R +i dir i的英文为immutable锁定的意思,也就是改文件被锁定,包括管理员也不能修改。-R 为目录下所有文件递归改属性
7: lsattr dir 表示查看文件夹下面所有文件的隐藏属性,不包含文件夹,-d 表示只查看文件夹的隐藏属性。
8:*********修改文件的特殊权限
特殊权限加在权限为的x位,分别对应user的SUID 数字表示为4 ,gruop的SGID 数字表示为2,other的Sticky 数字表示为1
若在x位显示的为s,表示既有可执行权限x,也有SUID权限,一次类推,在group的x为如果为s
/*********/
使用方法为 chmod u+s,g+s,o+t file
9:对文件而言:在user位将x改为s,则表示所有执行该文件的用户拥有文件所有者的所有权限。
:在group位将x改为s,则表示所有执行改文件的用户拥有该文件的所有者的组的所有权限。
对文件夹而言:在group位将x改为s,则表示在该文件夹下创建文件,文件的所属组为文件的所属组,
:在other位将x改为t,则表示在文件下创建的对象只有创建者和root有删除修改权限,其他用户没有任何权限。
10:对单个用户赋予不同的权限,在权限信息栏被赋予了acl权限的会显示一个+
使用setfacl(set file access control list)命令 -m 表示添加单个用户权限,-b 表示删除所有的acl权限,-x表示删除特定文件的acl
使用语法:
setfacl -m user:hujingguang:rw filename ; 表示用户hujingguang拥有对该文件的读写权限
setfacl -m group:adimi:r filname ;表示组adimi中所有的用户对该文件有读权限
setfacl -m other::0 filename ;表示其他用户对该文件没有任何权限
setfacl -m default:user:hujingguang:rw dirname; 表示目录dirname下所有新建的文件对用户hujingguang都递归的读写权限
11:查看文件的acl属性 :getfacl filename
12:可执行权限X不仅具有可执行,对目录来说还有检索的功能,一个文件夹没有x权限则没有任何意义。
13: umask命令用来修改用户的默认权限,内核的文件的默认权限为666,文件夹的默认权限为777。 默认权限的配置在/etc/profile文件中,修改改文件则将修改所有的用户的默认权限,如果只修改一个用户的默认权限则修改用户的.bash_profile文件。
管理员的默认文件umask值为0002 文件夹的默认umask值为0022。
计算用户的默认权限是通过默认权限去除umask值之后得到的值,并非简单的相减。