一、查看文件的属性
ls -l = ll (长链接)
-rw-r--r--. 1 root root 0 Oct 28 05:01 file
1 2 3 4 5 6 7 8
1.文件的类型:
-:普通文件
d:目录
c:字符设备
s:套接字
p:管道
b:块设备
l:链接文件
2.文件的权限(读 写 执行)
3.对文件来说:文件内容被系统记录的次数(链接数)
对目录来说:第一级子目录数
4.文件的拥有者
5.文件的所属组
6.文件的内容大小
7.文件最后一次被修改的时间
8.文件名
ls -dl dir (列出目录本身的属性)
二、文件拥有者 所属组的管理
chown username file|dir 更改文件或目录的拥有者
chown username.groupname file|dir 更改文件或目录的拥有者和所属组
chown -R username dir 更改目录本身及其内部的拥有者
chgrp groupname file|dir 更改文件或目录的所属组
chgrp -R groupname dir 更改目录本身及内部的所属组
三、文件的普通权限
rw-|r--|r--
u g o
1.r:
对文件:可以查看文件的的字符(内容)
对目录:可以查看目录中的文件信息
2.w:
对文件:可以更改文件内的字符
对目录:可以在目录中添加/删除文件或目录
3.x:
对文件:可以运行文件内记录的程序的动作
对目录:可以进入目录
四、字符方式修改文件权限
chmod [-R] <u|g|o> <+|-> <r|w|x> file|dir
chmod u-x filename file拥有者去掉执行权限
chmod g+w filename file所属组增加写权限
chmod u-x,g+w filename file拥有者去掉x权限,所属组增加写权限
chmod ugo-r filename file拥有者、所属组和其他用户都去掉读权限
chmod ug+x,o-r filename file拥有者和所属组增加x权限,其他用户去掉读权限
五、权限用数字表示
在linux里面权限可用数字代替
r:4 w:2 x:1
文件权限数字表示方式
rw-|r--|r--
u g o
u=rw=4+2+0=6
g=r--=4+0+0=4
o=r--=4+0+0=4
所以文件权限表示为:644
chmod 修改后权限值 filename|dir
chmod 777 file ##代表满权限
7=rwx
6=rw-
5=r-x
4=r--
3=-wx
2=-w-
1=--x
0=---
六、系统默认权限设定
1.临时设定
umask ##查看系统保留权限默认 超级用户为022 普通用户为002
umask 077 ##修改系统保留权限为077,此设定为临时设定,只在当前shell中生效
永久设定方式:
vim /etc/bashrc
##71行为普通用户
##73行为超级用户
vim /etc/profile
##60行为普通用户
##62行为超级用户
以上两个文件umask设定必须一致
然后
source /etc/bashrc
source /etc/profile
七、acl访问控制列表
acl=access control
指定特殊用户对特殊文件有特殊权限
设定:
setfacl -m <u|g>:<username|groupname>:权限 文件|目录
setfacl -m u:student:rwx file
setfacl -m d:u:student dir
删除acl列表中的:username|groupname
setfacl -x <u|d>:<username|groupname> 文件|目录
关闭acl列表:
setfacl -b file|dir
注:
setfacl -m d:u:student:rwx dir
默认权限只对目录中新建的文件或目录生效,对已经建立的文件无效,对目录本身也无效
八、特殊权限位
1.suid 冒险位
只针对二进制可执行文件(一段可以执行的代码)
文件内记录的程序产生的进程的拥有人是这个文件的拥有人
和进程的发起人身份无关
设定方式
chmod u+s file
suid = 4
chmod 4xxx file
2.sgid 强制位
对文件:
只针对二进制可执行文件,任何人运行二进制文件程序时程序所产生的进程
的所属组都是这个二进制文件的所属组,和进程的发起人的组无关
对目录:
当目录拥有sgid权限后,目录中新建的所有文件的所属组都自动
归属到目录的所属组中,和文件的建立者所在的组无关
设定方式
chmod g+s file|dir
sgid = 2
chmod 2xxx file|dir
3.sticky 粘制位
只针对目录,当一个目录拥有t权限,那么目录中的文件只能被文件的拥有者删除
设定方式
chmod o+t dir
t = 1
chmod 1777 dir