权限设定

####文件权限#####
 1.文件权限存在的意义
  系统最底层安全设定方法之一
  保证文件可以被可用的用户作相应操作
2.文件权限查看
  ls -l           file
  ll               file    
  ls   -ld      dir
  ll    -d       dir

alias:查看系统别名


3.文件权限读取
 -  | rw-rw-r--     1    root    root     0     Jul 21 09:18    file
[1]          [2]     [3]      [4]      [5]     [6]          [7]               [8]

[1]  - :空文件,或者文本
      d:目录
       l:软链接
      s:套接字
      b:block块设备,程序的接口
      c:字符设备,显示字符的设备

[2]文件的权限
rw- rw- r--
 1   2   3
1.【u】文件拥有者对文件能做什么操作
2.【g】文件所有组对文件能做什么操作
3.【o】其他人对文件能做什么操作

[3]对文件:文件硬连接个数 (文件内容被记录的次数)
   对目录:文件中子目录的个数
     硬链接:ln  oldfile   newfile
       同一个文件使用了多个别名(他们拥有相同的inade号)
     软链接:ln -s oldfile newfile
       也称符号链接,文件用户数据块中存放的内容是另一个文件的路径名的指向(相当于创建了windows中的快捷方式),若删除被指向的源文件,则软链接就变成了死链接
 
[4]文件的所有人
[5]文件的所有组

[6]对文件:文件的大小
   对目录:子文件元数据的大小

[7]文件的内容被修改的时间(若只改变文件权限或属性,时间不会改变)

[8]文件的名称

 

4.如何改变文件的所有人和所有组
chown
  chown     username           dir|file    改变文件或目录的所属用户
  chown     username:groupname dir|file    同时改变文件或目录的所属用户和所属组
  chown     username.groupname dir|file
  chown -R  username           dir         使用-R,递归的将目录下的文件的所属用户也同时改变

chgrp
  chgrp     groupname         dir|file     改变文件或目录的所属组
  chgrp -R  groupname         dir          使用-R,递归的将目录下的文件的所属组也同时改变


5.如何改变文件权限
r:
对文件:是否可以查看文件内容
对目录:是否可以查看目录中有什么子文件

w:
对文件:是否可以改变文件里面记录的内容
对目录:是否可以对目录中子目录或子文件的元数据进行更改

x:
对文件:是否可以通过文件名调用文件内记录的程序
对目录:是否可以进入目录

2.更改方式
chmod <u|g|o><+|-|=><r|w|x>   file|dir

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

####6.umask###
umask       系统建立文件时默认保留的权力
    root用户的默认umask为 0022
    普通用户的默认umask位0002
    创建文件默认是644权限    777-111-022=644
    创建目录默认是755权限    777-022=755

临时设定系统预留权力
    umask 077

永久更改umask
   vim /etc/profile  系统配置文件


   vim /etc/bashrc  shell配置文件


   source /etc/profile
   source /etc/bashrc

登录式shell:
    正常通过某终端登录
    su - USERNAME
    su -l USERNAME    
非登录式shell: 
    自动执行的shell脚本,也是非交互式shell
    su USERNAME
    图形终端下打开的命令窗口

bash的配置文件:
全局配置
   /etc/profile,/etc/profile.d/*.sh,/etc/bashrc
个人配置
   ~/.bash_profile,~/.bashrc
   
profile类的文件:
   设定环境变量
   运行命令或脚本
bashrc类的文件:
   设定本地变量
   定义别名
   
登录式shell如何读取配置文件?
 /etc/profile-->/etc/profile.d/*.sh-->~/.bash_profile-->~/.bashrc-->/etc/bashrc
   
非登录式shell如何读取配置文件?  
 ~/.bashrc-->/etc/bashrc-->/etc/profile.d/*.sh

#####特殊权限#########

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

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

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

例1:

l例2:添加财务组及相关目录,使用户在其内编辑的文件自动归为财务组

3.suid  冒险位
  只针对二进制可执行文件,但文件上suid时,任何人执行这个文件中记的程序产生的进程都属于文件自身的属主

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

例:防止root用户误删/,将/bin/rm文件添加u+s,使其使用普通用户身份无法删/


####acl#####

传统的权限仅有三种身份 (owner,group, others) 搭配三种权限 (r,w,x), 并没有办法单纯的针对某一个使用者或某一个群组
来设置特定的权限需求 , 此时就得要使用 ACL( 文件访问控制列表 ,Access Control List) 这个机制ACL 因此目前 ACL 几乎已经默认加入在所有常见的 Linux 文件系统的挂载参数中 (ext2/ext3/ext4/xfs 等等 ), 但 rhel6.0以及之前的版本默认不支持 acl 的功能1.getfacl

getfacl file                查看acl开启的文件的权限
#file:file                   文件名称
#owner:root            文件拥有者
#group: root           文件拥有组
user::rw-               文件拥有人的权限
user:westos:rwx  指定用户的权限
group::r--             文件拥有组的权限
mask:rwx                能赋予用户的最大权力伐植
other::r--              其他人的权限

2.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列表

例1:创建目录/mnt/westos

student用户在其目录中没有写权限,无法touch文件

然后为目录设置acl,使student用户拥有rwx权限

最后student用户能够touch文件

例2:关闭acl:setfacl -b /dir

3.mask值
在权限列表中mask表示能生效的权力值,当用chmod减小开启acl文件案权限时mask值会发生改变

chmod g-w westos

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

例:

4.acl默认权限设定
acl默认权限只针对目录设定
acl权限只针对设定完成后新建立的文件或目录生效,而已经存在的文件是不会继承默认权限的
  setfacl -m d:u:student:rwx westos/

例:在设置默认权限前,/mnt/westos/test不能touch文件,设置默认权限后,/mnt/westos/下新建的yy目录下可以touch文件

例题:新建用户组,shengchan,caiwu,jishu
新建用户要求如下:
  1.tom是shengchan组的附加组
  2.harry是财务组的附加用户
  3.leo是jishu组的附加用户
  4.新建admin用户,此用户不属于以上提到的三个部门
新建目录要求如下:
  /pub目录为公共存储目录对所有用户可以读写执行,但用户只能删除属于自己的文件
 /sc目录为生产存储目录只对生产用户可以写入,并且自动归属到shengchan组中

 /cw目录为财务存储目录只对财务部用户可以写入, 并且自动归属到财务组中
 admin用户对于/sc和/cw目录可以读写执行

   groupadd shengchan
   groupadd caiwu
   groupadd jishu
   useradd -G shengchan tom
   useradd -G caiwu harry
  useradd -G jishu leo
  useradd  admin
  mkdir /pub /sc /cw
  chmod 777 /pub
  chmod o+t /pub
  chgrp shengchan /sc
  chmod g+s /sc
  chmod 770 /sc
  chgrp caiwu /cw
  chmod g+s /cw
  chmod 770 /cw
  setfacl -m u:admin:rwx /cw
  setfacl -m u:admin:rwx /sc

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值