一、Linux下的用户
- 超级用户(root):可以在Linux系统下做任何事情,不受限制
- 普通用户:在Linux系统下做的事情有限制
命令:su 用户名
功能:切换到另一个用户
举例:当超级用户切换到 普通用户user 时,使用 su user。而当普通用户切换到 超级用户时,使用 su root (root可以省略)
二、Linux权限管理
2.1 文件访问者的分类
- u-User :文件或目录的所有者
- g-Group:文件或目录所有者所处在的组
- o-Others:除User与Group其他的都是
2.2 文件类型与访问权限
2.2.1 文件类型
对应文件信息第一位
- d:文件夹
- -:普通文件
- l:软链接(类似Windows的快捷方式)
- b:块设备文件(例如硬盘、光驱等)
- p:管道文件
- c:字符设备文件(例如屏幕等串口设备)
- s:套接口文件
2.2.2 基本权限
对应文件信息的第2到第10位。一共 9位,前3位代表所有者权限,中间3位代表组权限,后3位代表其他人权限
- r:可读
- w:可写
- x:可执行
- -:不具有某项权限
2.3 文件访问权限的设置
(1)chmod
命令:chmod 选项 权限 文件名
功能:设置文件的访问权限
选项:-R 递归修改目录权限 (注意只有文件所有者与root才有改变文件权限的能力)
权限格式:
(a) u 或 g 或 o 或 a +/-/= r/w/x
- u:拥有者
- g:拥有者同组用
- o:其它用户
- a:所有用户
- :向权限范围增加权限代号所表示的权限
- -:向权限范围取消权限代号所表示的权限
- =:向权限范围赋予权限代号所表示的权限
(b)3个二进制数
三个二进制数分别代表u、g、o的权限
rwx 分别代表 4 2 1
示例:
chmod 664 text.txt
chmod 664
(2)chown
命令:chown 选项 用户 文件名
功能:改变文件拥有者
示例:
chown -R user1 file
(3)chgrp
命令:chgrp 选项 所属组 文件名
功能:改变文件或目录的所属组
示例:
chgrp -R users file
(4)umask
命令:umask #查看掩码
umask 044 #设置掩码
新建的文件默认权限等于 0666
新建的目录默认权限等于0777
但是实际显示时,权限值并不是上面的值,是由于掩码的存在。
(5)file
命令:file 选项 文件名或目录
功能:查看文件类型
选项:
- -c 查看指令执行过程
- -z 尝试解读压缩文件内容
(6)sudo
命令:sudo 选项 命令
功能:普通用户以超级用户的权限执行事件
三、目录的权限
可执行权限:如果一个目录没有可执行权限,那么无法cd到目录中
可读权限:如果一个目录没有可读权限,那么无法ls该目录
可写权限:如果一个目录没有可写权限,那么无法在目录中创建新文件或删除文件
四、粘滞位
如果一个文件可以被多个用户维护的时候,由于 只要有该目录下的写文件权限,一个用户就可以删除另一个用户创建的文件,为了避免这种情况发生,Linux创建了粘滞位。
命令:chmod +t 目录
功能:在多用户维护该目录的情况下,每个人都可以写文件,但是在删除的时候是不被允许的。
这时候在该目录下删除文件只有 该文件拥有者 和 超级用户(root)可以删除。