文件权限
文件属性的查看
ls -l filename
- 结果分解
- r w - r - - r - - 1 lengwen lengwen 69918072 4月 8 20:01 TIM2.1.5.exe 1 2 3 4 5 6 7 8 - 1.”-“:文件类型
- -:普通文件
- d:目录
- c:字符设备
- s:套接字
- p:管道
- b:快设备
- l:连接
2.”rw-r–r–”:文件读写权限
rw - r - - r - - * $ @ - *:所有人的权限
- $:所有组的权限
- @:其他人的权限
- 3.”1”
- 对文件:文件内容被系统记录的次数
- 对目录:目录中文件属性的字节数
- 4.”lengwen”:文件所有人
- 5.”root”:文件所有组
- 6.”69918072”:文件内容的大小
- 7.”4月 8 20:01”:文件最后一次被修改的时间
- 8.“TIM2.1.5.exe”:文件名字
- 文件所有人所有组的管理
命令 | 作用对象 | 备注 |
---|---|---|
chown username | file|dir | 更改文件的所有人 |
chown username.groupname | file|dir | 更改所有人所有组 |
chown -R username | dir | 更改目录本身及里面所有内容的所有人 |
chgrp -R groupname | dir | 更改目录本身及里面所有内容的所有组 |
监控命令:
watch -n 1 date
- watch命令:
- 参数 -n 1:1s监控一次
- date:要监控的命令
文件普通权限
rw- r- - r- - u g o - u:文件所有人对文件可以读写
- g:文件组成员对文件可读
- o:其他人对文件可读
注:u优先匹配,g次优先,o当u,g不匹配时匹配 - r:
- 对文件:可以查看文件中的字符
- 对目 录:可以查看目录中文件的信息
- w:
- 对文件:可以更改文件内字符
- 对目录:可以在目录中添加删除文件
- x:
- 对文件:可以运行文件内记录的程序动作
- 对目录:可以进入目录中
修改文件权限
字符方式修改该文件权限
命令格式:
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权限
- 数字方式修改该文件权限
- 在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
- 如:chmod 777 filename
- 7=rwx
- 6=rw-
- 5=r-x
- 4=r–
- 3=-wx
- 2=-w-
- 1=–x
- 0=- - -
系统默认权限的设定
- 从系统存在角度来说,开放权力越大,系统存在意义越高
- 从系统安全角度来说,开放权力越少,系统安全性越高
- 所以系统设定新建文件或目录会去掉一些权限
设定方式:
- 临时生效方法(当前shell)
- umask :查看系统保留权限默认为022
- umask 077 :修改该系统保留权限为077
永久设定方式
- vim /etc/bashrc
- vim /etc/profile:系统
-
以上两个文件umask设定值必须保持一致
-
source /etc/bashrc(让设定立即生效)
source /etc/profile(让设定立即生效)
- vim /etc/bashrc
- 临时生效方法(当前shell)
- 文件的访问控制(acl列表)
- acl定义
- acl = access control:指定特殊用户对特殊文件有特殊权限
- drwxrwx—+ 2 root root 17 Jul 18 01:39 /westos/:+表示/westos目录时有权限列表
- getfacl /westos/
- # file: westos/ :文件名称
- # owner: root :文件所有人
- # group: root :文件所有组
- user::rwx :拥有者权限
- user:student:rwx :特殊用户权限
- group::- - - :组权限
- mask::rwx :权限掩码
- other::- - - :其他人权限
注意:当文件上有权限列表时,ls -l 能看到的权限是假的
- 设定acl列表
setfacl -m <u|g>:<username|groupname>权限 文件|目录
- -m :设定
- u :用户
- g :组
- 删除列表中的用户或者组
setfacl -x <u|g>:<username|groupname> 文件|目录
- 关闭列表
setfacl -b 文件|目录
- acl定义
- acl mask值
- mask:权限掩码,mask用来标实能够赋予用户最大权限,当用chmod改变文件普通权限时可能会被破坏
- 修复
setfacl -m m:rwx 文件名称
- acl 默认权限
- 当我们需求某个目录对于某个用户可写,并且目录中新建的子目录对这个用户也可写,就要设定默认默认权限
注意: 默认权限只对目录中新建立的文件或者目录生效,对已经建立的文件无效,对于目录本身也无效 setfacl -m d:u:student:rwx /westos
- 当我们需求某个目录对于某个用户可写,并且目录中新建的子目录对这个用户也可写,就要设定默认默认权限
- 特殊权限
- suid:冒险位
- 只针对二进制可执行文件,
- 文件内记录的程序产生的进程的所有人为文件所有人
- 和进程发起人身份无关
- 设定方式
chmod g+s file|dir
sgid=2
chmod 2xxx file|dir
- sticky :粘制位
- t权限:只针对与目录,当一个目录上有t权限,那么目录中的文件只能被文件的拥有者删除
- 设定方式
chmod o+t direcotry
t=1
chmod 1777 direcotry
- suid:冒险位