1、linux 中文件属性信息说明
(1)权限:r读w写x执行
系统中的3a机制(安全机制):
account | 帐号(用户管理) |
---|---|
authorization | 认证(passwd chage) |
authorzed | 授权 |
(2)、授权信息查看
ls -l file ###文件
ls -ld westos ###目录
2、对文件权限的理解
[1]、
-:普通文件
l:连接
d:目录
s:套接字
b:块设备
[2]、
r :对文件:是否可以查看文件中的内容 —>cat file
对目录:是否可以查看目录中有什么子文件或子目录(只能看) —>ls dir
w:对文件:是否可以改变文件中的内容
对目录:是否可以改变目录中有什么子文件或子目录的元数据
x :对文件:是否可以通过文件名称调用文件内记录的程序
对目录:是否可以进入当前目录(进不去啥也干不了,新建文件也不行) —>cd 不可用
-:没有
删除文件是修改文家目录,并不是看文件是不是可写,要看文件在的目录对文件可不可写,因为目录少了一个(要经过目录同意)
数据归属文件本身,元数据归属目录本身
[3]、
文件和目录不同,文件是被记录的次数,目录是目录中子目录个数和隐藏目录个数
[4] [5]、
为子目录,不能用ls -l看文件中子目录属性,用ls -lR /mnt
[6]、
文件为本身大小0-,目录为.和…的大小6+文件大小(属性大小)
其中文件类型、文件内容(可以增加,但是具体内容占内存不能改)不能改,读写权限、记录次数、所有人所有组、最后修改时间,名字可以改。
3、linux 中更改文件用户及用户组
chown lee westos ###改变所有人,改变目录时只改变目录所有人所有组,内容的不变,
chgrp westos westos3 ###改变文件所有人所有组
chown lee.westos westos ###文件所有人所有组一起更改
chown student test/ ###只改变目录本身所有人
chown -R lee.westos test ###改变目录所有人所属组
4、文件权限设定
(1)、chmod <a|u|g|o>+<r|w|x>
数字方式
字符方式
复制方式
root用户不用设置权限
(2)、用二进制表示rwx
— rwx:000-111
eg:将/mnt/test改为rwxr-xr-x
(3)、权限复制
chmod --reference =复制前目录 复制后目录
5、系统默认权限设定(回收权力、开放权力)
文件权限644
目录权限755
用umask命令查看022,777-022=755(dir)-111(执行)=644(file)
eg:将umask改为077:777-077=700-111=600(文件权限提高)
一次性更改直接
umask 077
永久更改:
vim /etc/profile /umask ###第二个是root用户将0022改为0077
vim /etc/bashrc /umask ###第二个是root用户将0022改为0077
完成后source /etc/profile
source /etc/bashrc 重启系统
后umask查看
6、特殊权限
(1)、stickyid (只这面对目录,用的很少)
sticky ###粘制位,针对目录,只有所有者才能对目录进行删除,
chmod o+t /mnt/westos
chmod 1*** /mnt/目录 ###文件只能被文件所有者删除,只对一个目录有效
/pub/权限为777,所有人都可以读写调试
(2)、SGID(即针对文件也针对目录)
chmod g+s file|dir
chmod 2xxx file|dir
对目录影响: 当一个目录里有s组权限,再次建立文件自动归属到所在目录组的所属组中,(之前谁建立都属于源所属族)
eg:先在root用户中建立一个目录
改变用户所在组,并查看以下目录属性
改变以下目录权限
切换到tom模式下,在westos下新建一个file
查看file属性,原有属性,
切换到root用户下chmod 2777 /westos1/
进入tom用户新建一个文件,在查看新建文件后所属组和元目录改后的一样。
对文件: 任何人在执行这个文件时主组都是文件所有组身份,本来是谁执行进程属于谁,有了s现在就都属于文件所有组 (主要是进程谁建立属于谁)
eg:现在文件中作一个watch进程,
然后用tom执行一下/bin/watch -n 1 date,查看后进程所属组是tom
用root下;chmod 2755/4755 /bin/watch,
再在tom下运行进程查看后还是root权限,
身份可以下降也可以上升,确定高级还是低级用户,
2755是控制gid,4755改变uid;
(3)、SUID(只针对2进制可执行文件)
使用某一个命令的时候变成超级用户:当文件上有suid时任何人执行这个文件中记的程序产生的进程都属于文件所有人,
chmod 4xxx file
7、acl用户权限列表
(1)、作用
-rw-rwxr–+ 1 root root 0 jul 21 15:45 file
+代表acl(权限列表)开启
eg:只让tom和超级用户对文件可写
就让某一个人和超级用户一起可以写,别人都不行
setfacl -m u : tom : rw file
可以用getfacl file进行查看权限,
mask 赋予用户的最大权限。
file:file ###文件名称
owner:root ###文件拥有着
group:root ###文件拥有组
user::rw- ###文件拥有人的权限
user:kiosk:rwx ###指定用户权限
group::r-- ###文件拥有组的权力
mask::rwx ###能赋予用户的最大权力伐值
other::r-- ###其他人的权限
(2)、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列表
(3)、mask值(开放权力最大值)
在权限列表中mask标示能生效的权限,-effective r–
用 chmod g-w westos开启
setfacl -m m:rwx file结束
chomd改变的是mask值的权限
(4)、acl的默认权限设定
只针对目录设定
acl权限只针对设定完成之后新建立的文件或目录生效,而已经存在的文件是不会继承默认权限。
setfacl -m d:u:student:rwx /mnt westos
setfacl -k /mnt westos
(5)、各种权限匹配优先级匹配
userperm>groupperm>otherperm>acluser >aclgroup
用户和acl权限哪一个高:用户权限高
acluser和aclgroup哪个权限大:acluser >aclgroup
8、chattr和lsattr
chattr =/+/-i 目录
lsattr 目录 -d