用户及管理权限

用户:

用户类别:在linux中用户分为两类,分别是管理员和系统用户,而系统用户又分为系统用户和登陆用户,每一个用户都有一个单独的UID(16bits二进制数字)进行标识。

 

用户标识:UID

        16bits二进制数字:0-65535

           管理员:0

           普通用户:1-65635

              系统用户:1-499(CentOS6),1-999(CentOS7)

              登录用户:500-60000(CentOS6),1000-60000(CentOS7)

     

每一个用户不仅有UID,同样有自己的用户名,与UID相对应,其对应信息存放在名称解析库:/etc/passwd中。

/etc/passwd:用户的信息库

        name:password:UID:GID:GECOS:directory:shell

 

         name:用户名

         password:可以是加密的密码,也可是占位符x;

         UID:用户的ID号

         GID:用户所属的主组的ID号;

         GECOS:注释信息

         directory:用户的家目录;

         shell:用户的默认shell,登录时默认shell程序

 

用户认证:

  通过比对事先存储的,与登录时提供的信息是否一致;

    /etc/shadow ;

  /etc/shadow:用于存放用户密码

  用户名:加密的密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告期   段:过期期限:保留字段

   密码的使用策略:

           1、使用随机密码;

           2、最短长度不要低于8位;

           3、应该使用大写字母、小写字母、数字和标点符号四类字符中至少三类;

           4、定期更换;

加密算法:

       对称加密:加密和解密使用同一个密码;

         非对称加密:加密和解密使用的一对儿密钥;

         密钥对儿:

           公钥:public key

              私钥: privatekey

       单向加密:只能加密,不能解密;提取数据特征码;

              定长输出

              雪崩效应

         算法:

              md5:messagedigest, 128bits

              sha1:secure hashalgorithm,160bits

              sha224;

              sha256;

              sha384;

              sha512;

              在计算之时加salt,添加的随机数;

 

用户相关命令

  创建用户:useradd命令;

 

    useradd [OPTION] LOGIN_NAME;

         -u,--uid UID:指定用户的UID;

         -g,--gid GROUP:指定基本组的ID,此组得事先存在;

         -G, --groupsGROUP1[,GROUP2,...[,GROUPN]]]:指明用户所属的附加组,多个组之            间用逗号分隔;

         -c,--comment COMMENT:指明注释信息;

         -d, --home HOME_DIR:以指定的路径为用户的家目录;通过复制/etc/skel此目录            并重命名实现;指定的家目录路径如果事先存在,则不会为用户复制环境配置文              件;

         -s, --shell SHELL:指    定用户的默认shell,可用的所有shell列表存储              在/etc/shells文件中;

         -r,--system:创建系统用户;

         useradd -D:显示创建用户的默认配置;

         useradd -D OPTION: 修改默认的选项的值;

         (修改的结果存放于/etc/default/useradd文件中);

 

    注意:创建用户时的默认设定配置文件为/etc/login.defs;

 

修改用户属性:usermod命令

 

    usermod [OPTION] LOGIN_NAME;

          -u, --uid UID:修改用户的ID为此处指定的新UID;

          -g, --gid GROUP:修改用户所属的基本组;

          -G, --groupsGROUP1[,GROUP2,...[,GROUPN]]]:修改用户所属的附加组原

          来的附加组会被覆盖;

          -a, --append:与-G一同使用,用于为用户追加新的附加组;

          -c,--comment COMMENT:修改注释信息;

          -d, --home HOME_DIR:修改用户的家目录;用户原有的文件不会被转移至新位置;

          -m, --move-home:只能与-d选项一同使用,用于将原来的家目录移动为新的家目录;

          -l, --login NEW_LOGIN:修改用户名;

          -s, --shell SHELL:修改用户的默认shell;

          -L, --lock:锁定用户密码;即在用户原来的密码字符串之前添加一个"!";

          -U, --unlock:解锁用户的密码;

 

删除用户: userdel命令;

 

    Userdel [OPTION] LOGIN_NAME;

      -r:删除用户时一并删除其家目录;

 

用户组:

    组类别1:

       管理员组;

       普通用户组:

         系统组

         登录组

   组标识:GroupID,GID

          管理员组:0

            普通用户组:1-65635

              系统用户组:1-499(CentOS6),1-999(CentOS7)

              登录用户组:500-60000(CentOS6),1000-60000(CentOS7)

 

         名称解析:groupname<--> gid

            解析库:/etc/group       

   组类别2:

            用户的基本组

            用户的附加组

   组类别3:

            私有组:组名同用户名,且只包含一个用户;

            公共组:组内包含了多个用户;

 

用户组认证:

    /etc/gshadow

  /etc/gshadow:用于存放用户组密码;

 

