需求:
拿到了 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 配置环境的后续工作
- 设置 ssh 密钥登录,可以免输密码登录服务器:Linux · ssh | 如何使用 ssh 密钥,免密码登录 Linux 服务器
- 安装 conda:Conda | 如何在 Linux 服务器安装 conda ,Conda | 如何在 Linux 服务器安装 miniconda
- 配置 git 和 GitHub 访问权限:Git | 如何在新服务器上配置 git
- 配置代理:Python · GitHub · Linux | 使用本机作为代·理服务器
- 安装 MuJoCo、mujoco_py:Python · MuJoCo | MuJoCo 与 mujoco_py 的版本对应,以及安装 Cython<3
- 新建 conda 环境:conda create --name <env_name> python=3.8
- 安装 dm_control 等库:Python · Jax | 在 python 3.8 上安装 jax,运行 offline RL 的 IQL