需求:

拿到了 boss 的服务器账号 ssh boss@172.16.1.100,需要登录 boss 的账号,然后为自己创建一个账号,实现 ssh @172.16.1.100 登录。 我希望自己的账号 1. 有 sudo 权限,2. home 目录的空间大。

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


[toc]


01 创建新用户

先查看一下服务器上有哪些用户:

cat /etc/passwd
# 每行格式为:
# 用户名:密码占位符:UID:GID:注释:家目录:默认shell
cut -d: -f1 /etc/passwd  # 只查看用户名

更多命令:

who          # 查看当前登录的用户
w            # 查看当前登录用户及其活动
users        # 简单列出当前登录的用户名
last         # 查看最近登录记录

1 确认大容量磁盘的位置

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

具体来说:

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

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

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 目录

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

其中,

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

3 设置用户密码

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

4 授予新用户 sudo 权限

sudo usermod -aG sudo <user_name>

验证目录权限:

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

5 测试登录

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

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

02 配置环境的后续工作

  • 设置 ssh 密钥登录,可以免密码登录服务器:[Linux · ssh如何使用 ssh 密钥,免密码登录 Linux 服务器](https://www.cnblogs.com/moonout/p/18334148)
  • 如果连不上 vscode:[Linux · Ubuntu · VSCode(已解决)VSCode 服务器下载失败,下载一直卡住,无法打开文件夹](https://www.cnblogs.com/moonout/p/19885819)
  • 安装 conda:[Conda如何在 Linux 服务器安装 conda](https://www.cnblogs.com/moonout/p/18334292) ,[Conda如何在 Linux 服务器安装 miniconda](https://www.cnblogs.com/moonout/p/18802012)
  • 配置 git 和 GitHub 访问权限:[Git如何在新服务器上配置 git](https://www.cnblogs.com/moonout/p/18334937)
  • 配置-代=理:[Python · GitHub · Linux使用本机作为代理服务器](https://moonout.link/local-machine-as-proxy-server/)
  • 安装 MuJoCo、mujoco_py:[Python · MuJoCoMuJoCo 与 mujoco_py 的版本对应,以及安装 Cython<3](https://www.cnblogs.com/moonout/p/18666968)
  • 新建 conda 环境:conda create –name python=3.8
  • 安装 dm_control 等库:[Python · Jax在 python 3.8 上安装 jax,运行 offline RL 的 IQL](https://www.cnblogs.com/moonout/p/18667147)
  • 为大目录(如下载的模型)创建软链接:用 ln 命令创建软链接,Linux 系统