原文网址: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命令,再执行如下命令:
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 | 创建一个和用户名同名的组 |