LINUX-用户和组管理

LINUX用户和组管理

linux用户分类:Username/UID

     管理员:root,UID 0号,拥有最高权限;负责系统的启功、停止,安装新软件,

              增加、删除用户,保证系统正常运转;

              主目录:/root

     普通用户:1-65535;通常情况下只能在自己的主目录下进行操作;

                  主目录通常在/home下,其中包含用户的设置、程序配置文件、邮件等

         系统用户:1-499.对守护进程获取资源进行权限分配
         登陆用户:500+,交互式登陆

 为用户划分组的优点

         1、避免手工逐个调整用户权限。当赋予某个工作组一定权限是,工组中的用户

             自动具有相应的权限。

         2、方便同组用户之间共享资源。

         3、可将管理系统的任务划分到工作组内所有用户身上,而不需要逐一指定特定

             的管理人员,增加了系统管理的灵活性。

用户账号文件

/etc/passwd文件

      -包含系统所有用户的用户名及其相关信息。

     -每行对应一个用户。

       LINUX-用户和组管理

        account:password:UID :GID :GECOS :directory:shell   
          
    account:用户名 
     x:口令占有位,很早以前放的是用户口令;系统为了安全,把它单独放在一个空间,
       为了与其他系统保留兼容所以占有一个位置。   
              #pwunconv  回归传统,显示口令,不安全。
             #pwconv
     UID:用户UID身份号。管理员root,0号;
         普通用户:1-65535  
            系统用户:1-499,1-999(CENTOS7);对守护进程获取资源进行权限分配
            登陆用户:500+,1000+(CENTOS7);交互式登陆
     GID:用户基本组的ID号
     GECOS:用户的描述信息。(包括,用户的全名,办公地址,办公电话,家庭电话)
               #chfn long 更改用户的描述信息,如下图。

               #finger long 显示用户的描述信息

            LINUX-用户和组管理

     directory:用户的家目录路径
             #usermod -d /home/long long 通过命令更改家目录时, 需确保用户退出状态。
     shell:用户的shell类型。
              #chsh -s /sbin/nologin long 更改用户的shell类型。
              #/bin/bash 可以直接切换shell类型
              #getent passwd long 只显示用户的信息     

用户口令文件

/etc/shadow文件

      -为保证系统安全性(passwd文件可以被任何用户读取),系统将用户口令

       保存在shadow中

       root:$6$nh0f4Ayy93oOdPAQ$MmF1V6ulOCqdAVLjsvwQ5rpOGo3lMCX0
                           rjyNbn7beEhIG3dXSi7iamAjFtEm/DtaVdyBRo/r1:17312:0:99999:7:5:17520:

       bin:*:17110:0:99999:7:::

       ntp:!!:17303::::::

     root:用户登陆名。加密后的口令若为空,则表示不需要口令即可登陆;

            若为“*”或“!”,则表示该账号被禁用。

                  #usermod -L long 锁定用户账号,使用户无法登陆;
                  #usermod -U long 解锁。

     6:加密算法。单向加密:哈希算法,原文不同,密文必不同

               md5:message digest 128bits
               sha1:secure hash algorith,160bits
               sha224,sha256,sha 384 ,sha 512(6,centos7默认加密算法)
                     #authconfig –passalgo=sha256 –update 定义加密算法
                      也可以直接更改配置文件:etc/login.defs  
 
   $nh0f4Ayy93oOdPAQ$: salt,盐,加密时生成的随机数;用户设定的密码一样,但是salt不                                   一样,生产的加密口令也不一样。    
            #openssl passwd -6 -salt “nh0f4Ayy93oOdPAQ” 
                      设置相同的salt,以及相同的加密算法,是用户的密码一样。
   17312:从1970-1-1起到密码最近一次被更改的天数
              
     0:用户口令最短有效期,即口令更改后不可更改的天数。(0表示随时可被更改) 
   99999:用户口令最长有效期。口令更改后必须更改的天数。
      7 :口令失效前警告用户的天数。(默认为一周)
      5:口令过期后,账号被锁定的天数。             
     17520:账号的有效期(账号被禁用时距1970-1-1的天数)

linux组的类别:

     用户的主要组:
        用户必须属于一个且只有一个主组,组名和用户名相同,
        且仅包含一个用户:私有组
     用户的附加组:一个用户有零个或多个辅助组
   当一个用户属于多个组的时候,它获取的是多个组的累加权限
    

用户组账号文件

    /etc/group

         格式: group_name:passwd:GID:user_list
              LINUX-用户和组管理

    组名:加密后的组口令(已不用)

