作業用ユーザの作成

掲載日:2012年10月25日
公開から1年以上経過しているため
情報が古い可能性があります。

(「環境の準備-3:開発環境他」からの続きです。)
デフォルトの状態ではadminはsu rootができず、しかしrootで作業を続けるのは危険を伴うため、作業用のユーザを作成してsu rootが使える状態にしてからインストール作業を行うことにします

ユーザの作成について

DiskStationでユーザを作成するにはDSMの「コントロールパネル」から「ユーザー」を選んで普通に作れば良いわけですが、Synologyが提供しているコマンド「synouser/synogroup」を使ってユーザとグループを作成/削除することもできます。「synouser/synogroup」については以下のページで紹介されています。しかし記載の内容は古いようでオプション関係が正しく記載されていませんので、各コマンドのヘルプ表示の方が参考になるかなと思います。

または「環境の準備-3:開発環境他」で使えるようにした、他のLinux環境下などでは一般的な(ただしDiskStationでは一般的ではない)「adduser/addgroup」を使用する方法もあります。

DSMまたはsynouserでユーザを作成した場合には、1024番以降のユーザIDが順に割り振られてユーザが作成され(admin=1024番、guest=1025番が最初に定義済みのため実際には1026番以降のユーザIDが割り振られる)、また通常のアクセス権の他に、パッケージアプリのアクセス権を設定することもできます。ちなみに1024番よりも小さいIDのユーザはDSMでは表示しませんのでDSMでは管理できず、パッケージアプリの権限を調整することもできません。
基本的にDSMまたはsynouserのどちらの方法でユーザを作成しても同じ設定内容になるはずなのですが、グループの設定に微妙は違いが出たりしましたので、特にどうしてもコマンドでユーザを作成したいという理由がない限り、リアルユーザはDSM上で作成した方が無難なようです。

作業用ユーザを作成する

ということで、とにかく色々な方法で作成してみた結果、作業用ユーザは素直におとなしくDSMで作成することにしました。参考までにユーザの作成方法は以下の通りです。

  • DSMの「コントロールパネル」を開く
  • 「ユーザー」をクリック
  • 【作成】ボタンをクリック
  • 「名前:」にユーザ名を入力する
  • 「パスワード:」と「パスワードの確認:」にパスワードを入力する
  • 【次へ】ボタンをクリック
  • 「グループの結合」で「administrators」のチェックボックスをチェックする
  • 【次へ】ボタンをクリック
  • 「権限の割り当て-共有フォルダ」はとりあえずチェック無し
  • 【次へ】ボタンをクリック
  • 「ユーザー割当設定」(ディスククォータ)の設定はチェック無し
  • 【次へ】ボタンをクリック
  • 「権限の割り当て-アプリケーション」はとりあえず全てチェック無し
  • 【次へ】ボタンをクリック
  • 「ユーザーの速度制限設定」はとりあえず全てチェック無し
  • 「設定の確認」で【適用】ボタンをクリックして設定を保存する
Synology DSM 4.1のユーザ作成ウィザード

DSMで作成した結果「/etc/passwd」は以下のようになります。
ホームディレクトリはシンボリックリンクの設定になっていて実体は「/volume1/homes/gelsomino」となります。

プライマリグループは100番の「users」。「/etc/group」は以下のようになり「administrators」にも属しています。

この状態だとシェルが設定されていないためSSH(またはTelnet)でログインできませんので「/etc/passwd」を修正します。また、使わないユーザの「guest」のシェルを「/sbin/nologin」に変更します。

nanoで以下のように変更します(nanoの使い方は省略)。

ついでに作業用ユーザの「.profile」を以下の記述で設定します。以下のような感じで。

上記を「profile-gelsomino-m1」として保存して、共有フォルダの「extra」にコピーした状態で以下を実行します。

さらに、今後使うと思われる作業用のディレクトリを作り、初期状態のユーザのホームのアクセス権が気に入らないため修正します(755→700)。

そしてユーザの作成には無関係の好みの問題で、ホームディレクトリが深い位置にあるのが気に入らないため、ルートディレクトリに「home」としてシンボリックリンクを設定します。

この状態で、作成したユーザでログインしてみます。ログインできることを確認したら次は「su」を使えるようにします。

adduser/addgroupについて

前記、作業用ユーザのようにリアルなユーザで、ユーザID(UID)/グループID(GID)をそんなに気にする必要がなければよいのですが、慣例的なUID/GIDでユーザやグループを作成したいときがあります。またDSMで認識する必要が無いユーザを作りたいときもあります。
しかし残念ながらDSMまたはsynouserで作成されるユーザは1024番以上のIDが自動的に使われて、UID/GIDを指定することができません。

そこで、DSMで管理する必要のないユーザ(例えば各デーモン専用のユーザなど)をUID/GIDを指定して作りたいときは「環境の準備-3:開発環境他」で使えるようにした「adduser/addgroup」を使用してユーザを作成します。また作成したユーザのパスワードは同じく使えるようにした「passwd」を使用します。

例えば以下のように。

これで好みのUID/GIDでユーザとグループが作成できます(なお、この方法でユーザを作成するとDiskStationの起動時にmessageにエラーが吐き出すようですが、特に気にしなければ問題無しです)。

suを使えるようにする

環境の準備-3:開発環境他」で使えるようにした「passwd」を使用してrootにパスワードを設定すると、root以外のユーザで「su」が使えるようになります。
ただし1度設定すると「su」が使える状態になって元に戻らないようですので「su」は不要(例えばsudoしか使わないとか)という人は設定しない方がいいかもしれません(何か設定する方法があるのかも・・・)。

設定したパスワードはDiskStationでは例外的な扱いになるようで以下のように使い分ける必要があります。

  • rootで直接SSHまたはTelnetにログインするとき:adminのパスワードを使用する
  • 他のユーザがsuするとき:passwdでrootに設定したパスワードを使用する

ま、とにかく、これで作業用ユーザでログインして、なおかつ作業用ユーザがsuできる状態が調いました。
続いてはインストール用のディレクトリを設定します。


 
madogiwa:気が向いたときに更新する雑多な覚書メモ♪
Copyright © 2024 gelsomino
All rights reserved.