linux下useradd命令详解linux
一、做用shell
useradd命令用来创建用户账号和建立用户的起始目录,使用权限是超级用户bash
二、格式ide
useradd [-d home] [-s shell] [-c comment] [-m [-k template]] [-f inactive] [-e expire ] [-p passwd] [-r] nameui
usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][- f <缓冲天数>][-g <群组>][-G <群组>][-l <账号名称>][-s ][-u ] [用户账号] spa
三、主要参数ci
-c:加上备注文字,备注文字保存在passwd的备注栏中。it
-d:指定用户登入时的启始目录。io
-D:变动预设值。table
-e:指定帐号的有效期限,缺省表示永久有效。
-f:指定在密码过时后多少天即关闭该帐号。
-g:指定用户所属的群组。
-G:指定用户所属的附加群组。
-m:自动创建用户的登入目录。
-M:不要自动创建用户的登入目录。
-n:取消创建以用户名称为名的群组。
-r:创建系统帐号。
-s:指定用户登入后所使用的shell。
-u:指定用户ID号。
四、说明
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
[root@www ~]# useradd vbird1
[root@www ~]# ll -d /home/vbird1
drwx------ 4 vbird1 vbird1 4096 Feb 25 09:38 /home/vbird1
# 预设会创建使用者家目录,且权限为 700 !这是重点!
[root@www ~]# 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 的账号
[root@www ~]# useradd -u 700 -g users vbird2
[root@www ~]# ll -d /home/vbird2
drwx------ 4 vbird2 users 4096 Feb 25 09:59 /home/vbird2
[root@www ~]# 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
[root@www ~]# useradd -r vbird3
[root@www ~]# ll -d /home/vbird3
ls: /home/vbird3: No such file or directory <==不会主动创建家目录
[root@www ~]# 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: