홈 디렉터리가 이미 존재하는 새 사용자를 만드는 방법은 무엇입니까?

홈 디렉터리가 이미 존재하는 새 사용자를 만드는 방법은 무엇입니까?

다음과 같은 파일이 있다고 가정해 보겠습니다.파노라마그의 홈 디렉터리는 에 있습니다 /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파일을 읽을 수 있거나 Jerry가 액세스할 수 없기 때문에 자신의 을(를) 읽을 수 있는 권한이 없습니다. 디렉토리 자체( 권한). 따라서 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 기존 홈 디렉토리의 새 위치를 피하고 사용자를 다시 생성하십시오.

관련 정보