Linux命令每天必学之 useradd/adduser 新增用户
Linux下useradd或adduser命令用来建立用户帐号和创建用户的起始目录,使用权限是超级用户。接下来通过本文给大家介绍每天必学Linux命令之 useradd/adduser 新增用户的相关知识,需要的朋友参考下吧 在Linux操作系统中,管理用户账户是系统管理员的基本任务之一。`useradd` 和 `adduser` 命令就是用于创建新用户账户的工具。这两个命令在大多数情况下是等价的,但有一些细微的差别。这里我们将深入探讨它们的用法、参数以及常见操作实例。 `useradd` 是系统级命令,它直接调用 `/etc/login.defs` 文件中的默认配置来创建用户。而 `adduser` 在某些发行版中是 `useradd` 的一个包装器,它提供了一个交互式界面,帮助用户更方便地输入新用户的信息。 **基本语法:** ``` useradd [参数] 用户名 adduser [参数] 用户名 ``` **参数说明:** - `-c`:指定用户的注释信息,如全名或其他描述,存储在 `/etc/passwd` 文件的第六字段。 - `-d` 或 `--home-dir`:指定用户的主目录路径。 - `-e`:设置账户的到期日期。 - `-f`:指定密码过期后账户关闭的天数。 - `-g` 或 `--gid`:指定用户的主要组。 - `-G`:指定用户加入的附加组。 - `-l`:禁止记录用户的登录信息。 - `-m`:自动创建用户的主目录。 - `-M`:不创建用户的主目录。 - `-n`:不创建与用户名同名的组。 - `-p` 或 `--password`:设置用户的密码(加密形式)。 - `-r` 或 `--system`:创建系统账户,用于运行系统服务。 - `-s`:指定用户的默认Shell。 - `-u`:设置用户的UID,应确保唯一且不在保留范围内(通常大于499)。 **用法实例:** 1. 创建用户 `user1`: ``` sudo useradd user1 ``` 2. 创建用户 `user2` 并指定用户组 `ftp`: ``` sudo useradd -g ftp user2 ``` 3. 创建用户 `user4` 并指定主目录 `/mnt/bak`: ``` sudo useradd -d /mnt/bak user4 ``` 如果目录不存在,需要先创建,如: ``` sudo mkdir /mnt/bak ``` 4. 创建用户 `user5` 并设置密码 `123456`: ``` sudo useradd -p $(echo '123456' | openssl passwd -1 -stdin) user5 ``` 5. 创建一个仅用于FTP登录的用户 `ftp2018`,不允许其登录系统: ``` sudo useradd -g ftp -s /sbin/nologin ftp2018 ``` **查看用户信息:** - 使用 `cat /etc/passwd` 查看所有用户信息。 - 使用 `cat /etc/shadow` 查看所有用户的密码信息(加密形式)。 总结来说,`useradd` 和 `adduser` 命令是Linux系统管理中不可或缺的工具,用于创建新的用户账户并控制相关的属性。理解这些命令的用法有助于更好地管理和维护Linux系统中的用户资源。在日常工作中,根据需要选择适合的参数和选项,可以高效地完成用户账户的管理工作。