ホームディレクトリがすでに存在する新しいユーザーを作成する方法は?

ホームディレクトリがすでに存在する新しいユーザーを作成する方法は?

次のようなファイルがあるとしましょう。パノラマ彼のホームディレクトリはにあります/home/panos。その後、私は別のディレクトリを作成します。トム:

adduser Tom

ユーザーを作成トムホームディレクトリを持つ人は誰ですか?/home/Tom

問題は:新しいユーザーを作成し、他のユーザーのホームディレクトリを自分のホームディレクトリにするにはどうすればよいですか?たとえば、ユーザーを作成します。屋内便器そしてそれをユーザーのホームディレクトリに彼のホームディレクトリに渡します。パノラマ:

adduser -d /home/panos Jerry

ただし、次のエラーがあります。

adduser: warning: the home directory already exists.
Not copying any file from skel directory into it.

ただし、ファイルを見ると次のようになります/etc/passwd

tail -n 3 /etc/passwd
anthony:x:501:501::/home/anthony:/bin/bash
panos:x:502:502::/home/panos:/bin/bash
Jerry:x:503:503::/home/panos:/bin/bash

効果があったようです。しかし、Jerryでログインしようとすると、次のようになります。

[root@LinuxAcademy ~]# su Jerry
bash-4.1$ bash: /home/panos/.bashrc: Permission denied
bash-4.1$ 

これによりJerryとしてログインできず、プロンプトも変更されます(PS1)。

ではどうすればいいですか?可能ですか?

答え1

既存のホームディレクトリを使用してユーザーを作成しました。

adduser:警告:ホームディレクトリはすでに存在しています。
skelディレクトリからskelディレクトリにファイルはコピーされません。

これはエラーではなく警告です。ホームディレクトリを作成しない理由は、ホームディレクトリが存在してはいけないユーザーによるものです。ここではそうです。システム管理者のエラー(誤ったコピー - 貼り付けやバグのあるスクリプトなど)の可能性が高いです。既存のホームディレクトリを実際に使用したいので、この警告を無視してください。

[root@LinuxAcademy ~]# su Jerry
bash-4.1$ bash: /home/panos/.bashrc: Permission denied
bash-4.1$ 

あなたは実際にJerryとしてログインしています。 bash 4.1はJerryとして動作します。 Jerryには、Jerryが属していないグループ(おそらくJerryが属していないグループ)からのみファイルを~/.bashrc読み取ることができます。ディレクトリ自体(権限)。したがって、bashは起動ファイルを読み取れないことを知らせ、デフォルトのプロンプトを表示します。.bashrcpanos/home/panosx

複数のユーザーが同じホームディレクトリを持つことは非常にまれです(ホームディレクトリが重要ではないシステムアカウントを除く)。権限で実行する必要がある作業は、これを達成する必要がある作業によって異なります。少なくとも、これらすべてのユーザーが自分のホームディレクトリを読むことを許可したいと思います。

答え2

もちろんです。ファイルを読み込んで実行しようとしています/home/panos/.bashrc。このファイルはユーザーに属し、おそらくこれに似ているようにpanos設定されています。-rwx------だからJerry読んでみましたが読めませんでした。Permission denied、言った通りです。

Jerry実際にはそうかもしれません。はいログインしました。試してみてくださいwhoami

だからそれらを同じグループに入れてgroup-rxにするか、world-rxにします。ホームディレクトリ(実行可能、ディレクトリの場合は検索可能)に対しても同じことを行います。

答え3

$ mv /home/jerry /home/xxx
$ userdel -r jerry
$ rm -rf /var/spool/mail/jerry
$ useradd jerry
$ mv /home/xxx /home/jerry

jerry ホームがすでに存在しているため、次のメッセージが表示されます。

bash-4.1$ bash 

mv 既存のホームディレクトリの新しい場所を避け、ユーザを再作成します。

関連情報