Linux 用户和组 (2) useradd

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:

相关文章
相关标签/搜索