2021年3月3日水曜日

Ubuntu 滅茶苦茶珍道中 其の肆 ユーザー追加と権限

先ずは、ユーザーを追加します。
Ubuntu でも Windows での利用と同じ様な、
マルチユーザー環境 を整えてあげる方が 馴染み易い から。
でも、 OS が違えば差異もある訳で ... 。


MS Windows で言う処の 一般ユーザーと管理者ユーザー。

OS は 皆 マルチユーザー環境を安全に実現する為に、
ユーザーに対して機能制限を設けます。

Windows の場合、
OS Windows をインストールしたユーザーは 管理者ユーザー となり、
強い権限を有し、PC の設定を変更出来ますが、
全てのユーザーが自由に弄れる様にすると、不都合が生じる恐れがある訳ですね。
制限付きのユーザーを 一般ユーザー 等と呼びますね。
しかし、管理者ユーザーも、基本的には、一般ユーザーとして利用させて置いて、
必要な時に権限を昇格させる仕組みになっています。


Ubuntu の場合も、基本的には、同じ考え方!。

wheel / Sudo Group に属すユーザーが、Windows で言う処の 管理者 なのですね。
OS をインストールしたユーザーは これに属し、
Root の権限 (≒ 管理者権限)を持つ事になるのです。
コマンド利用時には、特定の権限を要求されるものがあって、
昇格(Root 権限の利用)をして、実行する事になります。

良く、検索で出て来る sudo ~ コマンド がこれに当たります。
無論、基本的には、パスワードを要求され増す。(連続利用時には初回のみ?)

Terminal(MS Windows では Command Prompt が該当)の表示は初期設定では、
UserA@pcName:~$
ですね。

例えば、
OS に 管理者権限を使えるユーザーが ひとつ では、何ぞの時に手が出なくなりますから、
ユーザーを追加し、管理者に属する様にしたい処。
新ユーザー追加 コマンド  useradd UserB -m userB  なら、

UserA@pcName:~$ useradd UserB -m userB
[sudo] UserA のパスワード:

となり、管理者のパスワード入力を求められますが、
タイプしても表示はされません。  そのまま です。
以降、暫くは、sudo を頭に付けても、パスワード要求はされません。

  尚、単に、 useradd UserB とすると、
  Home Directory は UserB で作成され、
  OS インストール時の UserA が 小文字スタートの usera となっている事と異なります。
  混乱をさける為に、敢えて、-m オプションを加えました。
  
  但し、色々検索して見ると、
  Linux 系 OS では User 名を 小文字で と説明してあるものがあります。
  User:userb UserHome:userb UserCommentFullName:UserB とするのが本来なのかも。
  FullName 変更は sudo chfn かな?。
  
  尚、User 名の長さは 32文字 だが、アプリ実行環境から 8文字以下が無難 と書いている方も。
  
  う~ん、この辺りは 謎のまま ... 。

これに対し、
昇格したまま進める場合には、 sudo su - と入れます。
Prompt 冒頭 が変わりますね。
ユーザー名が root に変わっています。
また、コマンドラインの先にあった $ が # に 変わります。

UserA@pcName:~$ sudo su -
root@pcName:~#

以降、冒頭に sudo 追記 は不要になります。
また、Root から元に戻すには exit と入れるだけ の様ですね。

但し、この場合 (root にて実行)、変更内容は Logging されないとも聞きますので、
試行錯誤には向かないのかも知れませんね。
sudo 付きで実行 が無難なのかも。


一般ユーザーの UserB を 管理者にするには、
sudo gpasswd -a UserB sudo
OR
sudo usermod -aG sudo UserB
です。



0 件のコメント:

コメントを投稿