Linux系统中的文件权限管理(1) ---查看、读取、文件保留权限(umask)、改变文件的权限、所有人和所有组
一、文件权限查看及读取
1.文件权限
- 文件权限存在的意义
- 系统最底层安全设定方法之一
- 保证文件可以被可用的用户做相应操作
2.文件权限的查看
- ls -l file ##查看文件权限
- ls -ld dir ##查看目录权限
3.文件权限的读取
- 文件的属性被叫做文件的元数据(meta date)
- 一种元数据用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 ##用字副方式设定文件权限
watch -n 1 "ls -ld ./dir;ls -l dir/" ##监控
示例:
- chmod u-rw ./dir
- chmod u-rw ./dir/file1
- chmod u-rw , g+x , o+wx ./dir/file2
- chmod a-rwx ./dir/file3
- chmod u=rwx , g=rx , o=--- ./dir/file4
- chmod -R u=rwx , g=rx , o=--- ./dir/dir1/
3.chmod 数字方式设定权限
<1>权限波尔指表示方式
- rwx = 111
- --- = 000
<2>三位二进制可以表示的最大范围为8进至数
- rwx=111=7
- rw- =110=6
- r-x =101=5
- r-- =100=4=r
- -wx =011=3
- -w- =010=2=w
- --x =001=1=x
- --- =000=0
- chmod 600 ./dir/file5
rw------
四、系统的默认权限设定
系统本身存在的意义共享资源
从安全角度讲系统共享的资源越少,开放的权利越小,系统安全性越高
既要保证系统安全,又要系统创造价值,于是把应该开放的权利默认开放
把不安全的权力默认保留
如何保留权力? ##umask##
umask表示系统保留权力
- umask #查看保留权力
- umask 权限值 #临时设定系统预留权力
- 文件默认权限 = 777-umask-111
- 目录默认权限 = 777-umask
1.umask临时更改
umask 077 ##临时设定系统预留权限为077
2.umask永久更改
普通用户的umask更改为022
vim /etc/ bashrc ##shell系统配置文件
74 if [ $UID -gt 199 ] && [ "
id -gn
" = "id -un
" ]; then75 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
" ]; then60 umask 002-->022 #普通用户的umask
61 else
62 umask 022 #root用户的umask
63 fi
source /etc/bashrc ##source作用时使我们更改的内容立即被系统识别
source /etc/profile
五、文件用户用户组管理 (如何改变文件的所有人和所有组)
chown username file ##更改文件拥有者
chgrp groupname file ##更改文件拥有组
chown username : groupname file ##同时更改文件的拥有者和拥有组
chown|chgrp -R user | group dir ##更改目录本身及目录中内容的拥有者或者拥有组