首页 > 代码库 > Linux用户、用户管理权限

Linux用户、用户管理权限

一 、Linux用户、组和权限管理

 

 

 简介Linux:

  •                   多任务,多用户 (Multi-tasks,multi-Users)
  •                   每个使用者: 用户 (user)            
  •                   登录需有系统认证:用户标识(密码),
  •                   3A:
  •                   认证:(Authentication)   
  •                   授权(Authorization)
  •                   审计(Audition)  
  •                   每一个用户登录都要通过认证,使用授权,以及行为审计。

用户类别:    

                          管理员

                          普通用户 :系统用户  , 登录用户

           用户标识: UserID ,UID

                          一般默认16bits 二进制数字: 0-65535

                          管理员标识:0 不会改变

                          普通用户: 1-65535

                                           系统用户:1-499, 1-999       (centos6 ,centos7)                 

                                           登录用户:500-60000 , 1000-60000

  •                   当每个用户登录系统会自动将其转换为用户标识.
  •                   名称解析(转换): Username <->UID
  •                   根据名称解析库进行转换(对照:用户名及ID)为系统可识别的用户标识:UID,存放在/etc/passwd

组类别:

                          管理员组

                          普通用户组: 系统组  ,登录组

    组标识: Groupname, GID

                           同用户: 名称解析:groupname < -> gid     

                           解析库: /etc/group

    组类别2 :          用户的基本组

                            用户的附加组

    组类别3:

  •                     私有组: 组名同用户名,且只包含一个用户:
  •                     公共组: 组内包含了多个用户:
  •                     认证信息:通过对比事先存储的,与用户登录时所提供的的信息是否一致:其为密码:password: 
  •                     /etc/shadow:用户密码库文件 (影子化了的密码)
  • 技术分享                 技术分享
  •                     用户密码:/etc/shadow
  •                     用户名:加密的密码:最近一次修改的时间(1970.1.1)最短使用期限:警告期段:过期阶段:保留阶段:
  •                     /etc/gshadow :组密码库文件
  • 技术分享
  •                     组的信息库:/etc/group
  •                     group_name:password:GID:user_list   
  •                     user_ list :改组的用户成员:以此组为附加组的用户的用户列表 
  •                     其密码以密文形式存放,
  •                     加密算法 .
  •                     用户的信息库 :/etc/passwd
  •                     name:password:UID:GID:GECOS:directory:shell :密码存放格式  
  •                     name :用户名
  •                     password: 可以是加密密码 ,也可以是占位符
  •                     UID:
  •                     GID:用户的所属的主组ID号
  •                     GECOS:注释信息
  •                     direcatdory:用户的家目录:
  •                     shell :用户的登录环境及用用户默认shell,登录时默认shell程序:

 

 

二、Linux用户和组管理:

 

   安全上下文:
               进程以其发起者的身份运行,:进程对文件的访问,取决去发起此进程的用户权限: 
 

  创建组: groupadd

                         语法格式: groupadd [option] group_name
                                -g GID: 指定gid:默认
                                -r        :创建系统组

  修改组 : groupmod

                         语法格式: groupmod [option] group
                               -g : 修改GID
                               -n new_name :修改组名称

  删除组: groupdel

                         语法格式:groupdel【option】group
                               

  创建用户:useradd

                         语法格式:useradd 【option】LOGIN
                                -u : 指定UID
                                -g:  指定GID 基本组
                                -G :  指定用户所属的附加组
                                -c : 指明注释信息
                                -d : 以指定的路径为用户的家目录:通过复制/etc/skel,此目录并重名重现,
                                        如果指明家目录路径事先存在,则不能被复制配置环境文件。
                                -s : 指定用户默认shell ,可用的shell存放在 /etc/shells
                                -r : 创建系统用户
                
                                useradd -D : 显示用户登录默认信息 及修改 :useradd -D [选项] :
                                修改默认配置信息存放于/etc/defaunlt/useradd文件中,
                                默认信息存放于/etc/login.defs文件中.
              

 修改用户:usermod

                    语法格式:usermod【option】LOGIN
                     -u :修改用户UID,
                    -g: 修改用户gid  jibenzu
                    -G:  修改用户所属附加用户原来的被覆盖
                    -a: 与-G一起使用表明为追加用户新的附加组
                    -d: 修改用户家目录:用户原来的文件不会随其转移到新的位置
                    -m:只能够与-d一起使用,用于讲文件和用户家目录一起移动带新的位置
                     -l : 修改用户名
                     -s:修改用户默认shell
                    -L:锁定用户密码:在原来的密码字符串之前加“!”
                    -U: 解锁用户密码

 删除用户:userdel

                 语法格式:userdel 【option】LOGIN
                              -r: 删除用户时一并删除其家目录:
                  passwd  [-k]  [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays]
                              [-w warn‐ days] [-i inactivedays] [-S] [--stdin] [username]
                  修改自己及 用户密码:修改指定用户的密码,仅root有权限
                 -l,-u:锁定 用户密码  
                 -d:清除用户密码
                 -e: 过期期限,日期
                  -i:活动期限
                  -n:密码最短使用时间
                  -x:密码最长使用时间
                  -w:  警告期限
                  -s:账号无效
                   技术分享

