linux文件目录

linux管理文件方式
DAC discretionary access control
隐藏属性
SUID SGIU SBIT
ACL
SElinux
——————————————————————————————————————————----
DAC 就是chmod u g o + - = rwx 如果还有人不明白这个 说不过去的
当然还可以chown直接把文件“拿”过来

隐藏属性 chattr只能在ext234 文件系统上生效
chattr 【+-=】【ASacdistu】档案或目录名称
+ 增加一个参数
- 移除
= 设定
A 存取此档案或目录 访问时间atime不变 可避免机器过度的存取磁盘
S 文件同步写入
a 文件只能增加数据 不能删除也不能修改数据
c 自动压缩 解压
d 当dump程序执行时 该文件不会被dump备份
i 文件不能删除改名设定链接也无法写入新增资料
s 设定s属性时 被删除时无法恢复 毁灭证据。。
u 与s相反
lsattr 【-adR】 档案或目录 显示隐藏属性
-a 同时显示隐藏文件属性
-d 如果是目录仅列出目录本身的属性
-R 连同子目录的数据也一并列出来
——————————————————————————————————————————
SUID
对文件 执行时执行者拥有拥有者的权限
SGID
对文件 执行时获得群组支持
对目录 对目录有w权限时 创建文件时 群组与该目录群组相同
Sticky Bit
对目录 建立的文件和目录仅有自己和root可以删除
设定  chmod 1111 file
第一位 SUID 4 SGID 2 Sticky 1

ACL access control list
需要文件支持 需要挂载时加入acl。
dumpe2fs 观察
dumpe2fs -h /dev/sda2
Default mount options:    user_xattr acl

[root@www ~]# setfacl [-bkRd] [{-m|-x} acl 参数] 目标文件名
选项和参数:
-m :训定后续的 acl 参数给档案使用,不能和-x 合用;
-x :初除后续的 acl 参数,不能和-m 合用;
-b :移除所有的 ACL 参数;
-k :移除预设的acl参数;
-R :递归;
-d :训定『预训 acl 参数』只对目录有效

设定规范 【u:使用者帐号:【rwx】】
例 setfacl -m u:user:rwx file
使user对file有rwx权限

getfacl 查看acl属性

【g:群组:rwx】
【m:r】  代表所有的权限都是在m设定之内生效
【d:u:user:rwx】 对目录且递归
——————————————————————————————————————————
selinux  security context
ls -Z 查看
[root@www ~]# ls -Z
drwxr-xr-x root root root:object_r:user_home_t Desktop
-rw-r--r-- root root root:object_r:user_home_t install.log
-rw-r--r-- root root root:object_r:user_home_t install.log.syslog
Identify:role:type
身份识别:角色:类型
身份识别
root root身份
system_u 系统程序方面的识别
user_u 一般使用者
角色
object_r 目录和文件
system_r 程序 不过 一般使用者也会被指定为system_r
类型
type 在文件(object)上面称为类型(type)
domain 在主体程序(subject)称为域(domain)

启动 关闭
enforcing 强制模式
permissive 宽容模式
disable 关闭
查看目前模式 getenforce
列出selinux使用的那个政策 sestatus
[root@www ~]# vi /etc/selinux/config
SELINUX=enforcing <== 调整enforcing|disabled|permissive
SELINUXTYPE=targeted <==目前仅有 targeted 不 strict
grub中加入selinux=0 可以禁用

setenforce 0/1
[root@www ~]# setenforce 0
[root@www ~]# getenforce
Permissive
[root@www ~]# setenforce 1
[root@www ~]# getenforce
Enforcing

[root@www ~]# chcon [-R] [-t type] [-u user] [-r role] 档案
[root@www ~]# chcon [-R] --reference=范例文件 档案
选顷不参数:
-R :连同该目录下的次目录也同时修改;
-t :后面接安全性本文的类型字段!例如 httpd_sys_content_t ;
-u :后面接身份识别,例如 system_u;
-r :后面街觇色,例如 system_r;
--reference=范例文件:拿某个档案当范例来修改后续接的档案的类型!

root@www ~]# restorecon [-Rv] 档案戒目录
选顷不参数:
-R :连同次目录一起修改;
-v :将过程显示到屏幕上
范例一:将刚刚错误的 index.html 以预安全性本文改正过来
[root@www ~]# restorecon -Rv /var/www/html/index.html
restorecon reset /var/www/html/index.html context
system_u:object_r:etc_t:s0->
system_u:object_r:httpd_sys_content_t:s0
# 上面这两行其实是同一行表示将 index.html 由 etc_t 改为
httpd_sys_content_t

auditd --> 详细资料写入 /var/log/audit/audit.log

chkconfig --list auditd
auditd  0:off 1:off 2:on 3:on 4:on 5:on 6:off
chkconfig auditd on
audit2why < /var/log/audit/audit.log
用audit2why 分析log
seinfo 查看预设政策
root@www ~]# sesearch [-a] [-s 主体类别] [-t 目标类别] [-b 布尔值]
选顷不参数:
-a :列出该类别戒布尔值的所有相关信息
-t :后面还要接类别,例如 -t httpd_t
-b :后面还要接布尔值的规则,例如 -b httpd_enable_ftp_server
root@www ~]# getsebool [-a] [布尔值条款]
选顷不参数:
-a :列出目前系统上面的所有布尔值条款设定为开启或关闭值
[root@www ~]# semanage {login|user|port|interface|fcontext|translation}
-l
[root@www ~]# semanage fcontext -{a|d|m} [-frst] file_spec
选顷不参数:
fcontext :主要用在安全性本文方面的用途,
-l :查询;
-a :增加
-m :修改
-d :删除。

总结
DAC 提供最基本的目录文件访问规则
隐藏属性 额外的福利吧
SUID SGIU SBIT 针对特定的程序 SBIT属性可以防止同群组下 文件的管理
ACL 批量的改权限
SElinux 安全方面的规则 防止犯傻行为

你可能感兴趣的:(selinux)