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

时间:2024-02-24 07:23:29

一、组操作

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