ytooyamaのブログ

サーバ構築とか、仕事で発見したこととか、趣味のこととかを書いています。

Expert ModeでインストールしたXubuntu Desktopにrootログインするとserviceコマンドでsshdが制御不可

Ubuntuではユーザー権限でログインし、管理権限が必要な時はsudoを頭につけてコマンドを実行するのが流儀です。 しかし、ユーザーが自分だけであり公開しないサーバーはついついrootユーザーだけ設定して使ってしまうのですが、流儀を外れたがばっかりにトラップにはまりました。具体的な事象は次の通りです。

  • Ubuntu 14.04 ServerにXubuntu Desktopを追加。
  • rootユーザーでXubuntuにログイン。
  • 毎回「ttyが作れなかった」みたいなエラーが出る。
  • serviceコマンドでsshdを制御できない。
# apt-get install openssh-server
# service ssh start
start: Unknown job: ssh

色々調べた結果、Ubuntu Trustyではinitctlコマンドでもサービスの起動、停止などができるという話なので実行してみるとそっちはうまくいくようで、initctl start sshした後にnetstatコマンドでポート22で待ち受けしているか確認したところ、ちゃんとSSHサーバーとして機能しているようでした。 しかし相変わらずservice ssh startの結果は「start: Unknown job: ssh」でした。

面倒臭かったのですが、adduser userとかしてユーザーを作った後adduser user sudoとかやって、service ssh restartを実行してみたら任意のユーザーではそのコマンドが正常に通りました。 rootユーザーではだめだったのに、ユーザー権限ではserviceコマンドが通るって、バグくせえ。。

同じ事象がフォーラムの方に報告されていて、もう少し調べてみたらバグが報告されていました。Upstartのバグの模様です。 bugs.launchpad.net

まあ、rootユーザーでログインせずにユーザーでログインしましょうってことですね。 もしくはsystemdに移行した16.04LTSにしましょうって。