Linux系统中的文件权限管理(1) ---查看、读取、文件保留权限(umask)、改变文件的权限、所有人和所有组
一、文件权限查看及读取
1.文件权限
- 文件权限存在的意义
- 系统最底层安全设定方法之一
- 保证文件可以被可用的用户做相应操作
2.权限查看
ls -l file ##查看文件权限
ls -ld dir ##查看目录权限
3.权限的读取
- 文件的属性被叫做文件的元数据(meta data)
- 一种元数据用1个byte来记录内容
<1>文件权限信息
- | rw-r--r-- | . | 1 | root | root | 0 | Apr 12 10:57 | westos
[1] [2] [3] [4] [5] [6] [7] [8] [9]
<2>目录权限信息
d | rw-r--r-- | . | 2 | root | root | 0 | Apr 12 10:57 | westosdir
[1] [2] [3] [4] [5] [6] [7] [8] [9]
<3>对每一位的解释
[1] 文件类型
# - 普通文件
# d 目录
# l 软连接
# b 块设备
# c 字符设备
# s socket套接字
# p 管道
[2] 用户权限
rw- |r-- | r--
u g o
[u] 文件拥有者对文件能做什么操作
[g] 文件所有组对文件能做什么操作
[o] 其他人对文件能做什么操作
[3] 系统的selinux查看
[4] 对于文件:文件内容被系统记录的次数(硬连接个数)
对于目录: 目录中子目录的个数
[5] 文件拥有者
[6] 文件拥有组
[7] 对于文件:文件内容大小
对于目录:目录中子文件的元数据大小
[8] 文件内容被修改时间
[9] 文件名称
二、普通权限的类型及作用
1.用户对文件的身份
u:user 文件的拥有者,ls -l 看到的第五列信息
g:group 文件拥有组,ls -l 看到的第六列信息
o:other 既不是拥有者也不是拥有组成员的其他用户的统称
2.权限位
rwx | r- - | r- -
u g o
3.用户身份匹配
user > group > other
4.权限类型
- ##权限未开启
r ##可读
##对于文件:可以读取文件内容 -----> cat file
##对于目录:可以ls列数目录中的文件 -----> ls dir
w ##可写
##对于文件:可以更改文件内容
##对于目录:可以在目录中新建或者删除文件
x ##可执行
##对于文件:可以用文件名称调用文件内记录的程序
##对于目录:可以进入目录
三、设定普通权限的方法 #chmod 设定文件权限(改变文件权限)
1.chmod 权限复制
chmod -- reference=/tmp /mnt/westosdir #复制/tmp目录的权限到/mnt/westosdir上
chmod -R --reference=/tmp /mnt/westosdir #复制/tmp目录的权限到/mnt/westosdir及目录中的子文件上
# - R代表第归操作
2.chmod 字符方式设定权限
chmod <a | u | g | o >< + | - | = >< r | w | x > file | dir ##用字符方式设定文件或目录权限
示例:
1.chmod u-rw /mnt/westos1
2.chmod u-rw /mnt/westosfile1
3.chmod u-rw,g+x,o+wx /mnt/westosfile2
4.chmod a-rwx /mnt/westosfile3
5.chmod u=rwx,g=rx,o=--- /mnt/westosfile4
6.chmod -R u=rwx,g=rx,o=--- /mnt/westosdir/
3.chmod 数字方式设定权限
1.权限波尔值表示方式
rwx=111
---=000
2.三位二进制可以表示的最大范围为8进制数
1.rwx=111=7
2.rw-=110=6
3.r-x=101=5
4.r--=100=4=r
5.-wx=011=3
6.-w-=010=2=w
7.--x= 001=1=x
8.---=000
示例:
chmod 600 /mnt/westosfile1 #rw-------
四、系统默认权限设定
1.系统本身存在的意义共享资源
2.从安全角度讲系统共享的资源越少,开放的权力越小系统安全性越高
3.既要保证系统安全,又要系统创造价值,于是把应该开放的权力默认开放
4.把不安全的权力默认保留
1.如何保留权力
umask表示系统保留权力
- umask ##查看保留权力
- umask 权限值 ##临时设定系统预留权力
- 文件默认权限 = 777-umask-111
- 目录默认权限 = 777-umask
umask值越大系统安全性越高
2.umask临时更改
umask 077 ##临时设定系统预留权限为077
3.umask永久更改
普通用户的umask修改为022
vim /etc/bashrc ##shell系统配置文件
74 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
75 umask 002-->022 ##普通用户的umask
76 else
77 umask 022 ##root用户的umask
78 fi
vim /etc/profile ##系统环境配置文件59 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
60 umask 002-->022 ##普通用户的umask
61 else
62 umask 022 ##root用户的umask
63 fi
source /etc/bashrc ##source作用时使我们更改的内容立即被系统识别
source /etc/profile
五、文件用户用户组管理 (如何改变文件的所有人和所有组)
1.chown username file ##更改文件拥有者
2.chgrp groupname file ##更改文件拥有组
3.chown username:groupname file ##同时更改文件的拥有者和拥有组
4.chown | chgrp -R user | group dir ##更改目录本身及目录中内容的拥有者或拥有组