sudoers が UID によって定義されないのはなぜですか?

sudoers が UID によって定義されないのはなぜですか?

ログイン情報は Linux の UID に関連付けられています。ただし、sudoers ファイルを開くと、sudoers は UID ではなくユーザー名で定義されています。

UID の代わりにユーザー名が使用されるのはなぜですか?
sudoers ファイルはusermod -l実行されると自動的に変更されますか?

スニペット:

    # User privilege specification
    root    ALL=(ALL:ALL) ALL

答え1

いくつかのマニュアルに従って[12] 私は以下の答えを出すことができます:

  1. UIDでユーザーを示すことも可能

    からUbuntu の sudoers wiki次のように読むことができます。

    コメントの前に # を付けてコメントを挿入できますが、これに数字が続くと、ファイルの特定の部分で uid を指定するためにも使用されます。

    その後、Runas エイリアス セクション例としては次のようなものが報告されています:

    # UID 0 is normally used for root  
    # Note the hash (#) on the following line indicates a uid, not a comment.  
    Runas_Alias ROOT = #0
    
  2. 単純に行う場合は、usermod -lsudoers の変更を伝播しないでください。
    確かに、usermod のマニュアルページ、より有益な情報BSD 1 版、私たちは読むことができます

    -l, --login 新しいログイン
    ユーザー名はLOGINからNEW_LOGINに変更されます。他には何も変更されていません。
    特に、ユーザーのホームディレクトリ名は、新しいログイン名を反映するために手動で変更する必要があるでしょう。

    パラメータのみを指定すると、sudoersの変更を手動で行う必要があるようです-l。おそらく古いユーザー名を消去してユーザーをsudoグループに追加する

    sudo usermod -a -G sudo hduser
    

    実際にそれが起こったこのユーザー2008 年に Debian Sid システムを導入しました。

    私は以前、自分のsidラップトップにログインするためのユーザー名としてXXXを使用していましたが、XXXはsudoersファイルにあります。今日は、YYYを使用して変更しました。

    sudo usermod -l YYY XXX

    他には何もしませんでした。

    今では YYY を使用してログインできますが、root パスワードを使用して root に su することはできませんでした。また、「YYY」はsudoersファイルにないので、/etc/sudoersを編集してYYYを含めることはできません。

ついになぜおそらく、あなたは決定的な答えをトッド・ミラー1991年にsudoの最後の(勝利した)フォークを行った人物、あるいは1980年からであればボブ・コッゲシャルかクリフ・スペンサーかもしれない[7]。

参考文献

関連情報