Linux系统中的权限管理
一、文件权限存在的意义
系统最底层安全设定方法之一
保证文件可以被可用的用户做相应操作
二、文件权限的查看
ls -l file ##查看文件权限
ls -ld dir ##查看目录权限
三、文件权限的读取
该文本文件各字段的理解
1.类型 - (文本)
2.文件权限rw-r–r–
3.SELinux Context 安全上下文 .
4.文件硬链接个数(被系统记录次数) 1
5.文件所属者 root
6.文件所属组 root
7.文件大小 0
8.文件最后一次被修改时间Jul 28 08:00
9.文件名称 file
1.类型 d (目录)
2.目录权限 rwxr-xr-x
3.SELinux Context 安全上下文 .
4.目录中子目录的个数 2
5.文件拥有者 root
6.文件拥有组 root
7.目录中子文件或子目录元数据大小(属性大小)6
8.目录中的内容最后一次被修改时间Jul 28 08:01
9.目录名称 test
四、如何改变文件的所有人和所有组
chown username file ##更改文件拥有者
chgrp groupname file ##更改文件拥有组
chown username:groupname file ##同时更改文件的拥有者和拥有组
chown|chgrp -R user|group dir ##更改目录本身及目录中内容的拥有者或者拥有组
五、设定普通权限的方法
chmod ##设定文件权限
#chmod 复制权限#
chmod --reference=/tmp /mnt/westosdir ##复制/tmp目录的权限到/mnt/westosdir上
chmod -R --reference=/tmp /mnt/westosdir #复制/tmp目录的权限到/mnt/westosdir及
#目录中的子文件上 -R 代表第归操作
#chmod 字符方式设定权限
chmod <a|u|g|o><+|-|=><r|w|x> file ##用字副方式设定文件权限
六、系统默认权限设定
#系统本身存在的意义共享资源
#从安全角度讲系统共享的资源越少,开放的权力越小系统安全性越高
#既要保证系统安全,又要系统创造价值,于是把应该开放的权力默认开放
#把不安全的权力默认保留
umask表示系统保留权力
umask #查看保留权力
umask 权限值 #临时设定系统预留权力
文件默认权限 = 777-umask-111
目录默认权限 = 777-umask
umask值越大系统安全性越高
#umask临时更改
umask 077
#永久更改
七、特殊权限
.特殊权限
(1)sticky(粘制位)
作用:只针对目录生效,当一个目录上有sticky权限时,在这个目录中的文件只能被文件的所有者删除。
设置方式:
chmod o+t dir
chmod 1XXX dir
实验流程:在root权限下建立两个用户ahtm和ahtl,创建一个满权限的目录,chmod 777 /dir,分别切换用户ahtm和ahtl,在/westos下创建file,发现ahtm可以删除ahtl创建的文件,ahtl也可以删除ahtm创建的文件,更改文件权限1777后,发现不能删除对方的文件。
(2)sgid(强制位)
作用:
对文件:只针对二进制可执行文件 当文件上有sgid的时候任何人执行此文件产生的过程都属于文件的组。
对目录:当目录上有sgid权限时任何在此目录中建立的文件都属于目录的所有组。
设定方式
chmod g+s file|dir
chomd 2xxx file|dir
实验流程
对目录:
建立/dir目录。然后给目录满权限,使其他用户也可以在此目录下创建文件,再打开一个shell执行 watch -n 1 ‘ls -ld /westos;ls -l /westos’ 来监控变化,准备工作完成后切换到ahtm/ahtl用户,建立文件,发现ahtm建立的file1所在组为root,ahtl建立的file2,所在组也为root。
(3)suid (冒险位)
只针对与二进制可执行文件
当文件上有suid时任何人执行这个文件中记的程序产生的进程都属于文件的所有人
设定方式:
chmod u+s file
chmod 4xxx file
八、主机的具体权限规划:ACL
(1)定义
ACL(Access Control List),主要目的是提供传统的owner、group、others的read、write、execute权限之外的具体权限设置。ACL可以针对单一用户、单一文件或目录进行r、w、x的权限设置,对于需要特殊权限的使用状况非常有帮助。
(2)设置方式
getfacl:取得某个文件/目录的ACL设置项目
setfacl:设置某个目录/文件的ACL规定