gpasswd:创建组密码        

                  文件存放于/etc/gshadow

                  gpasswd 【option】group
                 -d :
                   为组创建其作用避免其他不属于本组的随意切换基本组

 newgrp :切换组

                  newgrp【-】group
                   -:模拟用户重新登录以重新初始化其工作环境
 

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

               chage【option】LOGIN     

 id:显示用户真实有效ID信息:

                id [OPTION]... [USER]

 su:   switch user

               su [options...] [-] [user [args...]]
               登录式切换:会通过读取目标用户的环境配置文件来重新初始化
               su- USERNAME
               su-l  USERNAME       
               非登录式切换:不会读取目标用户的配置文件进行重新初始化
               su USERNAME
               管理员可无密码切换至其他用户,非管理员切换需输入其目标用户密码。
               -c ‘COMMAND’’仅以指定用户的身份运行此处指定的命令:

三、权限管理:

        rwxrwxrwx:
                   左三位:定义user(owner)的权限
                    中三位:定义group的权限
                    右三位:定义other的权限

   进程的安全上下文: 

               进程对文件的访问权限应用模式模型:
                进程的属主与文件的属主是否相同如果相同:则应用属主权限:否则,则检查进程属主是否属于文件的属组:如果相同则应用属组权限:否则属于其他(other)权限:

    权限:

              r:read 读
             w:write,写
             x :excute执行

   文件:

             r:readble可获取文件的数据
             w:writeble可修改文件的数据
             x:excutable可将此文件运行为进程

  目录:

             r:可使用ls 命令获取期目录下的文件列表:
            w: 可修改此目录下的文件列表,创建或删除
            x: 可cd到此目录下,执行命令
            对于目录执行权限必须要有: rwxrwxrwx  (mode)
            ownership:文件从属(user,group)

权限组合机制:

                              --- 000   0
                              --x 001   1
                             -w- 010   2
                             -wx 011   3
                              r-- 100   4
                              r-x 101   5
                              rw-110   6
                              rwx111   7
                      八进制组合权限表示 法     例:rw-rw-rw-    666,      rwx-wxr-x 735

   权限命令管理:  

 

    •         从属管理命令:chmod ,chown
              chmod  命令:修改权限
                       1.  chmod [OPTION]... MODE[,MODE]... FILE...
                       2.  chmod [OPTION]... OCTAL-MODE FILE...
                       3.    chmod [OPTION]... --reference=RFILE FILE...
             用户类别:u 属主  g :属组 o:其他  a:所有
      1. 赋权表示法:u=xx g=xx o=xx a=xx    直接
      -rw-r--r--. 1 root root 0 Apr  1 22:09 sun
      [root@station37 tmp]# chmod g=rx sun
      [root@station37 tmp]# ll
      -rw-r-xr--. 1 root root 0 Apr  1 22:09 sun
            2. 授权表示法:u+ ,g+,o+, a+; u-,g-,o-,a-,
      -rw-r-xr--. 1 root root 0 Apr  1 22:09 sun
       root@station37 tmp]# chmod u-w sun
      -r--r-xr--. 1 root root 0 Apr  1 22:09 sun

              option:  -R:递归修改  

              用户只能在自己的权限内修改权限

       chown命令: 修改属主,也可加:或 .修改组              

       1.  chown [OPTION]... [OWNER][:或.[GROUP]] FILE...
       2.  chown [OPTION]... --reference=RFILE FILE...
                  OPTION:
                               -R:递归修改
             1.             
      [root@station37 ~]# chown -R gentoo /tmp/sun
      [root@station37 ~]# ls -l /tmp/sun
      -r--r-xr--. 1 gentoo root 0 Apr  1 22:09 /tmp/sun
       [root@station37 ~]# chown -R gentoo.fedora /tmp/sun
      [root@station37 ~]# ls -l /tmp/sun
      -r--r-xr--. 1 gentoo fedora 0 Apr  1 22:09 /tmp/sun
      1. --reference(参考对象     
      drwx------. 2 root root 4096 Apr  1 22:55 sun3
      drwxr-xr-x. 2 root root 4096 Apr  1 22:55 sun6
      [root@station37 tmp]# chmod -R --reference=/tmp/sun6/ /tmp/sun3/
             drwxr-xr-x. 2 root root 4096 Apr  1 22:55 sun3
      drwxr-xr-x. 2 root root 4096 Apr  1 22:55 sun6
             一个用户没有权限写文件但是未必不能删除文件,只有管理员才有权限修改属主,属组.

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

                是创建的其他用户权限限制
                  文件:666-umask
                  目录:777-umask
                  之所以文件用666减去,表示文件默认不能拥有执行权限:
                               umask:023
                                         666-023=644  文件如果本身有执行权限则加一
                                         777-023=754
                 umask命令: umask:查看当前umask    umask  MASK :设置umask  (此类设置仅对当前shell有效)

Linux用户、用户管理权限