权限管理

来源:互联网 发布:网络写手水军做的坏事 编辑:程序博客网 时间:2024/05/22 17:37

权限管理:

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 0
原创粉丝点击