Linux系统下的权限设定

一、文件权限定义

文件存在的意义
系统最底层安全设定方法之一
保证文件可以被指定的用户作相应操作

二、文件权限的查看及读取

1.文件全权限的查看

文件查看  ls -l  file  或   ll  file
目录查看  ls -ld  dir 或   ll  -d   dir
注:ll=ls -l

2.文件权限的读取
-  |rw-rw-r--| 1 |kisosk | kisosk | 0 | Jul 21 09:18 | 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]文件的名称


三、如何改变文件的所有人和所有组

chown|chgrp
chown       username      file|dir
chown       user.group     file|dir
chown   -R  user.group   dir

chgrp       group         file|dir
chgrp    -R   group   dir

四、文件权限的更改

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             0=r-x       /mnt/file6      ##给其他人添加读的权力
chmod             0=wx        /mnt/file7     ##给其他人添加写和执行的权力

rwx: r=4  w=2  x=1
r-x|r--|--x
 5   4   1

7=rwx    6=rw-     5=r-x     4=r--   3=-wx     2=-w-     1=--x     0=---

五、系统默认权限umask

umask            ##系统建立文件时默认保留的权力
umask 077     ##临时设定系统预留权限为077

永久更改umask:

vim /etc/profile  ##系统配置文件
59 if [$UID -gt 199] && [ "'id -gn'" = "'id -um'" ];then
60        umask 002     ##普通用户的umsk
61 else
62   umask 077          ##超级用户的umask

63 fi

vim /etc/bashrc    ##shell配置文件
70   if [ $UID -gt 199 ] && [ "'id -gn'" = "'id -un'" ];then
71    umask 022
72   else
73    umask 077
74   fi

注:
source   /etc/profile    ##让更改立即生效
source   /etc/bashrc

 

六、特殊权限

1.sticky    ##粘制位
作用:
    只针对目录生效,当一个目录上有sticky权限时
    在这个目录中的文件只能被文件的所有者删除
设定方式:chmod o+t   dir
                 chmod 1xxxx  dir  

2.sgid     ###强制位置
作用:     
       对文件:只针对于二进制可执行文件
       当文件上有sgid时任何人执行此文件产生的进程都属于文件的组
       对目录:当目录上有sgid权限时任何在此目录中建立的文件都属于目录的所有组

设定方式:chmod g+s   file|dir
                 chmod 2xxx  file|dir

3.suid     ###冒险位
       只针对与二进制可执行文件
       当文件上有suid时任何人执行这个文件中记的程序产生的进程都属于文件的所有人

设定方式:chmod u+s  file
                 chmod 4xxx file


     

七、权限列表

1.作用
     让特定的用户对特定的文件拥有特定的权限

2.
  -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::r--             ##其他人的权限

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值会发生改变

注:

如果要恢复mask值
setfacl -m m:rw westos

5.acl的默认权限设定
           acl默认权限只针对目录设定
           “acl权限只针对设定完成之后新建立的文件或目录生效,而已经存在文件是不会继承默认权限”

setfacl -m d:u:student:rwx /mnt/westos

八、巩固与应用

1.新建用户组,shengchan,caiwu,jishu

2.新建用户要求如下:

1)tom是shengchan组的附加用户

2)harry是caiwu组的附加用户

3)leo是jishu组的附加用户

4)新建admin用户,此用户不属于以上提到的三个部门

3.新建目录要求如下

1)/pub目录为公共存储目录对所有用户可以读,写,执行

2)/sc 目录为生产部存储目录只能对生产部人员可以写入

3)/cw 目录为财务部存储目录只能对财务部人员可以写入

猜你喜欢

转载自blog.csdn.net/d__fyy/article/details/81193371