centos userad命令详解

  1. 命令作用
    用于创建用户
  2. 常见参数
  • -d 指定用户的家目录
  • -e 账号的到期时间,格式YYYY-MM-DD
  • -u 指定该用户的默认UID,(centos7开始1000是普通用户的第一个UID)
  • -g 指定一个初始的用户基本组(必须已经存在)
  • -G 指定一个或多个扩展用户组
  • -s 指定改用户的默认shell解释器
  • -p 在创建用户的使用指定密码
  • -M 在创建用户的同时不会创建用户家目录
  • m 创建一个与用户关联的主目录
  • --system 创建一个系统用户,UID低于1000的用户
  1. 实践

    3.1. 创建用户并指定用户的家目录(默认是在/home下面)

    复制代码
    useradd -d /tom tom
    powershell 复制代码
    cat /etc/passwd | grep tom
    tom:x:1000:1000::/tom:/bin/bash

    3.2.创建用户并指定用户UID

    直接创建用户查看UID

    复制代码
    useradd tom
    powershell 复制代码
    id tom
    uid=1000(tom) gid=1000(tom) 组=1000(tom)

    第一个普通用户的默认UID是1000,新增用户往上递增;

    指定用户UID为2000

    复制代码
    useradd -u 2000 tom
    powershell 复制代码
    id tom
    uid=2000(tom) gid=2000(tom) 组=2000(tom)

3.2. 创建用户并指定默认主组为root

用户创建时,会默认一个同名的组;

例如,创建用户tom,并查看组

复制代码
useradd tom
powershell 复制代码
id tom
uid=1000(tom) gid=1000(tom) 组=1000(tom)

可以看到,创建了一个GID为1000的与用户同名的组;

创建用户指定,默认的组为root

复制代码
useradd tom -g root
powershell 复制代码
id root
uid=0(root) gid=0(root) 组=0(root)

可以看出默认组已经改成root了

3.3. 创建用户并给用户加入一个外部组

复制代码
useradd -G root tom
powershell 复制代码
uid=1000(tom) gid=1000(tom) 组=1000(tom),0(root)

可以看出,用户拥有自己的默认组,还拥有了一个外部组

3.4. 创建用户时,指定用户的shell

创建用户默认指定的是 /bin/bash

创建用户指定shell为 /sbin/nologin

复制代码
useradd tom -s /sbin/nologin
powershell 复制代码
tom:x:1000:1000::/home/tom:/sbin/nologin

3.5. 在创建用户的同时,并设置密码

复制代码
useradd tom -p 123456

默认明文是不安全的,我们可以对密码进行加密

复制代码
useradd tom -p $(openssl passwd -1 123456)

3.6. 创建用户时,不创建用户的家目录

复制代码
useradd -M tom

3.7. 创建一个系统用户

系统用户就是UID低于1000的用户,并且不会创建家目录

复制代码
useradd tom --system
powershell 复制代码
uid=996(tom) gid=993(tom) 组=993(tom)

可以使用-m为系统用户创建家目录

复制代码
 useradd tom --system -m

注:所有参数可以搭配使用

  1. 删除用户

    复制代码
    userdel tom

    删除用户,但不删除用户的家目录

    复制代码
    userdel -r tom

    删除用户,并删除用户的家目录

相关推荐
专注API从业者13 小时前
告别手动翻页!基于淘宝商品接口 + Open Claw 实现自动化选品与实时监控(附完整 Python 代码)
大数据·运维·数据库·自动化
拦路雨g13 小时前
VMware centos磁盘容量扩容
linux·运维·centos
休息一下…13 小时前
能用的Docker镜像
运维·docker·容器
Tellmeulovewho13 小时前
阿里云Linux云服务器部署Python项目——从零到生产环境的完整实战指南
linux·服务器·阿里云
Promise微笑13 小时前
智慧电力运维:局放仪分类、选型策略与深度应用实践
运维·分类·数据挖掘
我星期八休息13 小时前
Linux系统编程— Mmap实现⽂件LRU缓存
linux·运维·服务器·数据库·mysql·缓存
jiuri_121513 小时前
Linux 服务器 Codex + DeepSeek 配置
linux·运维·服务器
__Witheart__13 小时前
关于 uname 查看的内核版本号的后缀
android·linux·ubuntu·rockchip
爱吃生蚝的于勒13 小时前
QT开发第三章——常用控件
linux·服务器·开发语言·前端·javascript·c++·qt
Tairitsu_H13 小时前
告别默认Vim:Linux下轻松配置Vim开发环境
linux·编辑器·vim·配置