文章目录
1.文件权限的意义
(1)文件权限:系统最底层安全设定方法之一,保证文件可以被可用的用户做相应的操作。
(2)***“文件权限的每一字段的含义”***:①执行ls -l file #查看文件的属性,每一类用一个字节表示,文件名即一个字节;
2.常见的权限命令&实验
2.1 常见命令
功能 | 命令 | 注释 |
---|---|---|
1.文件权限的查看(ls) | ls -l filename | #查看文件属性 |
ls -ld dir | #查看目录属性 | |
ll filename | #(ll=ls -l)查看文件属性 | |
ll -d dir | #查看目录属性 | |
ls -lR | #递归显示目录下的文件和子目录下的文件 | |
ls -lrt | #按时间顺序进行显示 | |
2.软硬连接的创建 (ln) | ln 源文件 目标文件 | #创建源文件的硬链接–目标文件,两个文件会同步处理 |
ln -s 源文件 目标文件 | #创建源文件的软链接–目标文件 | |
3.修改所有者(chown)和所有组(chgrp) | chown username filename/dir | # 修改用户的所有者 |
chown -R westos.student dir | #递归修改所有者和所有组,点可以换成: | |
chgrp group file/dir | #修改用户的所有组 | |
4.1修改文件的权限(方式1chmod) | chmod <u | g |
chmod u+x /mnt/filename | # 对filename文件user添加执行权限 | |
chmod g-r /mnt/filename | #去掉filename文件group的读权限 | |
chmod ug-r /mnt/filename | #去掉filename文件user和group的读权限 | |
chmod u-r,g+x /mnt/filename | #去掉filename文件user的读权限,对group添加执行权限 | |
chmod -r /mnt/filename | #去掉filename文件的读权限 | |
chmod o=r-x /mnt/filename | # 将filename的other权限用rwx覆盖 | |
hmod -R <u | g | |
4.2修改文件的权限(方式2chmod) | chmod 774 dir | #修改权限为774(R-4 W-2 X-1 --0) |
hmod -R 774 dir | #递归修改权限 | |
4.3修改文件的权限(方式3权限复制) | # | |
5.1特殊权限–sticky##粘制位(chmod) | chmod o+t dir | # dir添加s权限 ,修改其所有者,则其文件只能被所有者修改,root不允许 |
chmod 1XXX dir | #同上 | |
5.2特殊权限–sgid##强制位(chmod) | chmod g+s filename/dir | # 对目录-当目录上有sgid权限时任何人在此目录中建立的文件都属于目录的所有组;;对文件-二进制可执行文件,当文件上有sgid时,任何人执行此文件产生的进程都属于文件的组 |
chmod 2XXX file/dir | #同上 | |
5.3特殊权限–suid##冒险位(chmod) | chmod u+s file/dir | #只针对与2进制可执行文件,当文件上有suid时任何人执行这个文件中记的程序产生的进程都属于文件的所有人 |
chmod 4XXX file/dir | #同上 | |
6.acl权限(getfacl/setfacl) | getfacl file | #查看acl开启的文件的权限 |
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列表 | |
setfacl -m d:u:student:rwx /mnt/westos | # acl默认权限只针对目录设定,acl权限只针对设定完成之后新建立的文件或目录生效,而已经存在的文件是不会继承默认权限 | |
6.2.mask值的修改 | chmod g-w westos | #在权限列表中mask表示能生效的权力值,当chmod减小开启acl的文件权限时mask值会发生改变 |
setfacl -m m:rw westos | #恢复mask的值 |
2.3 结果
Result 1 文件权限查看(ls)
Result 2软硬连接(ln)
Result 3 修改用户&用户组(chown.chgrp)
***Result 4 修改用户权限(chmod)***Result 5.1 修改用户t特殊权限(sticky)
针对的问题:多个用户都可以进行操作的文件,用户之间删除啦其他用户的文件(unsafe)
过程:(1)先在超级用户下建立一个目录 mkdir /westos
然后设置监控命令j监控改目录以及改目录下的文件:watch -n 1 “ls -ld /westos ; ls -l /westos”
并且在超级用户下设置满权限 chmod 777 /westos
(2)在超级用户下建立两个普通用户linux1 linux2 ,分别切换到两个普通用户下建立文件file1 file2
(3)linux1用户可以删除linux2用户建立的文件file2,这样做很不安全,我们可以设置(root下)特殊权限t,linux2用户就不能删除linux1用户建立的file1文件了
Result 5.2.1 修改用户特殊权限(sgid)—目录
*针对的问题:当目录上有sgid权限时任何人在此目录中建立的文件都属于目录的所有组
(1)首先在超级用户下建立一个目录,并且对这个目录进行监控;
(2)在超级用户下建立一个新用户,并且将新建目录的用户组变为刚刚新建的用户,然后在改目录下建立新的文件,发现此文件的用户组仍然为超级用户,并不是刚刚 新建的那个用户。
(3)为了使在目录中建立的文件都属于目录的用户组,需要在目录上加上s权限。
Result 5.2.1 修改用户特殊权限(sgid)—二进制文件
针对的问题:当目录上有sgid权限时任何人在此目录中建立的文件都属于目录的所有组
(1)首先必须要有一个watch 进程,监控二进制文件的进程,查看该二进制文件的权限;
(2)以root身份启动一个进程,这个进程的所有人和所有组均为root,然后将改文件的所有组改为linux3,发现并没有改变,仍为root;
(3)给二进制文进加上s权限,重新开启一个新的进程,用户组发生改变;
Result 5.3 修改用户特殊权限(sgid)—二进制文件
Result 6.1 acl列表的管理(suid)
Result 6.2mask值的修改(setfacl)
Result 6.3 acl的默认权限设定(setfacl)
3.umask:系统建立文件时默认保留的权力
临时设定系统预留权限为022,其他用户002
修改方式 | 命令 | 注释 |
---|---|---|
1.短暂修改 | umask 074 | ##短暂修改为074 |
2.永久修改 | vim /etc/profile | ##修改系统配置文件 |
vim /etc/bashrc | ##修改shell配置文件 |
4.acl权限
4.1 用途
acl权限:让特定用户对特定文件拥有特定权限;
4.2 查看解释
4.3 权限优先级:
userperm > acluser > aclgroup > groupperm > otherperm
补充:
i权限:只能看,不能建立不能删除
a权限:用于系统审计,只能建立,不能删除
设定chatter 查看lsatter;
result!
5.Test
(1)(2)