1.文件权限
(1)文件权限存在的意义:
系统最底层安全设定方法之一
保证文件可以被可用的用户作相应的操作
(2)文件权限的查看:
ls -l file
ls -ld dir
ll file
ll -d dir
2.文件权限的读取:
命令格式:ls -l filename(文件名称)
-|rw-r–r-- |1| root| root| 46 |Oct 1 05:03 |filename
1 2 3 4 5 6 7 8
(1)文件类型:
“-” ###空文件或文本
d ###目录
c ###字符设备
s ###scket套接字
p ###管道
b ###block块设备
l ###软链接
(2)文件的权限:“rw-r–r–”
rw-|r–|r–
[1] [2] [3]
注意:
[u]文件拥有者对文件能做什么操作
[g]文件所有组对文件能做什么操作
[o]其他人对文件能做什么操作
(3)
对文件:文件内容被系统记录的次数
对目录:目录中文件属性的字节数(目录中子目录的个数)
(4)用户名字:“root”(文件的所有人)
(5)用户组名字:“root”(文件的所有组)
(6)
对文件:文件大小
对目录:目录中子文件元数据(matedate可以理解为文件的属性)大小
(7)文件最后一次被修改的时间
(8)文件名字:“filename”
2.文件所有组和所有人的管理:
chown username file|dir ##更改文件的所有人
chown username.groupname file|dir ##更改所有人所有组
chown -R username dir ##更改目录本身及里面所有内容的所有人
chgrp -R groupname dir ##更改目录本身及里面所有内容的所有组
监控命令
watch -n 1 ls -lR /mnt
更改文件的用户 和 用户组:
监控watch -n 1 ls -lR /mnt/
chown chgrp
3.文件普通权限:
>rw-|r–|r–
u g o
u:文件所有人对文件可以读写
g:文件组成员对文件可读
o:其他人对文件可读
[1]r
对文件:可以查看文件中的字符
对目录:可以查看目录中文件的信息
[2]w
对文件:可以更改文件内字符
对目录:可以在目录中添加删除文件
[3]x
对文件:可以运行文件内记录的程序动作
对目录:可以进入目录中
[4]字符方式修改该文件权限
chmod [-R] <u|g|o><+|-|=><r|w|x> file|dir
chmod u-x file1 ##file1拥有者去掉x权限
chmod g+w file1 ##file1拥有组添加w权限
chmod u-x,g+w file1 ##file1拥有者去掉x权,file1拥有组添加w权限
chmod ugo-r file2 ##file2的用户组其他人去掉r权限
chmod ug+x,o-r file3 ##file3用户和组添加x权限,其他人去掉r权限
[5]数字方式修改该文件权限
在linux中,三种权限的权值如下:
r=4,w=2,x=1
文件权限数字表达的所有可能如下:
7=rwx
6=rw-
5=r-x
4=r–
3=-wx
2=-w-
1=–x
0=—
4.系统默认权限的设定:
从系统存在角度来说,开放权力越大,系统存在意义越高
从系统安全角度来说,开放权力越少,系统安全性越高
所以系统设定新建文件或目录会去掉一些权限
权限设定方式如下:
umask ##查看系统保留权限默认为022
umask 077 ##修改该系统保留权限为077,此设定为临时设定,只当前shell中生效
永久设定方式:
vim /etc/bashrc ##设置shell中的权限
if [ $UID -gt 199 ] && [ “id -gn” = “id -un” ]; then
umask 002 ##普通用户的umask
else
umask 077 ##超级用户的umask
fi
vim /etc/profile ##设置系统的权限
if [ $UID -gt 199 ] && [ “id -gn” = “id -un” ]; then
umask 002 ##普通用户umask
else
umask 077 ##超级用户umask
fi
5.文件的访问控制(acl列表)
1.acl定义
acl = access control list
指定特殊用户对特殊文件有特殊权限
2.acl列表查看
drwxrwx—+ 2 root root 17 Jul 18 01:39 /westos/
^
表示/westos目录时有权限列表
getfacl file ######查看acl开启的文件的权限
file: westos/ ##文件名称
owner: root ##文件所有人
group: root ##文件所有组
user::rwx ##拥有者权限
user:student:rwx ##特殊用户权限
group::— ##组权限
mask::rwx ##权限掩码
other::— ##其他人权限
注意:当文件上有权限列表时,ls -l 能看到的权限是假的
3.acl列表的管理
getfacl file
setfacl -m u:username:rwx file ###设定username对file拥有rwx权限
setfacl -m g:group:rwx file ###设定group组成员对file拥有rwx权限
setfacl -x u:username file ####从acl列表删除username
setfacl -b file ####关闭file上的acl列表
4.mask值
在权限列表中mask表示能生效的权利值
当用chomd减小开启acl的文件权限时mask值会发生改变
chmod g-w westos
如果要恢复mask值
setfacl -m m:rw westos
5.acl的默认权限设定
acl默认权限只针对目录设定
acl权限只针对完成之后新建立的文件或目录生效,而已经存在的文件是不会继承默认权限
setfacl -m d:u:student:rwx /mnt/westos
setfacl -k /mnt/westos
6.特殊权限
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权限:
说明:只针对与目录,当一个目录上有t权限,那么目录中的文件只能被文件的拥有者删除
设定方式:
chmod o+t direcotry
t=1
chmod 1777 direcotry
2.三种权限的设置:
r 读 用ls查看文件(看)
w 写 是否可以新建或者删除(搬走)
x 调用执行 是否可以进入此目录(进入)
文件有r才能w
目录有 r 和 x 才能 w
x–r–w
chmod o+r/w/x /mnt/westos/ 子目录 增加权限
chmod o-r/w/x /mnt/linux 文件 删除权限
三者 针对目录和针对文件的用途和方法不一样
chomd ugo±=rwx 即可
还可以用数字方式对权限进行修改 r4 w2 x1
新建一个目录和文件的权限不一样