用户组相关命令:

    groupadd命令:添加组

      groupadd[OPTION] group_name

        -gGID:指定GID;默认是上一个组的GID+1;

        -r:创建系统组;

    groupmod命令:修改组属性

      groupmod[OPTION] GROUP

        -gGID:修改GID;

        -nnew_name:修改组名;

    groupdel命令:删除组

        groupdel[OPTION] GROUP

 

用户与用户组其他相关命令:

    passwd命令:

      passwd[-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays][-         iinactivedays] [-S] [--stdin] [username]

      (1)passwd:修改用户自己的密码;

      (2)passwd USERNAME:修改指定用户的密码,但仅root有此权限;

        -l,-u:锁定和解锁用户;

        -d:清除用户密码串;

        -e DATE: 过期期限,日期;

        -i DAYS:非活动期限;

        -n DAYS:密码的最短使用期限;

        -x DAYS:密码的最长使用期限;

        -w DAYS:警告期限;

        --stdin:

          echo "PASSWORD" | passwd --stdin USERNAME

    gpasswd命令:

     组密码文件:/etc/gshadow

      gpasswd[OPTION] group

        -aUSERNAME:向组中添加用户

        -dUSERNAME:从组中移除用户

    newgrp命令:临时切换指定的组为基本组;

      newgrp[-] [group]

        -:会模拟用户重新登录以实现重新初始化其工作环境;

    chage命令:更改用户密码过期信息

      chage[选项] 登录名

        -d:最近更改日期;

        -E:过期日期;

        -W:警告日期;

        -m:最小修改密码日期;

        -M:最大修改密码日期;

    id命令:显示用户的真和有效ID;

      id[OPTION]... [USER]

        -u:仅显示有效的UID;

        -g:仅显示用户的基本组ID;

        -G:仅显示用户所属的所有组的ID;

        -n:显示名字而非ID;

    su命令:switchuser

      登录式切换:会通过读取目标用户的配置文件来重新初始化

        su- USERNAME

        su-l USERNAME

      非登录式切换:不会读取目标用户的配置文件进行初始化

        su USERNAME

      注意:管理员可无密码切换至其它任何用户;

        -c'COMMAND':仅以指定用户的身份运行此处指定的命令;

      其它几个命令:

        chsh:修改用户的SHELL;

        chfn:修改用户相关信息;

        finger:显示用户相关信息;

        whoami:显示有效用户名;

        pwck:检查密码文件的完整性;

        grpck:检查组文件的完整性;

 

权限管理:

    根据ls –l命令可以查看文件或目录权限;

      rwxrwxrwx:

        前3位定义user的权限;

        中3位定义group的权限;

        后3位定义other的权限;

    进程安全上下文:

      进程对文件的访问权限应用模型:

        进程的属主与文件的属主是否相同;如果相同,则应用属主(user)权限;

        否则,则检查进程的属主是否属于文件的属组;如果是,则应用属组(group)权限;

        否则,就只能应用other的权限;

 

      权限:

        r:readable, 读

        w:writable, 写

        x:excutable,执行

      文件:

        r:可获取文件的数据;

        w: 可修改文件的数据;

        x:可将此文件运行为进程;

      目录:

        r:可使用ls命令获取其下的所有文件列表;

        w: 可修改此目录下的文件列表;即创建或删除文件;

        x: 可cd至此目录中,且可使用ls-l来获取所有文件的详细属性信息;

 

权限管理命令:

    chmod命令:

      chmod [OPTION]...MODE[,MODE]... FILE...

      chmod [OPTION]... OCTAL-MODE FILE...

      chmod [OPTION]...--reference=RFILE FILE...

        三类用户:

          u:属主

          g:属组

          o:其它

          a:所有

        (1) chmod [OPTION]...MODE[,MODE]...FILE...

           MODE表示法:

            赋权表示法:直接操作一类用户的所有权限位rwx;

              u=

              g=

              o=

              a=

            授权表示法:直接操作一类用户的一个权限位r,w,x;

            u+,u-

            g+,g-

            o+,o-

            a+,a-

        (2)chmod [OPTION]... OCTAL-MODEFILE...

        (3)chmod [OPTION]...--reference=RFILE FILE...

        选项:

          -R,--recursive:递归修改

        注意:用户仅能修改属主为自己的那些文件的权限;

  从属关系管理命令:chown,chgrp

      chown命令:

      chown[OPTION]... [OWNER][:[GROUP]] FILE...

      chown[OPTION]... --reference=RFILE FILE...

      选项:

        -R:递归修改

    chgrp命令:

       chgrp[OPTION]... GROUP FILE...

       chgrp[OPTION]... --reference=RFILE FILE...

      注意:仅管理员可修改文件的属主和属组

 

    umask:文件的权限反向掩码,遮罩码;

      文件:

        666-umask

      目录:

        777-umask

      注意:之所以文件用666去减,表示文件默认不能拥有执行权限;如果减得的结果中有执行权       限,则需要将其加1;

      umask命令:

        umask:查看当前umask

        umask MASK: 设置umask

 

      注意:此类设定仅对当前shell进程有效;