linux下useradd命令详解
1、作用
useradd命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户
2、格式
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] name
usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][- f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s ][-u ] [用户帐号]
3、主要参数
-c:加上备注文字,备注文字保存在passwd的备注栏中。
-d:指定用户登入时的启始目录。
-D:变更预设值。
-e:指定账号的有效期限,缺省表示永久有效。
-f:指定在密码过期后多少天即关闭该账号。
-g:指定用户所属的群组。
-G:指定用户所属的附加群组。
-m:自动建立用户的登入目录。
-M:不要自动建立用户的登入目录。
-n:取消建立以用户名称为名的群组。
-r:建立系统账号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。
4、说明
useradd可用来建立用户账号,它和adduser命令是相同的。账号建好之后,再用passwd设定账号的密码。使用useradd命令所建立的账号,实际上是保存在/etc/passwd文本文件中。。
参数名 | 描述 |
---|---|
-u | 后面接UID,是一组数字。直接给这个账号指定一个特定的UID。 |
-g | 后面接的用户组名称就是之前提到的初始用户组。 该group ID(GID)会放置到 /etc/passwd 的第四个字段内。 |
-G | 后面接的用户组名称是这个账号还可以属于哪些用户组。 此参数会修改 /etc/group 内的相关数据。 |
-M | 强制不创建家目录。 |
-m | 强制必须创建家目录。 |
-c | 就是 /etc/passwd 第五栏的用户说明信息,可以随便设置,各位随意。 |
-d | 用此参数后面指定的路径做为新账号的家目录,而不使用默认值。 |
-r | 创建的账号为系统账号:该账号的UID会有限制(/etc/login.defs) |
-s | 指定新账号的默认shell |
id 范围 | ID 使用者特性 |
0(系统管理员) |
当 UID 是 0 时,代表这个帐号是‘系统管理员’! 所以当你要让其他的帐号名称也具有 root 的权限时,将该帐号的 UID 改为 0 即可。 这也就是说,一部系统上面的系统管理员不见得只有 root 喔! 不过,很不建议有多个帐号的 UID 是 0 |
1~499(系统帐号) |
保留给系统使用的 ID,其实除了 0 之外,其他的 UID 权限与特性并没有不一样。预设 500 以下的数字让给系统作为保留帐号只是一个习惯。 由于系统上面启动的服务希望使用较小的权限去运作,因此不希望使用 root 的身份去执行这些服务, 所以我们就得要提供这些运作中程式的拥有者帐号才行。这些系统帐号通常是不可登入的, 所以才会有我们在第十一章提到的 /sbin/nologin 这个特殊的 shell 存在。 根据系统帐号的由来,通常系统帐号又约略被区分为两种: 1~99:由 distributions 自行建立的系统帐号; 100~499:若使用者有系统帐号需求时,可以使用的帐号 UID。 |
500~65535(可登入帐号) | 给一般使用者用的。事实上,目前的 linux 核心 (2.6.x 版)已经可以支援到 4294967295 (2^32-1) 这么大的 UID 号码! |
范例一:完全参考预设值建立一个使用者,名称为 vbird1
[[email protected] ~]# useradd vbird1
[[email protected] ~]# ll -d /home/vbird1
drwx------ 4 vbird1 vbird1 4096 Feb 25 09:38 /home/vbird1
# 预设会建立使用者家目录,且权限为 700 !这是重点!
[[email protected] ~]# grep vbird1 /etc/passwd /etc/shadow /etc/group
/etc/passwd:vbird1:x:504:505::/home/vbird1:/bin/bash
/etc/shadow:vbird1:!!:14300:0:99999:7:::
/etc/group:vbird1:x:505: <==预设会建立一个与帐号一模一样的群组名
范例二:假设我已知道我的系统当中有个群组名称为 users ,且 UID 700 并不存在,
请用 users 为初始群组,以及 uid 为 700 来建立一个名为 vbird2 的帐号
[[email protected] ~]# useradd -u 700 -g users vbird2
[[email protected] ~]# ll -d /home/vbird2
drwx------ 4 vbird2 users 4096 Feb 25 09:59 /home/vbird2
[[email protected] ~]# grep vbird2 /etc/passwd /etc/shadow /etc/group
/etc/passwd:vbird2:x:700:100::/home/vbird2:/bin/bash
/etc/shadow:vbird2:!!:14300:0:99999:7:::
# 看一下,UID 与 initial group 确实改变成我们需要的了!
范例三:建立一个系统帐号,名称为 vbird3
[[email protected] ~]# useradd -r vbird3
[[email protected] ~]# ll -d /home/vbird3
ls: /home/vbird3: No such file or directory <==不会主动建立家目录
[[email protected] ~]# grep vbird3 /etc/passwd /etc/shadow /etc/group
/etc/passwd:vbird3:x:100:103::/home/vbird3:/bin/bash
/etc/shadow:vbird3:!!:14300::::::
/etc/group:vbird3:x:103:
本文出自 “Dragon” 博客,请务必保留此出处http://1208073155.blog.51cto.com/9039381/1432780
Linux 用户和组 (2) useradd