Linux | 如何创建一个 home 目录在 /data 磁盘的 sudo 用户

需求:

拿到了 boss 的服务器账号 ssh [email protected],需要登录 boss 的账号,然后为自己创建一个账号,实现 ssh <user_name>@172.16.1.100 登录。

我希望自己的账号 1. 有 sudo 权限,2. home 目录的空间大。

(boss、<user_name> 和 172.16.1.100 地址均为虚设。)


目录

  • [01 创建新用户](#01 创建新用户)
    • [1 确认大容量磁盘的位置](#1 确认大容量磁盘的位置)
    • [2 创建新用户并指定 Home 目录](#2 创建新用户并指定 Home 目录)
    • [3 设置用户密码](#3 设置用户密码)
    • [4 授予新用户 sudo 权限](#4 授予新用户 sudo 权限)
    • [5 测试登录](#5 测试登录)
  • [02 配置环境的后续工作](#02 配置环境的后续工作)

01 创建新用户

1 确认大容量磁盘的位置

bash 复制代码
df -h      # 查看文件系统的磁盘空间,确认大容量分区挂载点

具体来说:

  • df 是 "disk free" 的缩写,用于报告文件系统的磁盘空间使用情况。
  • -h 选项表示以人类可读的格式(如 KB, MB, GB)显示磁盘空间,而不是以字节为单位。

运行 df -h 命令后,会看到类似以下的输出:

bash 复制代码
Filesystem      Size  Used Avail Use% Mounted on
udev            7.8G     0  7.8G   0% /dev
tmpfs           1.6G  2.4M  1.6G   1% /run
/dev/sda1        233G   50G  173G  23% /
tmpfs           7.8G  124M  7.7G   2% /dev/shm
tmpfs           5.0M  4.0K  5.0M   1% /run/lock
tmpfs           7.8G     0  7.8G   0% /sys/fs/cgroup
/dev/sdb1        917G  200G  667G  22% /mnt/data
tmpfs           1.6G     0  1.6G   0% /run/user/1000

每一列的含义如下:

  • Filesystem: 文件系统名称。
  • Size: 总大小。
  • Used: 已使用的空间。
  • Avail: 可用空间。
  • Use%: 磁盘空间使用率。
  • Mounted on: 挂载点。

2 创建新用户并指定 Home 目录

bash 复制代码
# 假设我们希望把 home 目录建到 /data 下面
sudo useradd -m -d /data/<user_name> -s /bin/bash <user_name>

其中,

  • -m:自动创建Home目录(若父目录/data存在)
  • -d:指定自定义Home目录路径
  • -s:设置默认shell为bash

3 设置用户密码

bash 复制代码
sudo passwd <user_name>
# 根据提示输入两次新密码

4 授予新用户 sudo 权限

bash 复制代码
sudo usermod -aG sudo <user_name>

验证目录权限:

bash 复制代码
sudo chown -R <user_name>:<user_name> /data/<user_name>  # 确保目录归属正确
ls -ld /data/<user_name>                       # 检查权限应为 drwxr-xr-x

5 测试登录

bash 复制代码
ssh <user_name>@172.16.1.100
# 输入密码后验证:
pwd      # 应显示 /data/<user_name>
df -h .  # 查看当前目录所在分区的空间

如遇登录失败,检查 /etc/ssh/sshd_config,确保允许密码认证(PasswordAuthentication yes),或直接在 boss 用户里设置 <user_name> 用户的 ssh 密钥。

02 配置环境的后续工作