组ID:以当前主组为附加组的用户列表(多个用,隔开)。

用户组口令文件

      /etc/gshadow文件

         定义用户组口令、组管理员。

            LINUX-用户和组管理

            组名:加密后的口令:组管理员:组成员


编辑和验 证用户和组账号

   vipw:编辑/etc/passwd

   vigr:编辑/etc/group         

   pwck:验证/etc/passwd和/etc/shadow的正确性

  grpck:验证/etc/group和/etc/gshadow的正确性

创建新用户

   用户创建必须有超级用户root来创建

    主要步骤:添加一条记录到/etc/passwd文件中;创建用户主目录;

                 在用户主目录中设置用户的默认配置文件。

   以上步骤可用/usr/sbin/useradd命令实现。

  useradd [opption] LOGIN

  •          -u UID:定义在/etc/login.defs
  •          -o 配合-u 选项,不检查UID的唯一性,即可以创建相同的UID号的用户
  •          -g GID:指明用户所属基本组,可为组名。
  •          -c “comment”:用户的注释信息。
  •         -d HOME_DIR:以指定的路径(不存在)为家目录,
  •          -s SHELL:指明用户的默认SHELL程序,可用列表在/etc/shells文件中
  •         -G GROUP1[,GROUP2,…] :为用户指明附属组,组须事先存在
  •         -N 不创建私有组做主组,使用users组做主组
  •          -r: 创建系统用户 CENTOS6:ID<500, CENTOS7:ID<1000

                 指定家目录路径,但不生成;邮件也不生成

    显示useradd命令的默认值

       LINUX-用户和组管理

   上图中的具体值得设置可以用以下命令,也可以直接修改/etc/default/useradd 文件
                  useradd -D -s SHELL
                  useradd -D -b BASE_DIR
                  useradd -D -g GROUP

删除用户

     主要步骤:删除/etc/passwd文件中此用户的记录;

                    删除/etc/group文件中此用户的信息;

                    删除用户的主目录;

                    删除用户所创建的或属于此用户的文件。

            以上步骤可用/usr/sbin/userdel命令实现。

                 -例:userdel -r  long (删除用户long 及其主目录和其中所有文件)

临时禁用账户

      把用户的记录从/etc/passwd中注释掉或删除掉,保留其主目录和其他文件不变。

      在/etc/passwd文件中或/etc/shadow中,将该用户的口令域的第一个字符前面加

      上一 个“*”

用户已有属性的修改
    usermod [OPTION] login 
       -u UID: 新UID ,更改用户UID
       -g GID: 新主组 ,更改用户的主组
       -G GROUP1[,GROUP2,…[,GROUPN]]]:新附加组,原来的 
               附加组将会被覆盖;若保留原有,则要同时使用-a选项 
       -s SHELL:新的默认SHELL 
       -c ‘COMMENT’:新的注释信息 
       -d HOME: 新家目录不会自动创建;若要创建新家目录并移动原家数据,
                同时使用-m选项 
       -l login_name: 更改用户名 
       -L: lock指定用户,在/etc/shadow 密码栏增加 ! 
       -U: unlock指定用户,将 /etc/shadow 密码栏的 ! 拿掉 
       -e YYYY-MM-DD: 指明用户账号过期日期 
       -f INACTIVE: 设定非活动期限

创建/修改/删除 组
   groupadd [OPTION]… group_name
     -g GID : 指明GID号;[GID_MIN,GID_MAX]

       创建一个组ID为510的用户组

           #groupadd -g 510 group_name
     -r:创建系统组 centos6:ID <500  ;  centos7:ID<1000
    

更改组的已有属性

    groupmod [OPTION]…group

         -n group_name:给用户的组名修改新的组名
         -g GID:新的GID
 删除组:groupdel
        groupdel GROUP 只能删除用户的附属组,主组不能删除

管理组中的用户

     在组中添加用户或删除用户

       -直接编辑/etc/group文件,为组添加用户。

       -或用gpasswd和groupmems命令

  groupmems [options] [action] 
       options:
              -g, –group groupname 更改为指定组 (只有root) 
             #groupmems -g xiaoqiang -l  查看小强组里的附属组成员
       Actions: 
         -a, –add username  指定用户加入组 
         -d, –delete username  从组中删除用户 
         -p, –purge 从组中清除所有成员 
         -l,  –list  显示组成员列表 
     

 gpasswd [OPTION] GROUP 
           -a user: 将user添加至指定组中 
           -d user: 从指定组中移除用户user 

