2021年5月15日土曜日

Ubuntu 滅茶苦茶珍道中 其の肆 ユーザー追加 追補

あれっ?。
Ubuntu 20.04.2 でユーザーを追加したのに、
ログイン画面に出て来ない ... ?。
さて、どうしたものか?。


以前に追加した時には問題が無かったのに ... 。
大文字小文字の問題から、
追加ユーザーを削除し、再度、追加したのですが ... 。
リモートでは無く、実機から入って見れば ... 、
変ですね?、 現れませんよ!。

確認して見ましょう。

以下を Terminal で叩きます。
自分以外の Account を弄るので、 root で操作しています。

基本は who でしょうか。

詳細は
root@pcName:~# cat /etc/passwd
ですね。

ずら~と、登録情報が列挙されますが、
ユーザーアカウント を対象に 抜粋転記 します。
こんな感じ。
user_a:x:1000:1000:User_A,,,:/home/user_a:/bin/bash
user_b:x:1001:1001:User_B,,,:/home/user_b:/bin/sh

各行が意味するのは以下の通り。
<UserName>:<PasswordType>:<UserID>:<GroupID>:<CommentsC1,C2,C3,C4,C5>:<HomeDir>:<Shell>
 注: 
    PasswordType x=ReferTo'/etc/shadow'Data *=ClosedAccount 未設定=NoPassword? L=Locked
    x 以外は確証無し!
    Comments C1=<FullName> C2=<RoomNumber> C3=<WorkPhone> C4=<HomePhone> C5=<OtherComment>

さて、件のユーザーは、と言えば、
UserID は 1001 。
問題の無い OS インストール ユーザーは 1000 。
1000 未満 は 特殊なユーザー扱いで、システムが管理し、ログイン画面に出ないとあります。
其処は問題無し。

最後が :/bin/bash と :/bin/sh とに違いがありました。
そう、シェル指定が異なるだけです。

  でも、実際には、此れを見ただけでは 分から無い のですけれど ... 。 (後述)

chsh [-s login_shell] [user] がログインシェルを変更するコマンドですね。
ユーザーを指定し /bin/bash に変更して見ます。
root@pcName:~# chsh -s /bin/bash user_b

尚、設定ファイルを直接編集するのでも行けるかな?、とは思ったのですが、
専用コマンドが提供されていますし、
そのコマンドが 他のファイルにも手を入れている場合も考えられるので、
冒険はしない事にしました。

  GUI や コマンド類 が 複数の設定ファイルを書き換える例 を他 OS で知っていますので、
  無理はしないのが 安心安全。
  そして、何よりも、この手は アクセス権 も絡むので ... 。


さて、少し考察を。
シェルは cat /etc/shells で記載があれば良し とあるのですが、
/bin/sh も冒頭に記載がある様です。
ですから、 良い筈なのですが、
日本語版 Ubuntu を導入したので、ご本家 とは構成が違うのかも知れません。
何で、ユーザー追加時にこの様な差異が生じたのかは不明なのですが、
或いは、リモートで操作していたのが原因なのかも。
差し当たり、回避に漕ぎ付けました。
普段、リモートで扱っている為、ログイン時にはユーザー固定の状態ですから、
追加したユーザーは、単に 追加しただけ ... 、
ログイン出来る状態か否か? は 確認していなかったのでした。
状況把握に時間が掛かって仕舞った、 と。
モニタとしてテレビを繋いだマシンの 落とし穴 でした。


で、実際に、これで OK か?、 と聞かれれば、 NO! です。

ひょんな 思い付き から、
GUI (設定 > ユーザー)から眺めると、
該当ユーザーは 無効 と表記されました。
何の事は無い、 パスワードを指定していない状態と判断されて、無効化されていた様ですね。
/etc/passwd の2項目目が x になっていても 安心 してはいけませんね。
  2項目目は、従前の Linux(Ubuntu) との整合性の為に、
   x を入れていると解説してあるページもありました。
  パスワード管理形態が変わった事で、状態に拘らず、値 x が放り込まれているのかも知れません。
今回は GUI から直して仕舞ったので、
専用コマンドは 使わず仕舞い でした。

きっと、変更なら、 
user_a@pcName:~$ sudo passwd user_b
でしょうね。  (以降は対話的に)
或いは、
user_a@pcName:~$ sudo passwd -u user_b
でしょうか?。  (Password 設定に問題が無く無効化のみの場合)

そして、確認なら、
user_a@pcName:~$ sudo passwd --status user_b
でしょうか?。

表示されるのは        
<UserName> <status> <LastUpdateDate> <MinimumAge> <MaximumAge> <WarningPeriod> <InactivityPeriod>
   注: status P:OK NP:NoPassword L:Locked
だそうです。
家庭レベルで一般的な利用時のチェックポイントは 2項目目が P か否か?、でしょうか。



これで、
段々と、共有 に向かう 素地 が出来て来ましたね。
未だ、積み残しは少しあると思いますが、
次は、 いよいよ 佳境! の 共有 になるでしょう。



[2021/05/19] 誤字訂正 Linux

0 件のコメント:

コメントを投稿