ubuntu adduser,useradd命令

adduser命令的使用:

        在使用adduser命令时,它会添加这个名,并创建和用户名名称相同的组名,并把这个用户名添加到自己的组里去,并在/home目录想创建和用户名同名的目录,并拷贝/etc/skel目录下的内容到/home/用户名/的目录下,并提示输入密码,并提示填写相关这个用户名的信息。adduser是一个perl脚本, 可以交互式地设定一些用户参数。

比如创建用户myadmin

root@xxx:/xxx# addusermyadmin          # 创建普通用户myadmin
Adding user 'myadmin' ...         # 新建新用户myadmin
Adding new group 'myadmin'(1004) .        # 添加相关用户组myadmin
Adding new user 'myadmin'(1010) with group myadmin ...       # 并把用户myadmin添加到myadmin组
Creating home directory '/home/myadmin' ...       # 在/home下创建这个用户的目录
Copying files from '/etc/skel' ...        # 拷贝/etc/skel目录下的隐藏配置到/home/myadmin
Enter new password:         # 输入新密码
Retype new UNIX password:         # 确认新密码
passwd: password updated successfully
Changing the user information for myadmin
Enter the new value,or press ENTER for the default       # 输入myadmin此用户的相关信息
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [y/N]

        用adduser命令创建的是一个系统用户,可以用这个用户名来登陆系统。

        要是删除由adduser命令创建的的用户,用以下:

root@xxx:/xxx# userdel -r myadmin       # -r参数删除用户myadmin的同时,将其宿主目录和系统内与其相关的内容删除。

 

useradd命令的使用:

        在使用命令useradd时,它会添加这个用户名,并创建和用户名相同的组名,但它并不在/home目录下创建基于用户名的目录,也不提示创建新的密码。useradd是一个ELF可执行程序。

root@xxx:/xxx# useradd myadmin # 创建普通用户myadmin

        用useradd命令创建的是一个普通用户,不能用这个用户名来登陆系统。

        删除由useradd创建的用户

root@xxx:/xxx# userdel myadmin


总结上来讲,在Ubuntu中,adduser更适合初级使用者,因为不用去记那些繁琐的参数选项,只要跟着系统的提示一步一步进行下去就行,缺点就是整个创建过程比较复杂而漫长;而useradd比较适合有些高阶经验的使用者。

<think>嗯,用户问的是adduseruseradd这两个命令的区别。我得先回忆一下这两个命令在Linux系统中的不同作用。好像都是用来创建用户账户的,但具体有什么差别呢?可能一个是另一个的封装或者有不同选项? 首先,我记得在Debian系的系统里,比如Ubuntuadduser是一个比较友好的交互式命令。它会提示用户输入密码、全名等信息,可能还会自动创建家目录。而useradd则是更底层的命令,属于更基础的工具,可能不会自动创建家目录,除非加上特定参数,比如-m选项。 那在Red Hat系的系统里,比如CentOS,可能没有adduser,或者adduser只是useradd的一个符号链接?这时候两者的功能就一样了。需要确认不同发行版的差异。 用户可能是在使用不同的Linux发行版时遇到了困惑,或者在脚本中需要使用正确的命令。需要明确两者的区别,避免错误使用。例如,在自动化脚本中,使用useradd更合适,因为可以指定参数;而交互式创建用户则用adduser更方便。 另外,权限方面,两个命令都需要root权限或者sudo。需要提醒用户这一点。可能还要提到配置文件的位置,比如/etc/adduser.conf和/etc/default/useradd,这样用户可以自定义默认设置。 还要注意,adduser可能还会处理用户组的创建,比如默认添加到同名的用户组,而useradd可能需要手动指定。比如useradd不加参数的话,可能不会创建家目录,导致用户登录问题。 总结起来,区别主要在于交互性、默认行为以及所属的发行版。需要分点说明,让用户清楚不同场景下的选择。</think>在Linux系统中,`adduser`和`useradd`都是用于创建用户账户的命令,但它们的定位和使用方式有显著区别: --- ### 1. **交互性差异** - **adduser** ▶ 专为交互式操作设计,会逐步提示输入密码、全名等信息 ▶ 自动创建用户家目录(`/home/用户名`) ▶ 自动创建同名用户组 ▶ 典型输出示例: ```bash # sudo adduser alice Adding user `alice'... Adding new group `alice' (1002)... Adding new user `alice' (1002) with group `alice'... Creating home directory `/home/alice'... ``` - **useradd** ▶ 非交互式底层工具,需通过参数指定所有配置 ▶ 默认不创建家目录(需加`-m`参数) ▶ 默认不设置密码(需配合`passwd`命令) --- ### 2. **发行版兼容性** | 命令 | Debian/Ubuntu系 | RHEL/CentOS系 | |------------|-----------------------|-----------------------| | `adduser` | 高级封装脚本 | 通常为`useradd`软链接 | | `useradd` | 基础工具 | 基础工具 | 在Red Hat系系统中执行`ls -l /usr/sbin/adduser`可能看到: ```bash lrwxrwxrwx. 1 root root 7 Apr 1 2020 /usr/sbin/adduser -> useradd ``` --- ### 3. **典型使用场景** - **适合`adduser`的情况** ✔️ 手动创建普通用户 ✔️ 需要快速完成用户初始化(自动生成家目录、设置密码) - **适合`useradd`的情况** ✔️ 脚本批量创建用户 ✔️ 需要精确控制参数(如指定UID、自定义家目录路径) ✔️ 高级配置示例: ```bash sudo useradd -m -d /data/users/bob -s /bin/zsh -u 1500 bob ``` --- ### 4. **关键参数对比** | 功能 | adduser | useradd | |---------------------|-----------------|-----------------------| | 创建家目录 | 自动 | 需加`-m` | | 设置密码 | 交互式提示 | 需另执行`passwd` | | 指定Shell | `--shell` | `-s` | | 指定用户组 | `--ingroup` | `-g`(主组)/`-G`(附加组)| | 自定义家目录路径 | `--home` | `-d` | --- ### 5. **配置文件位置** - `adduser`配置:`/etc/adduser.conf` (控制默认家目录模板、是否创建私有组等) - `useradd`配置:`/etc/default/useradd` (定义默认Shell、家目录基准路径等) --- ### ▶ 总结选择建议 - 新手/交互操作 → 用`adduser` - 脚本/精确控制 → 用`useradd` - 跨发行版脚本 → 优先使用`useradd`加完整参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值