• 5.Linux文件权限


    Linux用户类别

    • root:这是系统特权用户类,他们都有访问root登录账号的权限
    • owner:这是实际拥有文件的用户
    • group:这是共享文件的组访问权的用户类的用户组名称
    • world:这是不属于上面3类的所有其他用户。
     
    /etc/passwd 文件格式:
    muming:x:1000:1000:muming,,,:/home/muming:/bin/bash
    用户名:密码:用户id:用户所属组id:用户信息描述:用户家目录:用户启动shell位置
     
    /etc/shadow文件格式:
    muming:$6$i2nMsSGD$jgW0XjgE66dqevwoAfSE65lLrD13/k.Xrtiz/UlwE/BF//WLm6sAIzp96pngc1TCzKrhetjNcTQG0zQHiT5C4/:17769:0:99999:7:::
    • 用户名
    • 密码(加密过的密码,*或!打头表示不能登录)
    • 密码最后一次被修改的时间(从1970年1月1日到改日的天数)
    • 从上一次修改密码到下一次允许进行修改要经历的天数
    • 经过多少天后用户必须重新修改密码
    • 在密码到期前多少天向用户发出必须修改密码的警告
    • 账号到期日
    • 保留
     
    /etc/group文件格式:
    groupname:password:gid:user_list
    例如:muming:x:1000:
    • groupname:组名称
    • password:组密码
    • gid:组识别号
    • user_list:该组用户清单
     
    /etc/gshadow文件格式:
    muming:!::
     
     

    组管理

    • 组管理命令
    命令名称
    用途
    命令举例
    groupadd
    添加组
    groupadd g_study
    groupadd -g 777 mygroup
    -g 参数直接指定gid
    gpasswd
    管理用户组信息,如设置密码,添加
    删除组成员
    gpasswd g_study
    gpasswd -a study g_study
    -a 添加用户进组
    -d 从组里删除用户
    groupmod
    修改用户组信息
    groupmod -n studygroup
    (新名)g_study(旧名)
    groupdel
    删除用户组
    groupdel studygroup
    groups
    显示用户所属的用户组
    groups study
     
     

    用户权限

    • 用户管理命令
    命令名称
    用途
    命令举例
    useradd或adduser
    添加用户
    useradd study
    useradd -g 组名 用户
    (将用户添加到指定组)
    useradd -g 默认组 -G 其他组1,其 他组2,... 用户
    一个用户可以属于多个组
    passwd
    为用户设置密码
    passwd study
    passwd -d study(删除密码)
    usermod
    修改用户信息
    usermod -c study(改后的别名)study
    usermod -g study(要修改成的组的组名)test(要修改的用户)
    将test用户的默认组修改为study
    userdel
    删除用户
    userdel -r study(-r连主目录一起删除)
    su
    用户切换
    su root(未将当前目录切换到root用户的目录下)
    su - root(将目录切换到了root用户目录下)
    id
    查看用户的UID、GID及所归属的用户组
    id study
     
    useradd命令不能够在/home下创建用户主目录
    1:有时候直接使用:
    useradd hadoop
    并不能够在/home下创建hadoop的文件夹,这是由于/etc/login.defs中的假如在/etc/login.defs中的CREATE_HOME被设置为no。
     
    2:解决方案 — > 加上一个“-m”
    useradd -m hadoop
    在man useradd文档中,会发现,-m可以在系统不允许创建用户主目录的情况之下创建用户主目录。
     
     

    权限管理

    Linux文件权限位
    • 文件权限位的表示:-rwxrwxrwx
    • 第一位表示文件的类型,-表示普通文件,d表示目录文件,l表示符号连接文件
    • 接下来三位表示owner用户的读、写、执行权限
    • 紧跟着三位表示group用户的读、写、执行权限
    • 最后三位表示world用户的读、写、执行权限
     
    Linux文件权限管理
    • 设置文件所属的用户以及所属的组(chown,chgrp)
    • 给文件赋予相应的权限位(chmod)
    1. chown
    chown用来更改文件所有者与组拥有者,其一般格式为:
      chown [option] owner [:group] file
    将abc及其子目录下的所有文件的所有者改为jjl:
      chown jjl abc
    将abc文件的所有者改为jjl,组拥有者改为study:
      chown jjl:study abc
    将文件夹递归更改
      chown -R root:root 文件夹名称
     
    1. chgrp
    chgrp用来更改文件的组拥有者,其一般格式为:
      chgrp [option] group file
    将文件abc的组拥有者改为study:
      chgrp study abc
    将abc及其子目录下的所有文件的组拥有者改为study:
      chown -R study abc
     
    1. chmod
    chmod命令格式为:
      chmod [option] mode files...
    mode表示格式:
    • 数字表示:[n][n][n] r = 4 w = 2 x = 1
      rwx: 4 + 2 + 1; r-x: 4 + 1; rw-:4 + 2
    • 文本方式:[ugoa][+-=][rwx]
        u -- 该档案的拥有者
        g -- 与该档案的拥有者属于同一群体(group)者;
        o -- 其他以外的人;
        a - 所有
        + -- 增加权限
        - -- 去掉权限
        = -- 设定权限
        -R : 递归更改
     
    为文件abc的组拥有者增加rw权限:
      chmod g+rw abc
    为abc文件的用户拥有者去除x权限:
      chmod u-x abc
    指定文件abc的其他用户权限位rw-:
      chmod o=rw-
    将文件abc及其子目录底下的所有文件的全体用户增加x权限
      chmod -R a+x abc
     
    1. set uid(suid)、set gid(sgid)
    • /usr/bin/passwd -rwsr-xr-x
    • /etc/shadow -r--------
    • suid权限仅对可执行程序有效即具有x权限
    • 本权限针对运行中的进程
    • 运行中的进程将具有该程序拥有者的权限
    • s出现在组权限的x位置上时,称为sgid
     
    1. sticky bit(sbit):粘着位
    /tmp drwxrwxrwt
    仅对目录有效
    防止文件或目录被非属主删除
     
    对目录
      x:进入目录
      w:创建文件/文件夹
      r:列出文件夹里面的内容
     
     

    该位置出现了S权限,这不是一个有效的权限,因为要使用s权限,suid权限仅对可执行程序有效即具有x权限才可用
    按如下方式修改即可:
     
    如果想让用户和用户组都拥有s权限,则输入如下命令:
     

    修改文件夹权限位为t

    1. umask
      0002的含义:表示当创建一个文件夹时,其他用户应该去掉2这个权限,也就是w权限。
     
    对于文件夹:
      mode = 777 & ~umask
    对于文件:
      mode = 666 & ~umask

  • 相关阅读:
    转:二进制文件和文本文件的区别详解
    python sorted函数,字典排序
    office word交叉引用,文献尾注,公式自动编号
    list作为实参传给函数
    转:python深拷贝和浅拷贝的区别
    文件夹中含有子文件夹,修改子文件夹中的图像存储格式(python实现)
    python遍历文件夹中所有文件夹和文件,os.walk
    cf div3 B Obtaining the String
    cf div3 B Obtaining the String
    poj 3281(最大流)
  • 原文地址:https://www.cnblogs.com/ming-1012/p/10096280.html
Copyright © 2020-2023  润新知