Linux是多用户、多任务环境,为了让各个用户具有较保密的文件数据,因此文件的权限管理就变得很重要了。linux一般将文件可存取访问的身份分为3个类别,分别是owner、group、others,并且三种身份各有read、write、execute等权限。 默认情况下,所有系统上的账号与一般身份用户,还有root的相关信息,都是记录在/etc/psaawd这个文件内。个人密码则记录在/etc/shadow这个文件下。linux所有的组名都记录在/etc/group文件内。不可以随便删除这三个文件。 FHS:Linux目录配置标准 FHS 的重点在于规范每个特定的目录下面应该要放置什么样子的数据 / (root,根目录) :与开机系统有关 /usr(UNIX software resource): 与软件的安装/执行有关 /var (variable) :与系统运作过程有关 umask:文件默认权限 umask的值指的是“默认值需要减掉的权限” ACL (Access Control List) ,主要目的是提供传统的owner、group、others的r、w、x权限以外的具体权限设置。ACL 可以针对单一用户、单一文件或目录来进行r、w、x的权限设置,对于需要特殊权限的使用状况非常有帮助。 ##1.文件权限存在的意义## 系统最底层安全设定方法之一,保证文件可以被可用的用户做相应操作 ##2.文件权限的查看## ls -l file = ll file ls -ld dir = ll -ld dir ##3.文件权限的读取## - |rw-rw-r--| 1 |kiosk | kiosk |0 | Jul 21 09 |file [1] [2] [3] [4] [5] [6] [7] [8] [1]文件的类型 - ##空文件,或者文本 d ##目录 l ##软链接 s ##socket套接字 b ##block块设备 c ##字符设备 [2]文件的权限 rw-|rw-|r-- 1 2 3 1.[u]文件拥有者对文件能做什么操作 2.[g]文件所有组对文件做什么操作 3.[o]其他人对文件能做什么操作 [3]对文件:文件硬链接个数(文件内容被记录的次数) 对目录:目录中子目录的个数 [4]文件所有人 [5]文件所有组 [6]对文件:文件大小 对目录:目录中子文件元数据(matedate可以理解为文件的属性)大小 [7]文件内容被修改的时间 [8]文件的名称 ##4.如何改变文件的所有人和所有组## chown | chgrp chown username file|dir chown user.group file|dir chown -R user.group dir chgrp group file|dir chgrp -R group dir ##5.如何改变文件的权限## 1.对权限的理解 r 对文件:是否可以查看文件中的内容 ---->cat file 对目录:是否可以查看目录中有什么子文件 --->ls dir w 对文件:是否可以改变文件里面记录的字符 对目录:是否可以对目录中子目录或子文件的元数据进行更改 x 对文件:是否可以通过文件名称调用文件内记录的程序 对目录:是否可以进入目录 2.更改方式 chmod <u|g|o><+|-|=><r|w|x> file|dir chmod u+x /mnt/file1 chmod g-r /mnt/file2 chmod ug-r /mnt/file3 chmod u-r,g+x /mnt/file4 chmod -r /mnt/file5 chmod o=rx /mnt/file6 (w比较特殊,+w只能给u加 r,x 给ugo都可以) rwx r=4 w=2 x=1 r-x|r--|--x chmod 541 file ##6.umask## umask 系统建立文件时默认保留的权力 umask 077 临时设定系统预留权限 永久更改的方式 vim /etc/profile ##系统配置文件 vim /etc/bashrc ##shell配置文件 ##7.特殊权限## 1.sticky ##粘制位 设定方式: chmod o+t dir chmod 1xxx dir 2.sgid ##强制位 设定方式: chmod g+s file|dir chmod 2xxx file|dir 3.suid ##冒险位(类似sudo) 设定方式 chmod u+s file chmod 4xxx file ##8.acl权限列表## 1.作用 让特定的用户对特定的文件拥有特定权限 2.acl列表查看 -rw-rwxr--+ 1 root root 0 Jul 21 15:45 file ^ acl开启 getfacl file ##查看acl开启的文件的权限 file : file ##文件名称 owner :root ##文件拥有者 group : root ##文件拥有组 user::rw- ##文件拥有人的权限 user:kiosk:rwx ##指定用户的权限 group::r-- ##文件拥有组的权力 mask::rwx ##能赋予用户的最大权力伐值 other::-- ##其他人的权限 3.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列表 4.mask值 在权限列表中mask表示能生效的权力值 当用chmod减小开启acl的文件权限时mask的值会发生改变 chmod g-w westos 如果要恢复mask值 setfacl -m m:rw westos umask:文件默认权限 umask的值指的是“默认值需要减掉的权限” 5.acl默认权限设定 acl权限只针对目录设定 acl权限只针对设定完成后新建立的文件或者目录生效,而已经存在的文件是不会继承默认权限 setfacl -m d:u:student:rwx /mnt/westos