Linuxサーバーにweb担当者アカウントを登録しておく運用管理方法

2018年9月1日

サーバー テクノロジー

サーバー運用をする時に、サーバー担当者だけが管理を行う状態では非常に非効率です。 モジュールやファイルの更新の度にプログラマーから渡されたファイルをいちいちアップロードするなんて、ありえない運用です。 デプロイ方法はチームによって色々あると思いますが、サーバーの状態を確認したり、特定のモジュールのソースコードを確認したり、細かなサーバーアクセスで、動かされるのは責任分担もできかねるとして、web担当者用のアカウントを1つ用意する事にしたので、その設定履歴を備忘録。 いろいろな権限設定方法がありますが、僕が手軽でよくやっているやり方なので、初心者サーバー管理者の人におすすめします。

Concept

web担当者用として1つのアカウントを追加。 鍵を使ってsshアクセスができる状態にする。 web作業だけ行えるようにする。
※複数人分追加したい場合は、下記の名称を変えて同じ作業をすればOK 上記コンセプトを実現するために、新規ユーザーを作ってNginxやApacheの権限に合わせる事で、web機能のみの権限アクセスができるようになります。

HowTo

1.サーバーにアカウントを追加

$ sudo useradd web $ sudo passwd useradd > *webアカウントのパスワードを入力

2."/etc/passwd"編集

$ sudo vi /etc/passwd www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin web:x:1003:1005::/home/web:/bin/sh Apache、nginxをインストールしていれば、www-dataアカウントが存在すると思います。 この33:33がユーザー権限:グループ権限になるので、webユーザーの権限をwww-dataの権限にそのまま書き換えて下記のようになります。 web:x:33:33::/home/web:/bin/sh

3."/hoge/web"フォルダの設定

鍵のセットを行なって、アカウントフォルダーの"known_hosts"ファイルにセット(追記)します。 ※鍵の作成方法はこちらを参照して、pubファイルをサーバーにアップロードしておいてください。(/home/web/web.pub) $ sudo mkdir /home/web/.ssh $ cd /home/web/.ssh $ cat ~/web.pub >> ~/.ssh/authorized_keys

4.ファイルとフォルダの権限を設定

$ sudo chmod 0700 /home/web/.ssh $ sudo chmod 0600 /home/web/.ssh/authorized_keys

5.homeディレクトリのアカウント権限を設定

$ sudo chown -R www-data:www-data /home/web

最後に

これで、www-dataの権限で全て操作できるアカウントを作ることができ、sshログインしてファイルのアップロードや各種確認が行えます。 必要に応じてsudo権限を付与してあげると、/ver/logなどの情報アクセスも可能になります。 sudoの際には、www-dataのパスワードを聞かれる為、ここにパスワードを設定しておく必要があれば、下記コマンドを実行してください。 $ sudo passwd www-data > password : *** 鍵を使ってsshアクセスが確認できると運用開始です。 Let's try !

このブログを検索

ごあいさつ

このWebサイトは、独自思考で我が道を行くユゲタの少し尖った思考のTechブログです。 毎日興味がどんどん切り替わるので、テーマはマルチになっています。 もしかしたらアイデアに困っている人の助けになるかもしれません。