Linux
AWS

ユーザー追加(Linux)

More than 3 years have passed since last update.

※以下手順では「test」というユーザを作成する例

ユーザ名を変更する場合は、関連するディレクトリのパス(/home/testなど)も合わせて変更すること。

① ユーザー作成

useradd test

② 作成したユーザに変更

su - test

③ キーペア作成

ssh-keygen -t rsa

※デフォルトの設定で実行する場合、全て質問に対してエンター。

※コマンド実行後、「/home/test/.ssh」ディレクトリ配下に「id_rsa.pub」と「id_rsa」というファイルが作成される。

id_rsa.pub :公開鍵

id_rsa   :秘密鍵

2048ビット長のキーペアが作成される。

④ 公開鍵の名称を「authorized_keys」に変更

mv /home/test/.ssh/id_rsa.pub /home/test/.ssh/authorized_keys

※「/etc/ssh/sshd_config」ファイルの中の「AuthorizedKeysFile」の中で指定されているファイル名に変更。

(通常は「.ssh/authorized_keys」がデフォルトで指定されているため、特に変更していない限りは上記設定で問題ない)

⑤ 公開鍵のパーミッションを「600」に変更

chmod 600 /home/test/.ssh/authorized_keys

⑥ 秘密鍵(id_rsa)をダウンロード

※ここでダウンロードした秘密鍵をご提供ください。

⑦ インスタンス上のssh秘密鍵は削除

rm /home/test/.ssh/id_rsa

上記⑥で受領した秘密鍵を使用してSSH接続。


  • SSL更新作業においてApacheの停止・起動を伴うためroot権限が必要。

  • root権限で実行する許可を追加したユーザに設定する必要がある。


ルート権限の付与/実行コマンドの制限

下記設定をすると、

例えば「sudo service httpd stop」などのように、

実行するコマンドの前に「sudo」を付与するとroot権限で実行される。

【設定方法】

root権限にて下記を実行

passwd test

※パスワードを設定。

sudoコマンドの実行にはここで設定したパスワード設定が必要。

但し、sudoコマンド実行時にパスワードを不要にする設定も可能。

visudo

(下記を追記)

test    ALL=(ALL)       ALL

※ここでtestユーザがroot権限で実行できる範囲について定義することが可能。

上記はroot権限で全てのコマンドを実行可能となるが、

例えば下記のように3列目にroot権限で実行したいコマンドをカンマ区切りで記載することで、

特定のコマンドのみ(下記例では「sudo service httpd start」、「sudo service httpd stop」のみ)の

root権限で実行できるように設定できます。

実行権限を絞られる場合は個別にカンマ区切りでroot権限で使用するコマンドを

すべて記載する必要がある。

test1   ALL=(ALL)       /sbin/service httpd start,/sbin/service httpd stop

また、sudoコマンドで実行時にパスワードを聞かれないようにするには下記の様に「NOPASSWD:」を付加して設定してください。

test1   ALL=(ALL)       NOPASSWD: /sbin/service httpd start,/sbin/service httpd stop

作業完了後、今回作成したユーザの削除およびsudo設定から「test」ユーザの記載行を削除する