用户和组状态命令

      显示用户当前的uid,gid,和所属组列表

       id [OPTION]… [USER] 
           -u: 显示UID 
           -g: 显示GID 
           -G: 显示用户附加组的ID 
           -n: 显示名称,需配合ugG使用

           #id xxx &> /dev/null 判断用户是否存在

用户和组的密码相关设置     

修改用户密码策略
    chage [OPTION]… LOGIN 
       -d LAST_DAY 最后一次口令更改的时间
       -E –expiredate EXPIRE_DATE 用户账号的过期时间
       -I –inactive INACTIVE 过了账户期后多少天,把账号锁定
       -m –mindays MIN_DAYS 口令最短有效期
       -M –maxdays MAX_DAYS 口令最长有效期
       -W –warndays WARN_DAYS 账号快过期时,提前几天警告
      –l  显示密码策略 
   示例: chage -d 0 tom 下一次登录强制重设密码 
             chage -m 0 –M 42 –W 14 –I 7 tom 
             chage -E 2016-09-10 tom 
设置密码
   passwd [OPTIONS] UserName: 修改指定用户的密码,
          仅 root用户权限 
   passwd: 修改自己的密码  
    常用选项: 
     -l:锁定指定用户    -u:解锁指定用户 
     -e:强制用户下次登录修改密码,相当于#chage -d 0
     -n mindays: 指定最短使用期限 
     -x maxdays:最大使用期限 
     -w warndays:提前多少天开始警告 
     -i inactivedays:非活动期限 
    –stdin:从标准输入接收用户密码 
        echo “PASSWORD” | passwd –stdin USERNAME &> /dev/null
                                              可以把改密码的信息隐藏
  
更改组密码
       组密码:gpasswd 
       gpasswd [OPTION] GROUP 
           -a user: 将user添加至指定组中 
           -d user: 从指定组中移除用户user 
           -A user1,user2,…: 设置有管理权限的用户列表 
       newgrp命令:临时切换主组 
           如果用户本不属于此组,则需要组密码

原创文章,作者:shenjialong,如若转载,请注明出处:http://www.178linux.com/77129

(0)
shenjialongshenjialong
上一篇 2017-05-30 14:50
下一篇 2017-05-30 18:43

相关推荐

  • vim编辑器

      在linux系统中使用文本编辑器来编辑你的配置文件是一件很重要的事。vim是linux最常用的文本编辑器,具有以下优势:所有的linux都内置vi文本编辑器。很多软件都会主动调用vi,如crontab、visudo等. 所以我们必须学好vi,vim分为以下3种模式:   一般模式: 用 vi打开一个文件时,一进入该文件就是一般模式了。…

    Linux干货 2016-06-09
  • linux文件查找工具 — find

    简述:   linux中find命令是一种强大的实时查找工具,它通过用户给出的路径,在该路径下的文件系统中进行文件查找。因此在遍历一个较大的文件系统时会比较花费时间,而且find命令占用资源也是比较大的,所以它的工作特点是,查找的速度略慢,但是可以实现精确查找和实时查找。由于用户权限的问题,可能只搜索用户具备读取和执行权限的目录。由于fi…

    Linux干货 2016-08-18
  • N25-第一周 总结

    一、描述计算机的组成及其功能     CPU:包括运算器、控制器、寄存器、缓存,计算枢纽,网络的包处理、磁盘读写、数学计算等。     内存:加载数据,提高计算速度,程序被加载到内存成为进程运行。     输入:键盘、鼠标     输出:打印机、显示器 二、按系列罗列linux的…

    Linux干货 2016-12-05
  • Linux之sed的使用

    sed的工作原理         sed是一种流编辑器以行为单位来处理文本的一款功能十分强大的编辑器,一次只处理一行内容,当处理文本是,将要处理的行放置在模式空间里(缓冲区),接下来sed命令处理模式空间里的内容,处理完成后,把模式空间里处理后的内容送至屏幕打印输出,接下来处理下…

    Linux干货 2016-08-09
  • Linux的用户组和权限管理之特殊权限及ACL的使用

    用户组和权限管理 一、了解和使用批量新建用户和批量修改用户密码: ##用户创建的模板和配置文件的存放位置:/etc/default/useradd;/etc/skel/* ;/etc/login.defs## 批量新建用户(newusers):适合用于新老机器转换时,迁移系统上的用户。 使用格式: newusers  passwd  fi…

    Linux干货 2016-08-04
  • Hadoop HDFS分布式文件系统设计要点与架构

    Hadoop简介:一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件…

    Linux干货 2015-04-13