1.用户
用户分为普通用户和root用户
普通用户的一些操作受限
root用户的所有操作都不受限
相关指令:whoami 查询当前用户 su 切换用户 su root(root可省略)切换至root用户
2.文件
文件的权限有三种:r(读) w(写) x(执行)
文件的访问用户分三类:拥有者,所属组用户,其他用户。
分析ls -l命令列出的文件属性
每个文件属性以空格分隔开
第一个属性中第一个字符为一组,后面每三个字符一组,
第一个字符代表文件类型,Linux系统中不以文件后缀区分类型,而是以第一个字符来区分。
-:普通文件,包含文本,源代码,可执行程序,第三方动静态库等
d:目录文件
l:链接文件
p:管道文件
b:块设备文件
c:字符设备文件
后面每三个字符分别表示拥有者权限、所属组权限、其他用户权限。每组中第一个字符表示读权限,r为有读权限-则表示无此权限,后者同理,第二个表示w权限,第三个表示x权限。
第二个属性表示连接数,第五个属性表示文件大小
第三个属性表示拥有者,第四个属性表示所属组
3.权限相关操作
sudo(super user do)
提升此次操作的权限
chmod(更改权限)
更改的用户:u(拥有者) g(所属组) o(其他用户)
权限:- 去除权限 + 增加权限 r 读权限 w 写权限 x 执行权限
方式1:
chmod u-r file.txt 去除file.txt拥有者的读权限
chmod u-wx,g-w,o-rwx file.txt 去掉拥有者的写和执行权限,所属组的写权限,其他用户的所有权限
方式2:
将rwx对应三个二进制位,每个位上1表示有该权限,0表示无该权限。三个二进制位即一个八进制位。一个八进制位就能对应访问用户的一种权限设置,三个八进制位就可分别对应拥有者,所属组,其他用户的权限设置。
chmod 754 file.txt 将拥有者的权限设置为rwx(111),所属组权限设置为r-x(101),其他用户设置为r(100)
方式3:
chmod a=rw- file.txt 将所有访问用户的权限更改为rw-
chown(更改拥有者)
chown root file.txt 将file.txt拥有者更改为root用户
chown root:root file.txt 将file.txt拥有者和所属组更改为root用户
chgrp(更改所属组)
chgrp root file.txt 将file.txt所属组更改为root用户
4.目录权限
进入一个目录所需要的权限是执行权限
若没有执行权限,无法进入目录。
没有读权限,则无法查看目录内容
没有写权限,则无法在目录下创建和删除文件
Linux可以存在共享目录,即其他用户具有rwx权限的目录,某个用户是否能读写目录里的文件,由文件本身权限决定,而用户能删除目录里的任意文件
使用chmod +t 对目录增加粘滞位后,该目录下的文件只能由以下用户删除:
1.root用户
2.目录的拥有者
3.文件的拥有者
当目录拥有者和所属组被设置为root时,普通用户只能删除目录里自己的文件
Linux下
普通文件的默认权限是666
目录文件的默认权限是777
默认权限掩码umask为0002
则普通文件最终权限即664,目录文件最终权限775
配合权限掩码可以设置文件创建后的权限