Linux教程(6)-Linux中的文件权限

Linux文件权限
Linux教程(6)-Linux中的文件权限
权限:
文件的属性:第一个字符

d:表示目录
-:表示文件
l:连接文件
b:设备文件,提供存储的接口设备
c:设备文件,提供串行的接口设备–键盘,鼠标

Linux教程(6)-Linux中的文件权限
权限:
文件的权限:所有者,所属组,其他人

rwx,读、写、执行,没有权限就是-
第一个组rwx:文件所有者的权限
第二个组rwx:文件所属组的权限
第三个组rwx:文件其他人的权限

Linux教程(6)-Linux中的文件权限
权限:
目录的权限:

r:具有读取目录结构列表的权限,可以查看目录下有哪些文件
w:该权限对于目录来说是很大的,
1、可以在该目录下新建新的文件和目录
2、可以删除已经存在的文件和目录
3、将已经存在的文件和目录重命名
4、移动该目录内的文件和目录的位置
x:是否可以进入该目录

假设test1, test2, test3 同属于testgroup 这个群组,如果有下面的两个文件,请说明两个文件的拥有者与其相关的权限为何?
-rw-r–r– 1 root root 238 Jun 18 17:22 test.txt
-rwxr-xr– 1 test1 testgroup 5238 Jun 19 10:25 lewis.txt

文件test.txt 的拥有者为root,所属群组为root。至于权限方面则只有root 这个账号可以存取此文件,其他人则仅能读此文件;

假设test1, test2, test3 同属于testgroup 这个群组,如果有下面的两个文件,请说明两个文件的拥有者与其相关的权限为何?
-rw-r–r– 1 root root 238 Jun 18 17:22 test.txt
-rwxr-xr– 1 test1 testgroup 5238 Jun 19 10:25 lewis.txt

lewis.txt的拥有者为test1,而所属群组为testgroup。
1、test1 可以针对此档案具有可读可写可执行的权力;
2、同群组的test2, test3 两个人与test1 同样是testgroup 的群组账号,则仅可读可执行但不能写(亦即不能修改);
3、至于非testgoup 这一个群组的人则仅可以读,不能写也不能执行!

如果我的目录为底下的样式,请问testgroup 这个群组的成员与其他人(others)是否可以进入本目录?
drwxr-xr– 1 test1 testgroup 5238 Jun 19 10:25 groups/

文件拥有者test1[rwx]可以在本目录中进行任何工作;
而testgroup 这个群组[r-x]的账号,例如test2, test3 亦可以进入本目录进行工作,但是不能在本目录下进行写入的动作;
other 的权限中[r–]虽然有r ,但是由于没有x 的权限,因此others 的使用者,并不能进入此目录!

修改Linux中的文件权限
chown:修改文件的拥有者,前提是要有该拥有者
chown 拥有者 文件/目录
-R 递归修改
Linux教程(6)-Linux中的文件权限
chgrp:修改文件所属组,前提是要有该组

Linux教程(6)-Linux中的文件权限
-R 递归修改
Linux教程(6)-Linux中的文件权限
chmod:修改拥有者和所属组的权限
加减法:u/g/o +/-/= r/w/x
数字法:r=4,w=2,x=1
rwx=4+2+1=7
rw-=4+2=6
r–=4
r-x=4+1=5
Linux教程(6)-Linux中的文件权限

groupadd:创建组
组的默认信息:/etc/login.defs
-g:指定gid
groupdel
groupmod

gpasswd
-a 为组添加用户 : gpasswd -a 用户 组
-d 为组删除用户

证明文件的RWX权限的特点
文件的拥有者,即使没有w权限,也可以强制写入。所属组和其他人不行。

证明目录的RWX权限的特点
如果一个用户对一个目录没有w的权限,是否可以编辑该目录中拥有者是自己的文件?是可以的
Linux教程(6)-Linux中的文件权限
Linux教程(6)-Linux中的文件权限

Linux中的默认权限
umask:查看当前用户的umask权限; -S 选项
0022—拿走的权限
第一个数字表示特殊权限
022=rwxr-xr-x

默认创建文件和目录的权限,文件会拿走X权限
Linux教程(6)-Linux中的文件权限

临时的修改:umask 0000
永久修改: /etc/bashrc(不建议)

假设你的 umask 为 003 ,请问该 umask 情況下,建立的文件和目录的权限分为多少

答:umask 为 003 ,所以拿掉的权限为 ——–wx,
因此:文件: (-rw-rw-rw-) - (——–wx) = -rw-rw-r–
目录: (drwxrwxrwx) - (d——-wx) = drwxrwxr–

普通用户:002
Root:022

在什么情况下,要使用umask

假设你和的同事在同一个目录下进行同一个项目的工作。如果使用默认权限022,那么你创建的文件,你的同事将无法编辑。因此我们可以将权限调整为002

Linux中的特殊权限
文件的特殊权限-SUID SGID SBIT
Linux教程(6)-Linux中的文件权限
当s出现在拥有者的x权限位置时候,表示拥有者有SUID的权限(Set UID)
当s出现在所属组的x权限位置时候,表示所属组有SGID的权限(Set GID)
当t出现在其他人的x权限位置时候,表示其他人有SBIT的权限(Sticky Bit)
Linux教程(6)-Linux中的文件权限

SUID,临时获取文件拥有者的权限—只能针对文件
SGID,即使可以作用于目录,也可以作用于文件
作用于文件:SUID一样
作用于目录:继承父集目录—目录会不停的继承
SBIT指的是,只有文件的拥有者,才能删除,修改该目录下的文件—只能针对目录,只能在其他人的位置上进行修改

S和T都有大写和小写之分
大写说明:没有x权限
小写说明:有x权限
SUID=4 SGID=2 SBIT=1
Linux教程(6)-Linux中的文件权限