原文网址:Linux权限--adduser和useradd的区别_IT利刃出鞘的博客-CSDN博客
简介
说明
本文介绍Linux的useradd和adduser的区别。
adduser和useradd和都可以添加用户,但这两个是有区别的。
命令概述
adduser:是一个perl 脚本,是交互式的,会提示你输入信息,根据输入创建用户。(推荐使用)
useradd:是一个linux命令,提供了很多参数。
区别
|-----------|-------------------------------------|------------------------------------------------------------|
| 项 | adduser | useradd |
| home目录 | 创建home目录,并创建与用户名同名的文件夹。 | 默认不创建home目录 (可以用-d参数指定) |
| 密码 | 会提示指定密码 | 默认不指定密码。 (可以用-p参数指定) |
| shell | 使用/bin/bash(命令提示符有用户名@主机名,有tab命令提示) | 默认使用/bin/sh(命令提示符只有一个$,无tab提示) (可以用-s参数指定,比如:-s /bin/bash) |
| 用户组 | 创建与用户名同名的用户组 | 默认不创建与用户名同名的用户组 (可以用-U,会生成与用户名同名的用户组) |
adduser的用法
示例
直接adduser username即可。
回车后会让你输入全名、房间号、电话等。不用填,直接一路回车即可。
例如:
# adduser user1
Adding user `user1' ...
Adding new group `user1' (1004) ...
Adding new user `user1' (1004) with group `user1' ...
Creating home directory `/home/user1' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for git
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] y
# ls /home
user1
# grep git /etc/passwd
user1:x:1004:1004:,,,:/home/user1:/bin/bash
完善权限
上边创建好之后,用户只能执行普通命令,无法使用sudo命令,解决方法是:将用户加入到sudo组和adm组。命令如下:
先用su命令切换到root命令,再执行如下命令:
bash
usermod --aG sudo user1;
usermod --aG adm user1;
useradd的用法
示例
创建用户,用户名为user1
useradd user1
创建user2,2009-12-30到期
useradd --e 12/30/2009 user2
添加一个不能登录的用户
要拒绝系统用户登录,可以将其 shell 设置为 /usr/sbin/nologin 或者 /bin/false。
usermod -s | --shell /usr/sbin/nologin username
或者
usermod -s | -shell /bin/false username
/bin/false:什么也不做只是返回一个错误状态,然后立即退出。用户会无法登录,且没有任何提示。
/usr/sbin/nologin:会礼貌的向用户显示一条信息,并拒绝用户登录:
命令格式
useradd [选项] 用户名
选项
|------------|------------------------------|
| 命令 | 功能 |
| -c | 加上备注文字。备注文字会保存在passwd的备注栏位中。 |
| -d | 指定用户的家目录(默认为/home/username) |
| -D | 变更预设值 |
| -e | 账户的到期时间,格式为YYYY-MM-DD |
| -g | 指定一个初始的已存在用户基本组 |
| -G | 指定一个或多个扩展用户组 |
| -m | 指定用户的home目录。 |
| -M | 不要自动建立用户的home目录。 |
| -N | 不创建与用户同名的基本用户组 |
| -p | 指定密码 |
| -r | 创建一个系统用户 |
| -R | 指定chroot的路径 |
| -s | 指定该用户的默认Shell解释器 |
| -u | 指定该用户的默认UID |
| -U | 创建一个和用户名同名的组 |