一、权限的概念
1.用户对操作系统的操作上权限分类
- 用户对操作系统的操作上权限分类:超级用户(管理员用户)root和普通用户。
- 超级用户(管理员用户)(root):可以在Linux系统下做任何事情,不受限制。
- 普通用户:在Linux系统下做有限的事情。
- sudo ls/root :临时对当前用户进行ls命令赋予root权限。
- 设置sudo功能 :./etc/sudoers。去修改。
2.用户能够对文件进行操作权限
- 用户再操作文件时,首先对用户分类:文件的所有者(u—User),文件的所属组(g—Group),和其他用户(o----Other)。
- 用户对文件进行的操作分类:可读操作(r),可写操作(w)和可执行操作(x)。
- 用户对目录进行的操作分类:可浏览操作,可创建操作和可进入操作。
3.文件权限表示
- rwxrwxr-x
① 第一组rwx表示为文件所用者(u)拥有可读可写可执行操作。
② 第二组rwx表示为文件所属组(g)拥有可读可写可执行操作。
③ 第三组r-x百世为其他用户(o)拥有可读不可写可执行操作。
④ - :表示无权限。
4.文件权限存储
- rw- — ---(其二进制表示为110 000 000,其八进制表示为6 0 0)。
- rw- r-- r-- (其二进制表示为110 100 100,其八进制表示为6 4 4)。
- 653所属组:653二进制位110 101 011 故其文件权限为rw- r-x -wx,理解为文件所有者(u)有可读可写操作,文件所属组(g)有可读可执行操作,其他用户(o)有可写可执行操作。
- 目录文件默认不是一个可执行程序,故不可执行。
- umask出来的是权限掩码,如022,此时要获得正确权限:777 & (~022) = 755,755其二进制为 111 101 101,其文件权限为rwx r-x r-x,理解为文件所有者(u)有可读可写可执行操作,文件所属组(g)有可读可执行操作,其他用户(o)有可读可执行操作。
- 777 等价于 a+r a+w a+x(a表示all为三个所有的类型的文件用户的统称)。
二、权限指令
- umask :查看/修改文件的默认创建权限掩码。
- chmod :修改文件权限, [ugoa] + / [ugoa] - [rwx]
如:
① u - r :文件所有者减少一个可读操作的权限。
② o + x:文件其他用户增加一个可写操作的权限。
用法:chmod g + w abc.txt 或者 chmod 644 abc.txt - chown :修改文件所有者。(能修改文件属性的是文件的所有者和root用户)
用法:chown username filename
先 su root
再 chown san abc.txt
最后 su san - chgrp:修改文件所属组。(能修改文件属性的是文件的所有者和root用户)
用法:chgrp san abc.txt - 沾滞位(主要针对目录):其他的用户可以在一个目录下创建文件删除自己创建的文件,但不能删除别人的文件。
场景:一个目录下,所有的用户都能创建文件,但不能删除别人的文件。
使用设置:chmod + t 目录名
当一个目录被设置为“沾滞位”,则该目录只能由root删除或者该目录的所有者删除或者该文件的所有者删除。
三、目录权限
- 可执行权限:如果目录没有可执行权限,则无法cd到目录中。
- 可读权限:如果目录没有可读权限,则无法用ls等命令查看目录中的文件内容。
- 可写权限:如果目录没有可写权限,则无法在目录中创建文件,也无法在目录中删除文件。
四、总结
- 目录的可执行权限时表示你可否在目录下执行命令。
- 若目录没有-x权限,则无法对目录执行任何命令,甚至无法cd进入目录,即使目录仍然有-r (读权限)。
- 若目录具有-x权限,但没有-r权限,则用户可以执行命令,可以cd进入目录。但由于没有-r (读权限),所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。