权限管理

权限管理:

1.只要提到权限,肯定指的是文件的权限
2. 一切皆文件,目录也是特殊的文件,目录文件的内容是ls -l列出来的内容


普通权限/默认权限/特殊权限/acl 访问策略

一:普通权限:
ls-l

-rw-r--r-- 1 root root 80 Apr  5 14:58 new file

-:普通文件
d:目录
l: 链接文件,类似windows快捷方式
c:字符设备
b:块设备 (光盘/光驱/软盘)
s:socket文件(网络程序通讯的方式,mysql),套接字文件
p:管道文件 (进程间通讯的文件)

第2-11个字符:文件的权限

第二段:目录的子目录个数或者文件的硬链接数

磁盘读取数据的最小单位: 1个扇区=512个字节
系统读取数据的最小单位: 1次性读取连续8个扇区 = 512字节*8=4096字节=4kb 块

     创建硬链接:
    ln 源文件 链接文件
    说明:不能对目录创建硬链接
    创建软链接:
    ln -s 源文件 链接文件


第三段:文件的拥有者(创建者)

第四段:文件的数组

第五段:文件的大小

第六到八;文件的最后一次的修改时间

第九段:文件名

普通权限:rw-r - - r - - 

               |      |      |
               u     g     o

      r:读权限    r - -   100(二进制)  4
      针对文件而言: 读取(查看)文件内容
      针对目录而言: r 可以列出目录里的内容
      w:写权限   -w-      010                  2
      针对文件而言: 可以修改文件内容
      针对目录而言:在该目录下创建/删除/重命名等文件
      x:执行权限   --x    001                   1

      针对文件而言: 文件可以被执行
      针对目录而言: 可以切换到该目录

   说明:一般对于一个正常操作的目录来说,要有r x 权限

  更改文件权限:
           chmod:
           -R  递归修改

    #  chomd u=rx,g+x,o-r   file2
    #  r-x rw-


 修改文件的属主和属组:
            chown: 修改属主和数组   root权限
            chgrp:修改文件的数组    root权限
            -R 递归修改
            chown stu2.admin file1
            chown stu2:admin file1
            chown stu2. file1
            chown stu2 file1
            chown .admin file1
            chown :admin file1

            chgrp admin file1

课堂练习一:roo
1、root用户新建目录/tmp/ro_dir,要求目录的所属组为tom
2、tom用户在/tmp/ro_dir目录下创建一个文件tomfile
3、用户jack往tomfile文件里追加内容:hello world

课堂练习二:
1、以普通用户user01登录系统,新建目录/share/sysadmin目录,属于sysadmin组
2、要求组成员有读写访问的权限,其他成员没有任何权限
3、要求harry可以,natasha不能读写

课堂练习三:
一个公司有2个部门rs和cw,各有rs01,rs02和cw01,cw02员工。针对每个员工的工资表只允许rs部门查看,cw部门修改,boss也只有查看权限,其他部门的人没有任何权限。
注:工资表为gz_file,权限为400

二:默认权限
创建文件的默认权限,命令:umask

root用户:
创建目录的默认权限:755
创建文件的默认权限:644
普通用户:
创建目录的默认权限:775
创建文件的默认权限:664
umask 查看当前用户的umask

 目录最大权限:777
 文件最大权限:666
    root: umask 0022
 普通:umask 0002

 0777 - 0022 = 0755
 0666 - 0022 = 0644
修改用户的 umask:
   1.临时修改 
        umask xxxx  只对当前用户当前终端生效
        0777-0003 = 0774
        0666-0003 = 0663   实际0664
    2.永久修改
          情况1:针对某个用户生效
                     vim ~/.bashrc 
                     umask 0005
           情况2:针对所有用户生效
                      vim /etc/bashrc
                      ...
                      umask 0003                     

                      source /etc/bashrc

                      /etc/bashrc   全局  保存每个运行的bash信息

当打开一个shell时,此文件被读取
/etc/profile 全局
保存系统和用户的环境变量信息,当第一次登录时该文件被读取
~/.bashrc 保存 当前用户的bash用户信息
当用户登录,每次打开新的shell时,该文件被读取
~/.bash_profile 保存当前用户的环境变量信息
当用户登录时,该文件被读取
~/.bash_logout 当用户退出bash或者终端时
执行该文件,然后退出

                     用户登录后所读取的文件顺序
                     /etc/profile -   ~./bash_profile   ~./bashrc

/etc/bashrc ~./bash_logout

三:特殊权限:
冒险位:(setuid) 4000
临时拥有文件拥有者的权限,作用在属主身上,一般作用于命令
chmod u+s filename
chmod 4xxx filename

强制位: (setgid) 2000

针对目录,任何人在该目录下创建的文件强制继承该目录的数组
chmod g+s filename
chmod 2xxx file

粘制位: (stick) 1000 针对公共目录

该目录下的文件只有root和文件的创建者可以删除,其他人删除不能够删除不属于自己的文件
自己管理自己

              chmod o+t filename 
              chmod  1xxx filename

四:ACL访问策略

setfacl 命令设置acl策略
-m : 修改acl策略
-R: 递归修改,针对目录,目录下的老文件会有acl策略, 新建的文件没有
-d:递归修改,默认acl策略,针对目录
目录下的老文件不会有acl策略,新建的文件有acl策略
-x:删除某个用户和某个组的acl策略
-b:删除所有的acl策略

    -R

d:该目录本身和该目录下的普通文件不会继承acl策略,该目录下新创建的文件和目录以及老目录会继承
mask:定义除了拥有者和其他人以外的最大权限
getfacl 命令查看文件的acl策略

 demo:
 去除最大用户权限

setfacl -m u:harry:rw file1

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值