Linux で削除したのと同じユーザ名でユーザを追加したらパーミッションで困った

削除したのと同じユーザ名でユーザを追加した

見出しのままなのですが、僕は何も考えず userdel yayoi_thyme した後、 useradd yayoi_thyme としたわけです。ホームディレクトリは残してあったのでそのまま使いました。

ログインするとエラー

yayoi_thyme でログインすると下のようなエラーが出ます。

bash: /home/yayoi_thyme/.bashrc: 許可がありません

パーミッションは問題なし

エラーの文言からパーミッションの問題だとすぐに分かるのですが、ホームディレクトリとかその他のパーミッションは下のように表示されて問題なさそうです。

# ls -l
drwx------. 2 yayoi_thyme yayoi_thyme 79 10月 11 2016 yayoi_thyme

伝家の宝刀

chmod 777 /home/yayoi_thyme

まぁとりあえず抜きました。そしたらログインしときにエラーが出ません。どうなっているんでしょう? まるでユーザ yayoi_thyme が所有者でもグループでもないような挙動……。

UID と GID

いろいろと試行錯誤して分かったのは、ユーザ名とグループ名は同じでもユーザ ID とグループ ID は違っていたということです。

アルファベットとかで表記するユーザ名やグループ名に対して、ユーザ ID とグループ ID は数値です。新しく追加される度にインクリメントされて増えていくので、今回のような困ったことが発生しました。

解決

まずはディレクトリやファイルのユーザ ID とグループ ID を見てみます。

# ls -n /home/yayoi_thyme
drwx------. 2 1000 1000 79 10月 11 2016 yayoi_thyme

次はユーザのを見てみます。

# id yayoi_thyme
uid=1001(yayoi_thyme) gid=1001(yayoi_thyme) groups=1001(yayoi_thyme)

ユーザ ID とグループ ID を変更するなら下のようになります。

# usermod -u 1000 yayoi_thyme
# groupmod -g 1000 yayoi_thyme

ディレクトリやファイルの所有者をユーザ ID とグループ ID で指定するには下のようにします。

# chown 1001:1001 /home/yayoi_thyme

おまけで分かったこと

削除したユーザ名とかって、知らないところに残り続けるってことっぽいですね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です