目录
一. 文件的权限
1.文件的属性介绍
ls -l file //查看文件的属性,也可以用 ll
- (1)rw- r-- r--(2) 1(3) wangdassye(4) wangdassye(5) 573(6) Jan 3 08:13(7) file(8) //括号表示备注
(1)文件类型
-:普通文件
d: 目录
c: 字符设备
s: 套接字文件
p: 管道
b:块设备
(2)rw- r-- r--
rw-:拥有者的权限
r-- :所属组的权限
r-- :其他人的权限
(3)相对文件 :文件内容被系统记录的次数(不是被访问的次数)
相对于目录:目录下二级子目录的个数
(4)文件的拥有者
(5)文件的所属组
(6)文件内容的大小
(7)文件最后一次被修改的时间
(8)文件的名字
2. 文件读写权限的修改
chmod g+wrx file //修改所属组的权限
(
x:表示执行权限 +:加权限 -:减权限
w:读 对文件:可以更改文件内的字符
对目录:在目录中可以增查删改
r:写 对文件:可以查看文件的字符
对目录:可以查看目录中的文件/目录的信息
x:执行 对文件:可以运行文件中记录的程序动作
对目录:可以进入目录
)
chown username file|dir //修改拥有者
chgrp groupname file|dir //修改所属组
chown -R username.groupname dir|file //(-R :第归修改)同时修改拥有着和所属者
chmod g+wx file //给file的所属组添加 wx 权限
chmod u-w file //给file文件的拥有者去掉 w 权限
chown root file //修改file文件的拥有者
chown root.root file //同时修改拥有者和所属者
wrx也可以用数字来表示 :
w : 4 r : 2 x : 1
chmod 066 file //即设置文件的权限为--- wr- wr-
3. 系统默认的权限设定
文件的默认满权限为 666
目录的默认的满权限 777
设定方式
umask //查看系统剪掉的权限
umask xxxx //修改该系统减掉的权限,临时设定,只在当前的shell生效
umask 0033 //临时设定系统减掉的权限
永久设定
vim /etc/bashrc 第70行
vim /etc/profile 第60行
以上两个文件的umask值必须保持一致
source /etc/bashrc; source /etc/profile //执行这两条命令让系统重新加哉配置文件,让设定立即生效
补充:我们都知道 vim 有强制保存退出,当一个文件的拥有者只读的权限,只有在这个拥有者的环境下,即便只有读的权限,依然是可以wq强制保存退出的,切换的其他用户的环境下wq强制保存退出无效!
二. 文件的访问控制-----acl 表
1. acl的基本命令
cal = access control //特殊的用户对特殊的文件有特殊的权限
getfacl file //查看acl,当文件/目录有acl权限列表时,ls-l能看到的权限不一定是正确的,完整的
(
user:xxxx:rwx //acl列表中(特殊用户)的权限
mask::rwx //权限掩码,当用chmod改变文件普通权限的时候可能会破坏acl mask
) //用getfacl 查看还有其他的信息 这里重点标注这两个
getfacl file //查看acl
setfacl -m u:student:rwx file //开启acl
setfacl -x u:student file //删除acl列表中的用户
setfacl -b file //关闭acl列表中的用户
sefacl -m m: rw- file //修改mask用户的权限 最终行不行得看mask的权限
getfacl file //查看acl
setfacl -m u:temp:rwx file //开启acl
sefacl -m m: rw- file //修改mask用户的权限 最终行不行得看mask的权限
setfacl -b file //关闭acl列表中的用户
setfacl -x u:temp file //删除acl中的用户
补充:acl 的默认权限
1. 当需要对普通用户对属于root的某个目录拥有写的权限时,并且目录中新建的子目录对普通目录也生效,就要设定acl默认权限(设定权限)
2 . 默认权限只对目录中新建的目录或文件生效,对已经建立的目录和文件无效,对目录本身也无效
2. suid 冒险位
只针对二进制可执行文件,文件内记录的程序产生的进程的拥有者为文件的拥有着和进程的发起人没关系(公司的员工作的项目挣的钱属于公司,不属于员工)
chmod 4xxx 命令文件 //添加冒险位权限
chmod u+s 命令文件 //添加冒险位
3. guid 强制位
对文件:只针对二进制可执行文件,任何让你运行二进制文件程序产生的进程的所有组都是文件的所有组和程序发起人组的身 份无关
对目录:当目录有sgid权限后,目录中新建的所有文件的所有组都自动归属到目录的所有组之中,和文件建立这所在的组无关
chmod 2xxx file|dir
chmod g+s file|dir //添加强制位
4. sticky 粘制位
t权限: 只针对于目录,当一个目录上有t权限,那么目录中的文件只能被文件的拥有者删除
chmod 1xxx dri(目录) //设置粘制位
补充: 自己用是windows下的虚拟机,并非linux下的虚拟机,没有随意设置root 所以没有截图