次のようなファイルがあるとしましょう。パノラマ彼のホームディレクトリはにあります/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は起動ファイルを読み取れないことを知らせ、デフォルトのプロンプトを表示します。.bashrc
panos
/home/panos
x
複数のユーザーが同じホームディレクトリを持つことは非常にまれです(ホームディレクトリが重要ではないシステムアカウントを除く)。権限で実行する必要がある作業は、これを達成する必要がある作業によって異なります。少なくとも、これらすべてのユーザーが自分のホームディレクトリを読むことを許可したいと思います。
答え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 既存のホームディレクトリの新しい場所を避け、ユーザを再作成します。