本文へスキップ
← ガイド一覧

友だちにサーバーのアカウントを作ってあげる (ユーザーと権限)

友だちと一緒にサーバーを管理したり、ボットを一緒に作ったりするときは、自分のアカウントのパスワードを教える代わりに、友だち専用のアカウントを作ってあげるのが安全です。後でそのアカウントだけを削除すればよく、誰が何をしたかも区別できます。Ubuntu・Debianを前提としています。

1. アカウントを作る

sudo adduser friend-id

パスワードを2回入力し、名前などの残りの質問はEnterで飛ばしてもかまいません。これで友だちはssh friend-id@server-ipで接続できます。

2. 管理者権限(sudo)を与える — 本当に信頼できる場合だけ

sudo権限があると、サーバーのすべてを変更・削除できます。本当に必要なときだけ与えます。

sudo usermod -aG sudo friend-id

権限を取り消すには:

sudo deluser friend-id sudo

Fedoraでは、sudoグループの代わりにwheelグループを使います。(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/my-id/my-bot         # フォルダーをグループの所有に
sudo chmod -R g+rwX /home/my-id/my-bot           # グループに読み取り・書き込み権限
sudo chmod g+s /home/my-id/my-bot                # 新しく作るファイルも同じグループに
sudo chmod o+x /home/my-id                     # 友だちが自分のホームフォルダーを通過できるように

グループの変更は、再接続してはじめて適用されます。

4. 友だちにはSSHキーで接続してもらう (推奨)

友だちから公開鍵(id_ed25519.pubファイルの内容で、ssh-ed25519で始まる1行)を受け取って登録します。パスワードをやり取りする必要はありません。

sudo mkdir -p /home/friend-id/.ssh
echo "友だちから届いた公開鍵の1行" | 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のチケットでお問い合わせください。