在linux中,创建用户的命令是“useradd”和“adduser”,创建密码的命令是“passwd”。useradd命令用于建立用户账号,但创建新用户时,并没有设定用户密码,因此无法用来登陆系统,还需要使用passwd命令设置用户密码。而adduser指令是useradd指令的符号连接,两者实际上是同一个指令。
本教程操作环境:linux7.3系统、Dell G3电脑。
Linux 系统中,可以使用 useradd 命令新建用户;但使用此命令创建新用户时,并没有设定用户密码,因此还无法用来登陆系统。此时,需要使用passwd 命令设置用户密码。
命令:useradd
功能说明:建立用户账号。
语法:
useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s <shell>][-u <uid>][用户帐号]
或者
useradd -D [-b][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s <shell>]
参数:
-b, --base-dir BASE_DIR 新账户的主目录的基目录 -c, --comment COMMENT 加上备注文字,备注文字保存在passwd的备注栏中。 -d, --home-dir HOME_DIR 新账户的主目录 -D, --defaults 显示或更改默认的 useradd 配置 -e, --expiredate EXPIRE_DATE 新账户的过期日期 -f, --inactive INACTIVE 新账户的密码不活动期 -g, --gid GROUP 新账户主组的名称或 ID -G, --groups GROUPS 新账户的附加组列表 -h, --help 显示此帮助信息并推出 -k, --skel SKEL_DIR 使用此目录作为骨架目录 -K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值 -l, --no-log-init 不要将此用户添加到最近登录和登录失败数据库 -m, --create-home 创建用户的主目录(使用-m,如果用户主目录不存在,可以自动创建) -M, --no-create-home 不创建用户的主目录 -N, --no-user-group 不创建同名的组 -o, --non-unique 允许使用重复的 UID 创建用户 -p, --password PASSWORD 加密后的新账户密码 -r, --system 创建一个系统账户 -R, --root CHROOT_DIR chroot 到的目录 -s, --shell SHELL 新账户的登录 shell -u, --uid UID 新账户的用户 ID -U, --user-group 创建与用户同名的组 -Z, --selinux-user SEUSER 为 SELinux 用户映射使用指定 SEUSER
以上内容参考Linux 命令大全api。
补充说明:useradd可用来建立用户帐号。帐号建好之后,再用passwd设置帐号的密码,可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。
例1:建立一个新用户user3,并设置UID为556,备注名为“用户03”,主目录为/usr/testuser3,属于users组。
1、查看passwd文件,我使用命令 tac /etc/passwd 意思是:将文件内容倒序显示(cat 正序显示)。
/etc/passwd
文件将每个用户的基本信息记录为文件中的一行,一行中包含 7 个字段。每个字段之间用冒号“:” 分隔。
7 个字段的详细信息如下:
(1)用户名 (user3): 已创建用户的用户名,字符长度 1 个到 12 个字符。
(2)密码(x):代表加密密码保存在 /etc/shadow 文件中。
(3)用户 ID(556):代表用户的 ID 号,每个用户都要有一个唯一的 ID 。UID 号为 0 的是为 root 用户保留的,UID 号 1 到 99 是为系统用户保留的,UID 号 100-999 是为系统账户和群组保留的。
(4)群组 ID (100):代表群组的 ID 号,每个群组都要有一个唯一的 GID ,保存在 /etc/group文件中。
(5)用户信息(用户03):代表描述字段,可以用来描述用户的信息。
(6)家目录(/usr/testuser3):代表用户的主目录。
(7)Shell(/bin/bash):代表用户使用的 shell 类型。
2、查看用户所属组确定是users。直接 :groips user3
或者命令:id user3 查看用户和所属组,同时查看各自对应的id。
例2:建立一个新用户账户user4,并设置UID为557,主目录为/usr/testuser4,所属的组和用户名一样(使用 -U)。如果主目录不存在,可以使用 -m,自动创建主目录。
确定用户user4所属的组和用户名一样。
命令:passwd(password)
功能说明:设置密码。
语 法:
passwd [-dklS][-u <-f>][用户名称]
补充说明:passwd指令让用户可以更改自己的密码,而系统管理者则能用它管理系统用户的密码。只有管理者可以指定用户名 称,一般用户只能变更自己的密码。
重要参数:
-d 删除密码。本参数仅有系统管理者才能使用。 -f 强制执行。仅root权限才能操作。 -k 设置只有在密码过期失效后,方能更新。 -l 锁住密码,不能修改密码。仅能通过root权限操作。 -S 列出密码的相关信息。本参数仅有系统管理者才能使用。 -u 解开已上锁的帐号。 -w 在距多少天提醒用户修改密码;仅能root权限操作。
例1:修改用户密码:
命令:adduser
功能说明:新增用户帐号。
语 法:adduser
补充说明:在Slackware中,adduser指令是个script程序,利用交谈的方式取得输入的用户帐号资料,然后再交由真正建立帐号的useradd指令建立新用户,如此可方便管理员建立用户帐号。在Red Hat Linux中,adduser指令则是useradd指令的符号连接,两者实际上是同一个指令。