Linux 账户管理命令useradd、groupadd
内容提要:
1. 掌握用户的 增/删/改 命令:useradd
2. 掌握组的 增/删/改 命令:groupadd
useradd 用户名 # 添加新用户 useradd -g 组名 用户名 # 添加新用户到某个组 passwd 用户名 # 设置用户密码 cat /etc/passwd # 查看用户密码文件 # id命令, 查看用户是否存在 id 用户名 id uid # 示例: Linux中,uid、gid 和 groups 分别代表用户ID、组ID 和 附加组 # # id mimvp uid=1000(mimvp) gid=1000(mimvp) groups=1000(mimvp) # # id 1000 uid=1000(mimvp) gid=1000(mimvp) groups=1000(mimvp) ## su(switch user )切换用户、exit 回退到上一个用户 su 用户名称 # 切换用户,只能获得用户的执行权限,不能获得环境变量 su - 用户名称 # 切换用户, 并获得该用户的环境变量及执行权限 exit # 回退到上一个用户 echo $PATH # 查看当前用户的环境变量 ## who 查看登录用户信息 whoami # 显示自身用户名称 who am i # 显示登录用户的用户名 ## 示例 $ whoami mimvp-blog $ $ who am i mimvp-blog pts/1 2014-06-30 12:18 (120.244.221.111)
groupadd 组管理
1)groupadd 用于添加组账号
格式如下: groupadd [-g GID] GROUP
其中:
GROUP:是要添加的组名
-g:用于指定 GID,默认为使用当前最大的 GID 加1
举例: 添加一个新组 leader
# groupadd mimvp-blog
# grep mimvp-blog /etc/group
mimvp-blog:x:1001:
# grep mimvp-blog /etc/gshadow
mimvp-blog:!::
2)groupmod 修改系统已存在的组账号
格式如下: groupmod [options] GROUP
其中:
GROUP:为要修改的组账户名
常用选项:
-g GID:重新指派 GID
-n NEW_GROUP:更改组名为 NEW_GROUP
举例: 将 mimvp-blog 组更名为 mimvp-blogs
# groupmod -n mimvp-blogs mimvp-blog
# grep mimvp-blog /etc/group
mimvp-blogs:x:1001:
将 mimvp-blogs 组的 GID 改为 3000
# groupmod -g 3000 mimvp-blogs
# grep mimvp-blog /etc/group
mimvp-blogs:x:3000:
3)groupdel 删除系统已存在的组账号
格式如下: groupdel GROUP
其中:GROUP 为要删除的组账户名
例如:删除 mimvp-blogs 组
# groupdel mimvp-blogs
# grep mimvp-blog /etc/group # 无结果
# grep mimvp-blog /etc/gshadow # 无结果
useradd 用户管理
1)useradd 添加用户账号或设置添加用户使用的默认信息
格式如下:
格式1:useradd [options] mimvp-blog
格式2:useradd -D
格式3:useradd -D [options]
说明:
格式1:用于添加用户账号,其中 mimvp-blog 为用户登录账号
## 添加新用户 # useradd mimvp-blog # ## 查询新用户所在的组 # cat /etc/group | grep "mimvp-blog" mimvp-blog:x:1001: # ## 查询新用户 # cat /etc/passwd | grep "mimvp-blog" mimvp-blog:x:1001:1001::/home/mimvp-blog:/bin/bash # # 根据用户名查询新用户 # id mimvp-blog uid=1001(mimvp-blog) gid=1001(mimvp-blog) groups=1001(mimvp-blog) # # 根据用户uid查询新用户 # id 1001 uid=1001(mimvp-blog) gid=1001(mimvp-blog) groups=1001(mimvp-blog) # ## 查看新增用户的根目录 # ls -l /home/mimvp-blog/ total 20 drwx------ 2 mimvp-blog mimvp-blog 4096 Jun 30 11:23 . drwxr-xr-x. 6 root root 4096 Jun 30 11:23 .. -rw-r--r-- 1 mimvp-blog mimvp-blog 18 Nov 25 2021 .bash_logout -rw-r--r-- 1 mimvp-blog mimvp-blog 193 Nov 25 2021 .bash_profile -rw-r--r-- 1 mimvp-blog mimvp-blog 231 Nov 25 2021 .bashrc
格式2:useradd -D 用于显示添加用户使用的默认信息
# useradd -D GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes
格式3:useradd -D [options] 用于设置添加用户使用的默认信息
添加用户选项 [opitons] 说明:
-u UID 指定新用户的 UID,默认为使用当前最大的 UID 加1
-g GROUP 指定新用户的主组
-G GROUP1[,GROUP2,…[,GROUPN]]] 指定新用户的附加组
-d HOME_DIR 指定新用户的登录目录,默认为/home/xx
-s SHELL 指定新用户使用的 Shell,默认为 bash
改变用户默认值选项:
在配置文件 /etc/login.defs 和 /etc/default/useradd 中存放了用户默认数据。
## 此文件默认配置,可通过 useradd -D 查询 # cat /etc/default/useradd # useradd defaults file GROUP=100 HOME=/home INACTIVE=-1 EXPIRE= SHELL=/bin/bash SKEL=/etc/skel CREATE_MAIL_SPOOL=yes
使用举例:
1、创建一个新用户 newuser,同时创建用户自家目录
# useradd newuser
2、创建一个新用户 tom,同时加入 staff 附加组中
# useradd -G staff tom
3、创建一个新用户 webmaster,不创建用户自家目录,指定登录目录 /www,同时加入 apache 附加组中
# useradd -d /www -M -G apache webmaster
2)usermod 修改系统已存在的组账号
格式如下: usermod [options] LOGIN
其中:
LOGIN:为要修改的用户账号名
选项:-c、-d、-e、-f、-g、-G、-s、-u 的含义与 useradd 选项的含义相同
添加了如下选项:
-l NEW_LOGIN:更改用户登录名为 NEW_LOGIN
-c COMMENT 说明用户的附加信息,如全名等
-e EXPIRE_DATE 指定用户的登录失效时间,格式为 YYYY-MM-DD
-f INACTIVE 指定在密码过期后多少天即关闭该账号, 默认值为 -1,即不做限制
-k SKEL_DIR 指定 skel 目录,默认存放在 /etc/skel/
-m 创建新用户的自家目录,默认值
-M 不创建新用户的自家目录
选项 说明
-b BASE_DIR
定义使用者所属目录的上级目录。用户名称会附加在BASE_DIR后面用来建立新使用者的目录。 当
然使用-d后则此选项无效。
-e
EXPIRE_DATE
定义使用者账号失效日期。
-f INACTIVE 定义在密码过期后多少天即关闭该账号。
-g GROUP 定义新账号起始组名或GID。组名必须为现已存在的组名。GID也必须为现已存在的GID。
-s SHELL 定义用户默认使用的 shell。
-L:锁定用户账号
-U:对用户账号解除锁定
举例:
1、将 newuser2 添加到组 staff 中
# usermod -G staff newuser2
2、修改 newuser 的用户名为 newuser1
# usermod -l newuser1 newuser
3、锁定账号 newuser1
# usermod -L newuser1
4、解除对 newuser1 的锁定
# usermod -U newuser1
3)userdel 删除系统已存在的组账号
格式如下: userdel [-r] LOGIN
其中:
LOGIN:为要删除的用户账号名
-r:同时删除用户的自家目录和 mail 的假脱机文件
例如:
1、删除用户 webmaster
# userdel webmaster
2、删除用户 newuser1,同时删除其自家目录 (推荐)
# userdel -r newuser1
id 查看用户和用户组
示例:
# 示例: Linux中,uid、gid 和 groups 分别代表用户ID、组ID 和 附加组 # # id mimvp uid=1000(mimvp) gid=1000(mimvp) groups=1000(mimvp) # # id 1000 uid=1000(mimvp) gid=1000(mimvp) groups=1000(mimvp)
说明:Linux中,uid、gid 和 groups 分别代表用户ID、组ID 和 附加组。
1)uid(User ID):用户ID是Linux系统中用于唯一标识每个用户的数值。系统内部使用这个ID来区分不同的用户。每个新创建的用户都会被分配一个唯一的uid。
2)gid(Group ID):组ID是用来标识用户初始群组的数值。当创建新用户时,系统会为其分配一个初始的组,并为该组分配一个gid。用户的初始组通常用于文件权限管理,用户创建的文件默认归属于其初始组。
3)groups:除了初始组外,用户可以被添加到一个或多个附加组。附加组使得用户能够在不改变其主组的情况下,访问其他组的资源或者执行特定的任务。
who 查看登录用户信息
示例:
$ whoami mimvp-blog $ $ who am i mimvp-blog pts/1 2014-06-30 12:18 (120.244.221.111) $ $ who am i | awk '{print $1 "\t" $5}' mimvp-blog (120.244.221.111)
版权所有: 本文系米扑博客原创、转载、摘录,或修订后发表,最后更新于 2024-06-30 12:26:34
侵权处理: 本个人博客,不盈利,若侵犯了您的作品权,请联系博主删除,莫恶意,索钱财,感谢!