在linux中新建用户user123456,UID为1010,指定其所属的私有组为group01(创建group01组的标识符为1010),用户的主目录为/balabala,用户的shell为/bin/bash,用户的密码为123456,账户永不过期
时间: 2024-12-08 11:23:40 浏览: 12
在Linux中,通过`useradd`命令可以创建新的用户并设置相关属性。但是,直接设置UID、gid、主目录、shell和密码通常需要root权限,并且不是一次性操作。以下是步骤:
1. 首先,确认`group01`是否存在,如果不存在,可以使用`groupadd`命令创建:
```
sudo groupadd -g 1010 group01
```
2. 接着,创建用户`user123456`,并设置必要的属性:
```
sudo useradd -u 1010 -g 1010 -d /balabala -s /bin/bash -m -p 123456 user123456
```
`-u`指定了用户ID,`-g`指定了用户所属的组ID,`-d`设置了主目录,`-s`设定了shell,`-m`表示自动创建主目录。
3. 要让账户永不过期,需要编辑用户的密码策略文件`/etc/login.defs`,将`PASS_MAX_DAYS`和` PASS_MIN_DAYS`设置为较大的数值,比如将其注释掉:
```
sudo vi /etc/login.defs
# 将 PASS_MAX_DAYS 和 PASS_MIN_DAYS 设置为0 或者注释掉
```
完成上述操作后,用户`user123456`就已经创建,并按照要求配置了。
相关问题
linux新建用户user6,UID为1016,指定其所属的私有组为group6(group6组的标识符为1016),用户的密码为123456,账户永不过期。
在Linux系统中,使用`useradd`命令可以创建新用户并设置一些基本属性。但是,由于Linux不允许直接设置UID和GID以及密码,我们通常需要分步骤操作:
首先,你可以使用`useradd`命令创建用户user6,比如:
```sh
sudo useradd -m -s /bin/bash -u 1016 user6
```
这里 `-m` 表示创建一个新的主目录,`-s` 指定shell程序,`-u` 设置初始UID。
然后,为group6创建组,如果没有该组,则需先创建:
```sh
sudo groupadd -g 1016 group6
```
接着,将user6加入到group6:
```sh
sudo usermod -aG group6 user6
```
最后,设置密码。虽然`useradd`默认会提示输入密码,但我们可以通过`passwd`命令来设置:
```sh
sudo passwd user6
```
在交互式提示中输入密码123456,并确认。
关于账户永不过期,Linux系统的默认设置通常不允许密码永不过期。如果需要更改,你需要编辑 `/etc/login.defs` 文件,查找 `PASS_MAX_DAYS` 和 `PASS_MIN_DAYS` 这两个变量,将其设置为0表示无限制。然而,修改此文件可能涉及root权限,而且可能会带来安全风险,建议在实际环境中谨慎处理。
新建用户 user3, UID为1010,指定其所属私有组为 group1(group1的标识符为1010),用户的主目录为 /home/user3,用户的 shell 为 /bin/bash,用户的密码为12345678,账户永不过期。
可以使用以下命令来完成:
```
sudo useradd -u 1010 -g 1010 -d /home/user3 -s /bin/bash -p $(openssl passwd -1 12345678) -M -N -r user3
```
解释一下各个选项的含义:
- `-u 1010` 指定用户的 UID 为 1010。
- `-g 1010` 指定用户所属的主组为 group1,其 GID 为 1010。
- `-d /home/user3` 指定用户的主目录为 /home/user3。
- `-s /bin/bash` 指定用户的默认 shell 为 /bin/bash。
- `-p $(openssl passwd -1 12345678)` 指定用户的密码为 12345678。这里使用了 openssl 工具生成了一个密码的哈希值,以保证密码的安全性。
- `-M` 不创建用户的主目录。
- `-N` 不创建用户的私有组。
- `-r` 创建一个系统账户,即账户永不过期。
执行命令后,可以使用以下命令来验证用户是否创建成功:
```
sudo cat /etc/passwd | grep user3
```
输出应该类似于:
```
user3:x:1010:1010::/home/user3:/bin/bash
```
其中,第一个字段是用户名,第二个字段是密码(因为使用了哈希值,所以这里是 x),第三个字段是 UID,第四个字段是 GID,第五个字段是用户的注释,第六个字段是用户的主目录,第七个字段是用户的默认 shell。
阅读全文