㈠ 普通权限
用户正常情况去操作文件所具有的权限
rwx-421
对一个目录拥有x权限,说明可以进入或切换到该目录里
对一个目录拥有w权限,说明可以在该目录里创建、删除、重命名等操作(mkdir/touch/mv/rm等)
UGO,指的是用户身份,每个字母代表不同的用户身份。U(the User who owns it),G(other users in the file’s Group),O(Other users not in the file’s group)
除了ugo外,还有一个字母a(all users)表示所有用户。
chmod u+x file1 chmod g-w file2 chmod o=r file3 chmod 644 file4 # 通过数字形式更改权限
对于正常能够操作的目录来说,应该默认具备r-x
㈡ 高级权限
用户对某个文件操作有特殊需求,而普通权限不能满足,需要给文件设置高级权限。
1.冒险位(SETUID)
给一个vim命令设置冒险位,目的是任何人拿vim去修改文件可以临时获得文件拥有者的权限
chmod u+s /usr/bin/vim
2.强制位(SETGID)
给dir2设置一个强制位,测试是否任何人在该目录里创建的文件属组都是该目录的属组。
3.粘滞位(STICKY)
在创建一个公共目录dir3,要求所有人都可以在该公共目录里创建、删除文件;但是只能自己管理自己,不能删除别人的文件
chmod 777 dir3 chmod o+t dir3
《Linux文件特殊权限 SUID/SGID/Sticky Bit》
㈢ 默认权限
用户在系统中创建一个文件,该文件默认都会有一个权限,该权限是默认有的,即文件的默认权限(遮罩权限)。默认权限由一个叫做umask的东西来控制。
除了以上介绍的普通权限、高级权限、默认权限外,如果需要更加细致的控制用户对文件的权限,还可以通过ACL策略来控制。
时刻谨记:
权限是设置在文件上的,目的是让某个用户拥有操作文件的权利。