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

一、组操作

1、创建组:

1
groupadd  test   #<strong>增加一个test组</strong>

2、修改组

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

3、删除组

1
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:用来修改用户帐号的各项设定。

语法

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

5、添加用户至用户组

1
usermod -g usergroup user 

6、将用户移出用户组

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

选项详解:

1
2
3
4
5
6
7
8
9
10
11
-a : 添加用户到组
 
-d : 从组删除用户
 
-A:指定管理员
 
-M:指定组成员和-A的用途差不多;
 
-r:删除密码;
 
-R:限制用户登入组,只有组中的成员才可以用newgrp加入该组。
1
gpasswd -a userA groupB                //将userA添加到groupB用户组里面gpasswd -a userA groupA              //将userA设置为groupA的群组管理员

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

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

  

二,用户操作

1、增加用户

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[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
1
2
3
root登录
useradd –d /kk/sam -m jiang      此命令创建了一个用户jiang,并将创建一个sam目录作为jiang的用户目录
passwd jiang   #增加用户jiang,不要忘了给他设置密码,不然不能登录的。

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

创建用户家目录:

2、修改用户

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
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 选项,必须是非负值。

  

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

3、删除用户

1
userdel test  #将test用户删除

4,查看用户

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

    

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

    

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

    

    

  d、查看用户登录记录

    

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

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

    

 

  

  

  

 

posted @   轻轻的吻  阅读(1091)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示