이미 존재하는 홈 디렉터리를 사용하여 새 사용자를 생성하려면 어떻게 해야 합니까?

이미 존재하는 홈 디렉터리를 사용하여 새 사용자를 생성하려면 어떻게 해야 합니까?

다음과 같은 사용자가 있다고 가정해 보겠습니다.파노라마그리고 그의 홈 디렉토리는 에 있습니다 /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 디렉토리의 파일을 복사하지 않습니다.

이것은 오류가 아니라 경고입니다. 일반적으로 홈 디렉토리를 생성하지 않는 이유는 홈 디렉토리가 존재하지 않는 사용자를 위한 것입니다. 여기서는 시스템 관리자의 오류일 가능성이 높습니다(예: 잘못된 복사-붙여넣기 또는 버그가 있는 스크립트). 실제로는 기존 홈 디렉토리를 사용하려고 하였으므로 이 경고를 무시하십시오.

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

Jerry로 로그인하셨습니다. bash 4.1이 Jerry로 실행되고 있습니다. Jerry는 자신의 를 읽을 수 있는 권한이 없습니다 ~/.bashrc. 그 이유는 파일이 Jerry가 속하지 않은 그룹에서만 .bashrc읽을 수 있거나 Jerry가 디렉토리 자체에 액세스할 수 없기 때문입니다( 권한). 그래서 bash는 시작 파일을 읽을 수 없다고 말하고 기본 프롬프트를 표시합니다.panos/home/panosx

동일한 홈 디렉터리에 여러 사용자가 있는 경우는 매우 드뭅니다(홈 디렉터리가 중요하지 않은 시스템 계정 제외). 권한에 대해 수행해야 하는 작업은 이를 통해 달성하려는 작업에 따라 다릅니다. 적어도 모든 사용자가 자신의 홈 디렉터리를 읽을 수 있도록 허용하고 싶을 것입니다.

답변2

물론이죠. 을 읽고 실행하려고 합니다 /home/panos/.bashrc. 해당 파일은 user 에 속하며 아마도 다음과 같이 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 home이 이미 존재하므로 다음과 같은 메시지가 표시됩니다.

bash-4.1$ bash 

mv 기존 집 디렉토리의 새 위치를 피하고 사용자를 다시 생성하려면

관련 정보