天天看点

Linux基础&权限的管理✍

查看文件时的详细信息:

d(文件类型) r-xr-x—.(权限) 2 (硬链接次数) root (所属用户) root(所属组) 6(文件大小) Dec 11 15:02(文件的最后一次修改时间) Music(文件名)

Linux基础&权限的管理✍

权限:rw-r–r-- 每三个为一个小组 ,分别时一下的权限:

属主的权限u 属组的权限g 其他人的权限o

权限分为三种 r w x

读:r 4

写:w 2

执行:x 1

在修改权限时也可直接 输入数字进行更改 如一下 分别为数字对应权限

000 0 —

001 1 --x

010 2 -w-

011 3 -wx

100 4 r–

101 5 r-x

110 6 rw-

111 7 rwx

rwxr-xr-x:755

对于目录和普通文件 r w x 的含义

Linux基础&权限的管理✍

修改权限 1. chmod 777 文件名

chmod 6 A.txt (o)

chmod 66 A.txt (go)

chmod 777 A.txt (ugo)

2. [[email protected] ~]# chmod ugo=rwx A.txt

chmod u+w,o+x,g+r A.txt

chmod u/g/o/ +/=/- r /w/x 文件名 (/中的分别随机组合进行修改权限) 加减只能对自己本身存在的权限有影响,等号等于覆盖之前的文件权限c

chown 修改 所属用户

chown 用户名 文件名

chown 用户名**:组名 文件名

chown 用户名.**组名 文件名

chown **.**组名 文件名

chown : 组名 文件名

chgrp 只修改所属组

chgrp 组名 文件名

对目录和文件进行 r w x 的指令

Linux基础&权限的管理✍

特殊权限

u+s

suid:让进程不再属于它的发起者,而是属于程序文件本身。(suid只对二进制文件有效;调用者对该文件有执行权;在执行过程中,调用者会暂时获得该文件的所有者权限;该权限只在程序执行的过程中有效)

查找passwd的程序文件位置:which passwd

chmod u+s /usr/bin/passwd

先找到查看命令的程序文件位置,which cat

查看文本文件如果说 要求你执行的某种命令后产生的变化为统一的,则对该指令进行查看 例如:实现一个功能,当使用任何用户创建目录的时候,它的所属者为root。则对其指令进行

Linux基础&权限的管理✍
Linux基础&权限的管理✍

)

**sgid:g+s,**对于普通文件,以组的权限执行修改/usr/bin/touch的g+s,touch文件后文件所属组为root(作用于普通文件时,和suid类似);对于目录文件,目录的属组是谁,在目录下创建的文件的属组是目录的属组。

例如:.创建一个目录为/exercise,在该目录下创建一个目录为red,实现一个功能:任何用户在red目录下创建文件的时候的所属组为redhat。

[[email protected] /]# mkdir /exercise

[[email protected] /]# mkdir /exercise/red

[[email protected] /]# chgrp redhat /exercise/red

[[email protected] /]# ll -d /exercise/red

drwxr-xr-x. 2 root redhat 6 Jan 26 16:52 /exercise/red

[[email protected] /]# chmod g+s /exercise/red/

[[email protected] /]# su xiaohong

[[email protected] /]$ touch /exercise/red/c

[[email protected] /]$ ll /exercise/red/

total 0

-rw-rw-r–. 1 xiaohong root 0 Jan 26 16:59 a

-rw-rw-r–. 1 xiaohong root 0 Jan 26 17:02 b

-rw-rw-r–. 1 xiaohong redhat 0 Jan 26 17:04 c

sticky,o+t:不能够删除其他用户在同目录里创建的文件,也无法修改其他用户创建的文件的内容,可删除修改自己创建的文件

例如:.在exercise目录下创建一个目录为nochange,任何普通用户都只能删除自己在该目录下创建的文件,无法删除其他用户创建的文件。

mkdir /exercise/nochange

[[email protected] /]# chmod o+t /exercise/nochange/

[[email protected] /]# ll -d /exercise/nochange/

drwxr-xr-t. 2 root root 6 Jan 26 17:05 /exercise/nochange/

[[email protected] /]# chmod o+w /exercise/nochange/

[[email protected] /]# su xiaohong

[[email protected] /]$ touch /exercise/nochange/a

[[email protected] /]$ exit

exit

[[email protected] /]# su redhat

[[email protected] /]$ touch /exercise/nochange/b

[[email protected] /]# su redhat

[[email protected] /]$ rm -f /exercise/nochange/b

[[email protected] /]$ rm -f /exercise/nochange/a

rm: cannot remove ‘/exercise/nochange/a’: Operation not permitted

[[email protected] /]$ ll /exercise/nochange/

total 0

-rw-rw-r–. 1 xiaohong xiaohong 0 Jan 26 17:08 a

**o+t 测试方法**
1.创建目录/test 
2.添加三个用户
3.让每一个用户在目录里面写文件
4.用户3删除1和2用户的文件
5.目录 o+t 
6.重复3、4步操作,验证是否能够删除其他用户在同目录里创建的文件
           

(如果说 要求你执行的某种命令后产生的变化为统一的,则对该指令进行查看 例如:实现一个功能,当使用任何用户创建目录的时候,它的所属者为root。则对其指令进行

Linux基础&权限的管理✍
Linux基础&权限的管理✍

)

ACL可以对某个文件设置该文件具体的某些用户的权限,意思就是通过ACL可以对一个文件权限做扩展,可以不同的用户对某个文件有不同的权限。

获取文件的访问控制信息:getfacl 文件名

sefacl 设置文件的acl

修改文件的acl:setfacl -m u:用户名:权限 文件名/目录名

setfacl -m g:组名:权限 文件名

setfacl -b 文件名 (清空acl 权限)

setfacl -x g:组名 文件名

查看权限掩码:umask 0022

当前面第一位为2和4权限就叫强制位,1的权限就是冒险位,2代表GID,4代表的是uid,1代表的是sticky

权限掩码:控制创建文件的权限

查看权限掩码:umask

修改权限掩码:umask 022

普通文件的权限属性:666

目录文件的权限属性:777

继续阅读