Linux权限--adduser和useradd的区别

原文网址: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 | 创建一个和用户名同名的组 |

相关推荐
瑞克-桑切斯1 小时前
7、MySQL 慢查询排查与优化实战指南
java·服务器·数据库
vibecode3 小时前
网站服务器失去响应怎么解决?我把连接超时和读超时这两段计时拆开跑了一遍
运维·服务器
工业一体机老司机4 小时前
Docker部署工控机采集服务 Compose编排与开机自启
运维·docker·容器
迪康Defender5 小时前
终端供应链安全:应用白名单与软件正版化检测落地|终端安全治理实践
运维·服务器·网络·安全·web安全·自动化·运维开发
lzx_0025 小时前
Linux 进程(二) 深入理解进程
linux
沫璃染墨5 小时前
从零入门计算机网络系列(十二):HTTP长连接与会话管理详解——从Connection到Cookie与Session
linux·服务器·c++·tcp/ip·ubuntu·http·交互
温暖小土5 小时前
在 CentOS 上安装 Redis Stack
linux·redis·centos
GeW7 小时前
国产化替代进入深水区之后Linux 与数据库为什么必须走向重建
linux
万联WANFLOW8 小时前
异地厂区视频监控远程运维:从组网到安全的实施要点
运维·网络·安全·企业组网·sdwan
衍玊8 小时前
深入剖析 TCP/IP 网络通信原理与内核实现
服务器·网络·tcp/ip