印刷用表示へ切り替え 通常表示へ切り替え 更新履歴を表示 更新履歴を隠す
Linux root 権限の別ユーザを作成する

Linux で root と同じ権限を持ちシェルが違う別ユーザを作成する。

■ ■ ■

Windows では Administrator 権限の別ユーザを簡単に作ることができる。では,Linux ではどうかというと,こちらでも作ることができる。今回はシェルだけが違う root 権限のユーザを作成する。

動作環境は Vine Linux 4.2 である。

ユーザ作成は useradd コマンドで行う。/etc/passwd ファイルと /etc/shadow ファイルを直接編集してもできるが,コマンドでやるのが正しい。

調査

まず,root の環境を調べる。

# grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin

root は UID が 0,GID が 0,ログインディレクトリが /root,シェルが /bin/bash となっている。root と同じグループに operator というユーザも登録されている。

作成

root の環境がわかったので,シェルだけが異なる別ユーザ admin を作ることにする (もちろん,シェルも何もかも同じで「ログイン名だけが違う root 権限ユーザ」を作ることもできる)。マニュアルを参照して ( (Man page of USERADD),ログインシェルに /bin/zsh を指定する (Z Shell - Wikipedia)。ポイントは「-o」オプションである。

# useradd -o -u 0 -g 0 -d /root -s /bin/zsh admin
useradd: 警告: ホームディレクトリが既に存在します。
skel ディレクトリからのコピーは行いません。

/root ディレクトリがすでにあるので警告が出るが,作成はされている。あとはパスワードを設定すれば OK。

# passwd admin
Changing password for user admin.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.

確認

/etc/passwd ファイルを確認する。

# grep admin /etc/passwd
admin:x:0:0::/root:/bin/zsh

念のため admin にスイッチユーザしてシェルを調べておく。

# su - admin
# echo $SHELL
/bin/zsh

ログインシェルが /bin/zsh になっていることが分かる。$SHELL は ${SHELL} の略記である。ログインシェルは /bin/zsh だが,途中でシェルを変えているかも知れない。現在のシェルは予約変数「0」に保存されている。

# echo $0
-zsh
# echo ${0}
-zsh

その他

Linux が一般的になってから bash を使うことが多くなったが (デフォルトなので),その前は csh を使っていた (C Shell - Wikipedia)。csh はスクリプトの構文が Bourne Shell や bash とは少し違うが,慣れれば使いやすいシェルである。

4893620290

UNIX C SHELLフィールドガイド

5つ星のうち4.7

G アンダーソン,P. アンダーソン,落水 浩一郎,大木 敦雄

Posted by n at 2014-10-11 23:46 | Edit | Comments (0) | Trackback(0)
Trackbacks

  • 「手違いで複数トラックバックを送ってしまった!」という場合でも気にしないでください (重複分はこちらで勝手に削除させていただきます)
  • タイムアウトエラーは,こちらのサーバの処理能力不足が原因です (詳細は トラックバック送信時のエラー をご覧ください)
  • トラックバックする記事には,この記事へのリンクを含めてください(詳細は 迷惑トラックバック対策 をご覧ください)
Comments
Post a comment
  • 電子メールアドレスは必須ですが,表示されません (気になる場合は「メールアドレスのような」文字列でもOKです)
  • URL を入力した場合はリンクが張られます
  • コメント欄内ではタグは使えません
  • コメント欄内に URL を記入した場合は自動的にリンクに変換されます
  • コメント欄内の改行はそのまま改行となります
  • 「Confirmation Code」に表示されている数字を入力してください (迷惑コメント対策です)


(必須, 表示されます)


(必須, 表示されません)


(任意, リンクされます)


Confirmation Code (必須)


Remember info (R)?