跳到主要内容
← 指南列表

为朋友创建服务器账户(用户与权限)

和朋友一起管理服务器或一起开发机器人时,比起告诉对方您的账户密码,为朋友创建专用账户更安全。以后只需删除那个账户即可,也能区分谁做了什么。以 Ubuntu、Debian 为准。

1. 创建账户

sudo adduser friend-id

输入两次密码,姓名等其余问题可以直接按 Enter 跳过。现在朋友可以用 ssh friend-id@server-ip 连接了。

2. 授予管理员权限(sudo)——仅限真正可以信任时

拥有 sudo 权限就可以更改、删除服务器上的一切。请仅在确有必要时授予。

sudo usermod -aG sudo friend-id

如果要收回权限:

sudo deluser friend-id sudo

Fedora 使用 wheel 组而不是 sudo 组。(sudo usermod -aG wheel friend-id)

3. 共用同一个文件夹

如果想在不授予 sudo 权限的情况下,只让朋友一起修改特定文件夹(例如:机器人文件夹),请创建一个组。

sudo groupadd botteam                          # 创建组
sudo usermod -aG botteam $USER                 # 将自己加入组
sudo usermod -aG botteam friend-id              # 将朋友加入组
sudo chgrp -R botteam /home/your-id/your-bot         # 将文件夹改为该组所有
sudo chmod -R g+rwX /home/your-id/your-bot           # 给组读写权限
sudo chmod g+s /home/your-id/your-bot                # 新建的文件也归属同一个组
sudo chmod o+x /home/your-id                     # 让朋友可以经过您的主目录

组的更改需要重新连接后才会生效。

4. 让朋友使用 SSH 密钥连接(推荐)

向朋友索取公钥(id_ed25519.pub 文件的内容,以 ssh-ed25519 开头的一行)并注册。无需互相传递密码。

sudo mkdir -p /home/friend-id/.ssh
echo "朋友发来的一行公钥" | sudo tee -a /home/friend-id/.ssh/authorized_keys
sudo chown -R friend-id:friend-id /home/friend-id/.ssh
sudo chmod 700 /home/friend-id/.ssh
sudo chmod 600 /home/friend-id/.ssh/authorized_keys

生成密钥的方法请参考 SSH 连接指南中的“使用 SSH 密钥免密码连接”。

5. 删除账户

不再共用后,请删除账户。加上 --remove-home 会同时删除朋友的主目录,因此请先把需要的文件移走。

sudo deluser --remove-home friend-id

用于确认的命令

id friend-id        # 属于哪些组
who                 # 当前已连接的用户
last -n 20          # 最近的登录记录

在 Windows 服务器上,可以在 设置 → 帐户 → 其他用户 或“计算机管理 → 本地用户和组”中创建账户。如果要通过远程桌面连接,需要将该账户添加到“Remote Desktop Users”组。

如果问题仍未解决,请在 Discord 提交工单。