权限
Linux 权限的概念
-
Linux 下有两种用户:超级用户(root),普通用户。
- 超级用户:可以在 linux 系统下做任何事情,不受限制。
- 普通用户:在 linux 下做有限的事情
- 超级管理员的命令提示符是"#“,普通用户的命令提示符是”$"
-
超级用户和普通用户之间的切换
- 超级用户=>普通用户:
- 指令:exit
- 指定用户:su 用户名 (输入用户的密码)
- 普通用户=>超级用户:
- 指令:su 或者 su - (输入 root 的密码)
- 超级用户=>普通用户:
-
暂时对某一条命令做提权。也就是在普通用户中,对某条命令以 root 身份运行
-
指令:sudo 指令 (输入普通用户的密码)
-
注意:如果是新建的用户,没有颁发执行 sudo,系统默认不信任新用户,除非将普通会员添加到系统白名单中。
-
Linux 权限管理
-
文件访问者分类
- 文件和文件目录的拥有者:u——user
- 文件和文件目录的拥有者所在的组的用户:g——group
- 其他用户:o——other
-
文件类型和访问权限
-
Linux 中的文件类型
Linux 系统中文件名后缀没有直接的意义。一般不根据文件后缀作区分,而是根据第一位现实的文件类型来确定。
- 类型:
- -:普通文件(文本,可执行程序,库)
- d:文件夹
- l:软连接(类似 Windows 的快捷方式)
- b:块设备文件(磁盘,硬盘等)
- c:字符串设备文件(屏幕等串口设备)
- p:管道文件
- 权限符号
- r:可读
- w:可写
- x:可执行
- -:对应的权限位置没有权限
权限修改问题
-
可以更改文件权限的角色
- 文件的拥有者
- root 用户
-
权限修改指令
-
- chmod
-
功能:设置文件的访问权限
-
格式:chmod [参数] 权限 文件名
-
常用选项:
- R->递归修改目录文件的权限
- 说明:只有文件的拥有者和 root 才能改变文件的权限
-
chmod 命令权限值的格式
- +:增加某个权限
- -:删除某个权限
- =:赋予某个权限
- u:拥有者
- g:所属组
- o:其他用户
- a:所有用户
-
添加权限
- chmod u+w 文件名 (给文件添加 拥有者可写权限)
- chmod u+x 文件名 (给文件添加 拥有者可执行权限)
- chmod u+rwx 文件名 (给文件添加 拥有者所有权限)
- chmod u+rwx,g+rwx 文件名 (给文件添加 拥有者所有权限 所属组所有权限)
- chmod a+rwx 文件名 (给所有人添加所有权限)
- 删除权限
- chmod u-w 文件名 (给文件删除 拥有者可写权限)
- chmod u-x 文件名 (给文件删除 拥有者可执行权限)
- chmod u-rwx 文件名 (给文件删除 拥有者所有权限)
- chmod u-rwx,g-rwx 文件名 (给文件删除 拥有者所有权限 所属组所有权限)
- chmod a-rwx 文件名 (给所有人删除所有权限)
-
二进制表示方式
权限符号 八进制 二进制 r 4 100 w 2 010 x 1 001 rw 6 110 rx 5 101 wx 3 011 rwx 7 111 — 0 000
-
- chown
- 功能:修改文件的拥有者
- 格式:chown[参数] 用户名 文件名
- 例子:
chown user1 fo chown -R user1 file
-
- chgrp
- 功能:修改文件或目录的所属组
- 格式:chgrp [参数] 用户组名 文件名
- 常用选项:-R 递归修改文件或目录的所属组
-
其他问题
为什么默认权限是这样的?
- 普通文件默认权限:rw-rw-r–(664)
- 文件夹默认权限:rwxrwxr-x(775)
在 linux 中,普通文件默认起始权限为 (rw-rw-rw-)666;文件夹默认起始权限为 (rwxrwxrwx)777。
-
这与 umask 权限掩码有关
凡是在 umask 中出现的权限,最终不会在最终文件权限中出现
-
查看 umask 掩码
- 指令:umask
- umask 值:一般为 (000 000 010)002
-
默认起始权限与 umask 掩码的运算
首先将 umask 按位取反(~),然后再与默认起始权限按位与(&)。
- 普通文件:(110 110 110) & (~(000 000 010))=>110 110 100
- 文件目录:(111 111 111) & (~(000 000 010))=>111 111 101
-
目录的读写执行代表什么?
- -r:可以进入到目录中,但是可以决定是否可以查看目录中的内容。
- -w:可以进入到目录中,但是可以决定是否可以在该目录下创建,更改,删除文件。
- -x:决定是否可以进入到目录中。