Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁能通过何种方式对文件和目录进行访问和操作。
文件或目录的访问权限有三种:只读、只写、可执行。
Linux下有两种用户:超级用户(root用户)、普通用户。
- 超级用户:可以在Linux系统下做任何事情,不受限制。超级用户的命令提示符是 ‘#’
- 普通用户:在Linux系统下做权限范围内的事情。普通用户的命令提示符是 ‘$’ 。
命令:su - 用户名
功能:切换用户
Linux权限管理
- 文件访问者的分类
有三种不同类型的用户可对文件或目录进行访问:文件所有者(u)、同组用户(g)、其他用户(o)。
所有者一般是文件的创建者。所有者能允许同组用户有权访问文件,还能将文件的访问权限赋予系统中的其他用户。
在这种情况下,系统中每一位用户都能访问该用户拥有的文件或目录。
- 文件访问权限的种类
① 读(r):Read对文件而言,具有读取文件内容的权限;对目录来说,具有浏览该目录信息的权限。
② 写(w):Write对文件而言,具有修改文件内容的权限;对目录来说,具有删除移动目录内文件的权限。
③ 执行(x):Execute对文件而言,具有执行文件的权限;对目录来说,具有进入目录的权限。
④ “-” 表示不具有该项选项。
只读权限表示只允许读其内容,而禁止对其做所有的更改操作。
可执行权限表示允许将该文件作为一个程序执行。
文件被创建时,文件所有者自动拥有对该文件的读、写和可执行权限,以便于对文件的阅读和修改。
用户也可根据需要把访问权限设置为需要的所有组合。
- 文件权限值的表示方法
①字符表示方法
②八进制数值表示方法
文件权限的设置和修改
chmod
功能:设置文件的访问权限
用法:chmod [参数] 权限 文件名
(说明:只有文件的拥有者和root才可以改变文件的权限)
用户表示符+/-=权限字符
- +:向权限范围增加权限代号所代表的权限
- -:向权限范围取消权限代号所代表的权限
- =:向权限范围赋予权限代号所表示的权限
- 用户符号:u(拥有者)、g(拥有者组)、o(其他用户)、a(所有用户)
示例:
chown
功能:修改文件的拥有者
格式:chown [参数] 用户名 文件名
示例:
umask
功能:查看或修改文件掩码
新建文件夹默认权限 = 0666 & (取反权限掩码)
新建目录默认权限 = 0777 &(取反权限掩码)
格式:umask权限值
说明:将现有的存取权限与取反后的权限掩码按位与后,即可产生新建文件时的预设权限。管理员用户默认掩码值为0022,普通用户默认掩码值为0002.
示例:
黏贴位权限(sticky)
a.当一个目录被设置为“黏贴位”(用chmod + t)权限,则该目录下文件只能由超级管理员删除、该目录的拥有者删除、该文件的拥有者删除。
b.用户黏贴位只有在拥有执行权(x)的情况下设置用户黏贴位才有效。c.用户黏贴位可以很好的对文件进行保护,尤其在视频等网站上,用户可以上传下载文件,却无法删除别人所上传的文件,这也是用户黏贴位的一大用途。