• linux下添加删除,修改,查看用户和用户组


    一、组操作

    1、创建组:

    groupadd  test   #增加一个test组

    2、修改组

    groupmod -n test2  test   #将test组的名子改成test2

    3、删除组

    groupdel test2  #删除 组test2

    4、查看组

      a),查看当前登录用户所在的组 groups,查看apacheuser所在组groups apacheuser

      b),查看所有组 cat /etc/group

      c),有的linux系统没有/etc/group文件的,这个时候看下面的这个方法

      cat /etc/passwd |awk -F [:] '{print $4}' |sort|uniq | getent group |awk -F [:] '{print $1}'

      这里用到一个命令是getent,可以通过组ID来查找组信息,如果这个命令没有的话,那就很难查找,系统中所有的组了.

    usermod:用来修改用户帐号的各项设定。

    语法

    usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][用户帐号]
    
    参数说明:
    
    -c<备注>        修改用户帐号的备注文字。
    -d登入目录>       修改用户登入时的目录。
    -e<有效期限>      修改帐号的有效期限。
    -f<缓冲天数>       修改在密码过期后多少天即关闭该帐号。
    -g<群组>        修改用户所属的群组。
    -G<群组>        修改用户所属的附加群组。
    -l<帐号名称>      修改用户帐号名称。
    -L           锁定用户密码,使密码无效。
    -s<shell>       修改用户登入后所使用的shell。
    -u<uid>        修改用户ID。
    -U           解除密码锁定。

    5、添加用户至用户组

    usermod -g usergroup user 

    6、将用户移出用户组

    gpasswd命令是Linux下工作组文件/etc/group和/etc/gshadow的管理工具,用于指定要管理的工作组。

    选项详解:

          -a : 添加用户到组
    
          -d : 从组删除用户
    
          -A:指定管理员
    
          -M:指定组成员和-A的用途差不多;
    
          -r:删除密码;
    
          -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。
    
    gpasswd -a userA groupB                //将userA添加到groupB用户组里面

     注意:添加用户到某一个组可以使用  usermod -G groupB userA 这个命令可以添加一个用户到指定的组,但是以前添加的组就会清空掉,

                     所以想要添加一个用户到一个组,同时保留以前添加的组时,请使用gpasswd这个命令来添加操作用户。

    gpasswd -a userA groupA              //将userA设置为groupA的群组管理员

      

    二,用户操作

    1、增加用户

    [root@krlcgcms01 mytest]# useradd --help  
    Usage: useradd [options] LOGIN  
      
    Options:  
     -b, --base-dir BASE_DIR       设置基本路径作为用户的登录目录  
     -c, --comment COMMENT         对用户的注释  
     -d, --home-dir HOME_DIR       设置用户的登录目录  
     -D, --defaults                改变设置  
     -e, --expiredate EXPIRE_DATE  设置用户的有效期  
     -f, --inactive INACTIVE       用户过期后,让密码无效  
     -g, --gid GROUP               使用户只属于某个组  
     -G, --groups GROUPS           使用户加入某个组  
     -h, --help                    帮助  
     -k, --skel SKEL_DIR           指定其他的skel目录  
     -K, --key KEY=VALUE           覆盖 /etc/login.defs 配置文件  
     -m, --create-home             自动创建登录目录  
     -l,                           不把用户加入到lastlog文件中  
     -M,                           不自动创建登录目录  
     -r,                           建立系统账号  
     -o, --non-unique              允许用户拥有相同的UID  
     -p, --password PASSWORD       为新用户使用加密密码  
     -s, --shell SHELL             登录时候的shell  
     -u, --uid UID                 为新用户指定一个UID  
     -Z, --selinux-user SEUSER     use a specific SEUSER for the SELinux user mapping  
    root登录
    useradd –d /kk/sam -m jiang      此命令创建了一个用户jiang,并将创建一个sam目录作为jiang的用户目录
    passwd jiang   #增加用户jiang,不要忘了给他设置密码,不然不能登录的。

    当你添加一个新用户之后应为它创建一个家目录,否则

    创建用户家目录:

    2、修改用户

    usermod - 修改一个用户账户
    
    大纲
    usermod [选项] 登录
    
    描述
    usermod 修改系统账户文件和在命令行上指定的相关更改。
    
    选项
    usermod 可以接受的选项有:
    
    -a            将用户添加到附加组。只能和 -G 选项一起使用。
    
    -c      用户密码文件中注释字段的新值。通常使用 chfn(1) 工具对其进行修改。
    
    -d    设置用户的新登录目录。如果给了 -m 选项,当前主目录的内容将会移动到新主目录中,如果不存在,则创建。
    
    -e    用户账户将被禁用的日期。日期以 YYYY-MM-DD 格式指定。此选项需要一个 /etc/passwd 文件。如果没有,将会创建一条 /etc/shadow 项目。
    
    -f    密码过期之后,账户被彻底禁用之前的天数。0 表示密码过期时,立即禁用账户;-1 表示不使用这个功能。此选项需要一个 /etc/passwd 文件。如果没有,将会创建一条 /etc/shadow 项目。
    
    -g    用户的新初始登录组的组名或数字代号。此组必须存在。用户主目录中,属于原来的主组的文件将转交新组所有。主目录之外的文件所属的组必须手动修改。
    
    -G    用户还属于的附加组列表。组之间使用逗号分隔,没有空格。这些组需要遵守和 -g 选项中给的组同样的限制。
    
    如果用户当前是一个组的成员,而这个组没有列在这里,用户将被从那个组里便删除。这个行为可以通过 -a 选项修改,这使用户追加到给出的附加组列表中。
    
    -l     用户的名称将会从 LOGIN 修改为 NEW_LOGIN。不会更改别的任何东西。特别是,用户的主目录名和邮件池也需要手动修改以和新登录名对应。
    
    -L      锁定用户的密码。这会在用户加密的密码之前放置一个“!”,可以快速禁用密码。您可以和 -p 或 -U 配合使用此选项。
    
          注意:如果希望锁定账户(不仅仅是通过密码访问),您也需要设置 EXPIRE_DATE 为 1。
    
    -m     将用户的主目录移动到新位置。这个选项只有和 -d (或 --home) 选项组合使用时才有效。usermod 会改写文件的属主并复制模式、ACL 和扩展属性,但是稍后也可能需要手动修改。
    
    -o    使用 -u 选项时,可以将用户 ID 改为非唯一的值。
    
    -p     已经加密过的密码,就像 crypt(3) 返回的那样。注意:不推荐使用这个选项,因为密码(或加密过的密码)会被用户通过列出这个过程而看到。
    
         密码将会写到本地的 /etc/passwd 或 /etc/shadow 文件。这可能会与您的机器有所不同,这根据 PAM 配置中的密码数据库配置而定。
    
    -s    用户的新登录 shell 的名称。将此字段设置为空会让系统选择默认的登录 shell。
    
    -u    用户 ID 的新数值。这个值必须是唯一的,除非使用了 -o 选项,必须是非负值。
    

      

    usermod -d /home/test -G test2 test  #将test用户的登录目录改成/home/test,并加入test2组,注意这里是大G。
    gpasswd -a test test2 #将用户test加入到test2组
    gpasswd -d test test2 #将用户test从test2组中移除

    3、删除用户

    userdel test  #将test用户删除
    

    4,查看用户

      a、查看当前登录用户:w

        

      b、查看自己的用户名:who

        

      c、查看单个用户信息:finger         id

        

        

      d、查看用户登录记录

        

        lastb     # 查看登录不成功的用户记录
    

      e、查看所有用户:cat /etc/passwd |awk -F : '{print $1}'  或 cut -d : -f 1 /etc/passwd

        

      

      

      

  • 相关阅读:
    LINQ基础——WHERE子句
    LINQ基础——LET子句
    LINQ基础——FROM子句
    Guid(全局统一标识符)
    ??运算符
    多线程的AutoResetEvent
    线程池(ThreadPool)
    Mutex
    Monitor类实现线程同步
    【java框架】MyBatis(7)--MyBatis注解开发
  • 原文地址:https://www.cnblogs.com/yuanqiangfei/p/8274489.html
Copyright © 2020-2023  润新知