サーバー

Ubuntu 12.04 server グループに追加したらadmin権限の喪失?

サーバを自在に操れるように、そう、ウィザードのようになりたい、とゲーム感覚でやらないとハードルが多いわ、時間は掛るわでとてもサーバ管理者を名乗れるまでの道のりを進む事はできないと感じるこの頃です。

環境はWindows PCにネットワークが2本、一方は社内Windows Server、もう一方はUbuntu 12.04 serverに接続、Windows PCから専らSSHでUbuntu serverを操作しています。このブログでもサーバ操作について記事をいくつか上げてますが、未だに社内をLinux serverを中心としたWidowsネットワーク環境に切り替える事ができません… orz。

DNS、DHCP、MySQL、Apache2、PHP、proFTPと来てLDAPに取り掛っているところで発生しました。LDAPをブラウザから操作できるphpLDAPadminを、Windows PCからFTPでアップロードしようと、自分のユーザーネームをwww-dataグループに加えたところ、ログアウト後の今日になるとsudoが利用できなくなったのです。

どうやらadmin権限を失ってしまったようです。復旧は以下の通り操作してひとまず落ち着いたので、腑に落ちない点もあることから記事にしておこうかと。

リカバリー操作

  1. Ubuntu 12.04 serverをrecovery modeで起動
  2. Recovery Menuからnetworkを選択
    /をread/writeモードでリマウントする
  3. Recovery Menuからrootを選択
  4. adminグループを追加
    # groupadd admin
    何故かこのグループがなかったので追加した
  5. adminグループに自分のユーザーアカウントを追加
    # gpasswd -a username admin
  6. exitしてRecovery Menu のresume選択

てな具合です。

www-dataグループに追加する際、

# usermod -G www-data username
でなくて
# groupadd -G www-data username

としたような記憶があります。Ubuntuさんのご機嫌を損ねるような何かがあったようです。それにadminグループも登録されてなかったようですし。

しかしグループに関するコマンドが多くて、何をどう使っていいやら困る事がしばしばです。例えば、ユーザーをsudoを利用できるようにするには、

# adduser username admin

でもOKとか。試していませんが。 これが操作として標準のようです。

まだまだ半人前、年だけ取ってしまいました。オソマツサマ m(_ _)m

追記:パスワード失念時の対処

リカバリーモードで起動すれば、パスワードを忘れてしまった場合の対処もできます。上記リカバリーモードで起動後、

# passwd ユーザー名

とすれば、パスワードを新しく書き換えられます。

(120725)

追記:usermodのオプション指定

# usermod -aG グループ名 ユーザー名

-G指定は、指定した複数グループとユーザー名グループ以外のグループを入れ替えてしまった。-aGを指定したところ、希望通りグループに追加された。

(120725)