天天看点

鸟哥私房菜笔记--linux文件

  • -rwx-r-xr-x
  • 三种类别 拥有者 用户组 其他人
  • 每种类别三种权限 读r 写w 执行x
  •  以数字方便配置 r=4 w=2 x=1
  • linux系统中文件无类似.exe的扩展名以区分可执文件,而是以是否拥有x权限
  • 第一个表示文件的类别d=目录 -=文件 l=连结 b=块文件设备(硬盘) c=串行文件设备(键盘)
  • 目录是一种特殊的文件,要想打开目录,必须同时有rx权限,在目录里新建删除文件必还要有w权限
  • chgrp改变所属群组 chown改变拥有者(也可同时更改组 chown root.root) chmod改变权限

ACL: 可以更细颗粒度的分配权限 可对单一群主,单一用户,单一目录,单一文件分配权限

  • 前提 文件系统支持
  • 查看是否开启acl   #mount ->/dev/hda2 on / type ext3 (rw,acl)  #dumpe2fs -h /dev/hda2 -> Default mount options: user_xattr acl
  • 开启acl功能 mount -o remount,acl /
  • 启动加载 修改/etc/fstab    LABEL=/1 / ext3 defaults,acl1 1
  • getfacl::getfacl myfile
  • setfacl setfacl -m u:vbird1:rx myfile 设置了acl权限的文件目录会在权限信息后多一个+号 -rwx-r-xr-x+

SELinux:控制程序只能操作与自己相关的文件,如apache只能读取www目录下文件,如要不符合规定,则禁止操作, 如果符合规定最后是否能操作WWW下的文件,还要 依据rwx权限

  • 检查是否启动了SELinux  (1)#getenforce 当前SELinux模式 (2)#sestatus 查看政策 
  • 配置文件/etc/selinux/config   配置模式与政策
  • 关闭SELinux grub kernel 后加 selinux=0
  • 模式切换 setenforce [0|1] 0 =permissive 宽容 1=enforcing 严格
  • ls -lZ/usr/sbin/httpd  /var/www/html-> 

-rwxr-xr-x root root system_u:object_r:httpd_exec_t /usr/sbin/httpd

drwxr-xr-x root root system_u:object_r:httpd_sys_content_t /var/www/html

  • 身份识别:角色:类型

身份识别 (Identify):相当于帐号方面的身份识别!主要的身份识别则有底下三种常见的类型:

root:表示 root 的帐号身份,如同上面的表格显示的是 root 家目录下的数据啊!

system_u:表示系统程序方面的识别,通常就是程序罗;

user_u:代表的是一般使用者帐号相关的身份。

角色 (Role):透过角色栏位,我们可以知道这个数据是属於程序、文件资源还是代表使用者。一般的角色 有:

object_r:代表的是文件或目录等文件资源,这应该是最常见的罗;

system_r:代表的就是程序啦!不过,一般使用者也会被指定成为 system_r 喔!

类型 (Type) :(最重要!)在默认的 targeted 政策中, Identify 与 Role 栏位基本上是不重要的!重要的在於这 个类型 (type) 栏位! 基本上,一个主体程序能不能读取到这个文件资源,与类型栏位有关!而类型栏 位在文件与程序的定义不太相同,分别是:

type:在文件资源 (Object) 上面称为类型 (Type);

domain:在主体程序 (Subject) 则称为领域 (domain) 了!

  • 具体设置   待续。。。。。