Linux学习笔记之权限管理

来源:互联网 发布:空中救援队 知乎 编辑:程序博客网 时间:2024/06/01 10:16

Linux学习笔记之权限管理

u:所有者g:组o:othersr:读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 /av9.最大有效权限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
0 0
原创粉丝点击