linux创建用户命令-----useradd

主宰稳场 提交于 2020-02-24 02:12:56

useradd

useradd命令用于Linux中创建的新的系统用户。useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。

使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。也就是说,其实你也可以通过修改passwd文件来创建用户,只是,那么麻烦的事情也没人选择那样做,还是用命令方便。

在Slackware中,adduser指令是个script程序,利用交谈的方式取得输入的用户帐号资料,然后再交由真正建立帐号的useradd命令建立新用户,如此可方便管理员建立用户帐号。在Red Hat Linux中,adduser命令则是useradd命令的符号连接,两者实际上是同一个指令。

语法

useradd 【选项】 【参数】

选项

注:实际选项远比列举的要多,详细了解使用–help选项查看
-c<备注>:加上备注文字。备注文字会保存在passwd的备注栏位中;
-d<登入目录>:指定用户登入时的启始目录;
-D:变更预设值;
-e<有效期限>:指定帐号的有效期限;
-f<缓冲天数>:指定在密码过期后多少天即关闭该帐号;
-g<群组>:指定用户所属的群组;
-G<群组>:指定用户所属的附加群组;
-m:自动建立用户的登入目录;
-M:不要自动建立用户的登入目录;
-n:取消建立以用户名称为名的群组;
-r:建立系统帐号;
-s:指定用户登入后所使用的shell;
-u:指定用户id。

常用实例

直接使用命令即可创建用户,会自动创建其登录目录和shell等等一系列信息,若是精准创建,加上对应的参数即可。

[root@linus ~]# useradd test
[root@linus ~]# id test
uid=1002(test) gid=1002(test)=1002(test)
[root@linus ~]# ls /home/
test
[root@linus ~]# tail -1 /etc/passwd
test:x:1002:1002::/home/test:/bin/bash

例1:创建系统用户,此类用户没有家目录,也不允许登录系统用于一些程序的正常运行

[root@linus ~]# useradd -r web
[root@linus ~]# ls /home/
test
[root@linus ~]# su - web
su: 警告:无法更改到 /home/web 目录: 没有那个文件或目录
-bash-4.2$ exit
登出
[root@linus ~]# tail -1 /etc/passwd
web:x:990:985::/home/web:/bin/bash

虽说有登录shell,但还是不允许登录系统,这是linux中的系统用户机制。
例2:创建用户test2,将其加入test1组,并没有家目录

[root@linus ~]# useradd -g test1 test2 -M
[root@linus ~]# ls /home/
test

例3:创建用户test3,指定uid号为2333,并不允许其登录系统

[root@linus ~]# useradd -u 2333 -s /sbin/nologin test3
[root@linus ~]# su - test3
This account is currently not available.

显示此账户不可用,指定的shell是不登录系统的nologin
例4:创建用户test4,并指定有效期为3天

[root@linus ~]# useradd  -e 3 test4

此类型用户常用于一次性任务或者临时使用,时间过后及过期,无法使用
例5:不建立以用户名称为名的群组

[root@linus ~]# useradd -n test5
[root@linus ~]# id test5
uid=2335(test5) gid=100(users)=100(users)

此命令常用,防止创建用户的同时,建立无用的群组。
例6:创建用户test6,所属组为test1,附加组为test2

[root@linus ~]# useradd -g test1 -G test2 test6
[root@linus ~]# id test6
uid=2336(test6) gid=1003(test1)=1003(test1),2335(test2)
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!