Linux学习笔记之权限管理

Linux学习笔记之权限管理

u:所有者
g:组
o:others

r:读
w:写
x:执行

chmod [选项] 模式 问文件名
选项:
    -R  //递归(对文件夹操作时)
模式:
    [ugoa][+-=][rwx]
    [mode=421]  //r=4,w=2,x=1, rwx = 7,rw- = 6 , r-x = 5, -wx = 3,r-- =4,-w- =2, --x=1

修改权限的方式:
    - chmod u+x cangls.av   //给所有者赋予执行权限
    - chmod g+w,o+w cangls.av   //给所属组赋予写的权限,给其他人赋予写的权限
    - chmod a=rwx cangls.av //给所有人都赋予读写执行的权限
    - chmod 755 cangls.av //aa的权限为rwxr-xr-x

权限对文件的作用
    r:读取文件内容(cat more head tail)

    w:编辑、新增、修改文件内容(vi echo)
        但是不包含删除文件,因为文件其实是上一级文件夹的内容,需要对上一级文件夹有w权限,才能够删除文件
    x:可执行

权限对目录的作用
    r:可以查询目录下文件名(ls)
    w:具有修改目录结构的权限。如新建文件和目录,删除此目录下文件和目录,重命名此目录下文件和目录,剪切(touch rm mv cp)
    x:可以进入目录

    对于文件最高权限是x ,对于文件夹最高权限是 w。
    对于目录而言,有效的权限是0 5(rx) 7(rwx),其他都没有意义

修改所有者 chown 用户名 文件名 
修改所属组 chgrp 用户组 文件名
修改所有者和用户组 chown 用户名:用户组 文件名

文件的默认权限
    文件默认不能建立为执行文件,必须手动赋予执行权限
    所以文件默认权限最大为666
    默认权限需要换算成字母再相减
    建立文件之后的默认权限,为666减去umask值

查看默认权限的命令
    umask   //查看默认权限
    0022    
        第一位:文件特殊权限
        022:文件默认权限  


求真实权限
例如:
    文件默认最大权限666,umask值022
    -rw-rw-rw- 减去 -----w-w-等于 -rw-r--r--    

Linux权限管理之特殊权限

1.ACL权限的用途:用户种类过多而权限分配有困难而产生的权限附加命令

2.dumpe2fs -h /dev/sda5 //dumpe2fs命令是指定分区详细文件系统信息的命令
    选项:
        -h  //仅显示超级块中信息,而不显示磁盘块组的详细信息
3.临时开启分区ACL权限
    mount -o remount,acl /  //重新挂载根分区,并挂载假日acl权限
4.永久开启分区acl权限
    vi /etc/fstab
         UUID=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx / ext4 defaults,acl 1 1

    mount -o remount /  //重新挂载文件系统或重启动系统,使修改生效

5.getfacl 文件名       //查看acl权限

6.setfacl 选项 文件名        //设定ACL权限
    选项:
        -m  //设定ACL权限
        -x  //删除指定的ACL权限
        -b  //删除所有的ACL权限
        -d  //设定默认ACL权限
        -k  //删除默认ACL权限
        -R  //递归设定ACL权限

7.给用户设定ACL权限
    useradd xsx
    groupadd stu
    mkdir /av
    chmod tong:stu /av
    chmod 770 /av
    useradd lw
    setfacl -m u:lw:rx /av

    赋权之后使用ls -l可以看到文件权限后有“+”

8.给用户组设定ACL权限
    groupadd tgroup2    //添加一个用户组
    setfacl -m g:rgroup2:rwx /av

9.最大有效权限mask
    mask是用来指定最大有效权限的。如果我给用户赋予了ACL权限,是需要和mask的权限“想与”才能得到用户的真正权限

    修改最大有效权限:
    setfacl -m m:rx 文件名 //设定mask权限为r-x。使用“m:权限”格式

10.删除ACL权限
    setfacl -x u:用户名 文件名    //删除指定用户的ACL权限

    setfacl -x g:组名 文件名     //删除指定用户组的ACL权限

11.尽量少用ACL权限,因为可能会权限溢出(就是权限分配过多)
    - 默认ACL权限:把这个目录下以后创建的所有文件都赋予某种权限
        setfacl -m d:u:user1 目录名
    - 递归权限:在赋予目录权限的同时将权限赋予此文件夹下面的子文件权限
        setfacl -m u:user1  -R  目录名

12.sudo权限
    1.切换用户命令
        [root@localhost ~]# su - 用户名
    2.赋予普通用户超级管理员的权限
        以root身份登陆visudo后,添加一行
        visudo  //实际修改的是/etc/sudoers文件
        root ALL=(ALL) ALL  
        用户名 被管理主机的地址=(可使用的身份)授权命令(绝对路径)
    3.为用户组添加权限
        %wheel ALL=(ALL) ALL
        %组名 被管理主机的地址=(可使用的身份)授权命令(绝对路径)
    4.查看可执行的命令
        [user1@localhost ~]# sudo -l
    5.普通用户执行超级命令的时候必须要加sudo命令的绝对路径


    例子1:赋予user1关机的权限
        [root@localhost ~]# useradd user1
        [root@localhost ~]# visudo user1 ALL=(ALL) /sbin/shutdown
        [root@localhost ~]# su - user1
        [user1@localhost ~]# sudo /sbin/shutdown -r now

    例子2:授权普通用户可以添加其他用户
        [root@localhost ~]# visudo
        user1 ALL=/usr/sbin/useradd 
        user1 ALL=/usr/bin/password
        //禁止普通用户设定root用户的密码
        user1 ALL=/usr/bin/password [A-Za-z]*,!/usr/bin/password "",!/usr/bin/password root
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值