![새 사용자를 생성할 때 홈 디렉터리가 생성되지 않는 이유는 무엇입니까?](https://linux55.com/image/47214/%EC%83%88%20%EC%82%AC%EC%9A%A9%EC%9E%90%EB%A5%BC%20%EC%83%9D%EC%84%B1%ED%95%A0%20%EB%95%8C%20%ED%99%88%20%EB%94%94%EB%A0%89%ED%84%B0%EB%A6%AC%EA%B0%80%20%EC%83%9D%EC%84%B1%EB%90%98%EC%A7%80%20%EC%95%8A%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
useradd
Ubuntu 서버 가상 머신에서 명령을 사용하여 새 사용자(testuser)를 생성했습니다. 사용자를 위한 홈 디렉터리를 만들고 루트 권한을 부여하고 싶습니다.
그런데 신규로 로그인을 하면 홈디렉토리가 없다고 나옵니다. 내가 뭘 잘못했나요?
답변1
마침내 나는 이 작업을 직접 수행하는 방법을 알아냈습니다.
useradd -m -d /home/testuser/ -s /bin/bash -G sudo testuser
-m
홈 디렉터리가 없으면 새로 만듭니다.
-d
기본 홈 디렉터리 위치를 재정의합니다.
-s
사용자의 로그인 쉘을 설정합니다.
-G
사용자가 속해야 하는 그룹의 쉼표로 구분된 목록이 필요합니다.
바라보다man useradd
더 알아보기.
답변2
편집자 주: 이 답변은 질문에 대해 기술적으로 정확하지만 의견의 토론에서는 OP가 useradd
이를 쉘 명령으로 직접 사용하지 않고 스크립트에서 사용하려고 시도했으며 adduser
해당 컨텍스트에 맞지 않는다는 점을 명확히 했습니다.
대화형으로 사용자를 생성할 때는 일반적으로 대신 를 사용하는 것이 adduser
좋습니다 useradd
.
useradd는 사용자를 추가하기 위한 저수준 유틸리티입니다.Debian에서
관리자는 일반적으로 adduser(8)를 사용해야 합니다..
adduser
useradd
기본적으로 사용자 디렉터리 생성과 같은 작업을 수행하는 보다 친숙한 프런트 엔드입니다 . 사용자 이름만 인수로 사용하여 실행하면 비밀번호와 같은 추가 정보를 입력하라는 메시지가 표시됩니다.
$ sudo adduser testuser
Adding user `testuser' ...
Adding new group `testuser' (1002) ...
Adding new user `testuser' (1002) with group `testuser' ...
Creating home directory `/home/testuser' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for testuser
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]
일반적으로 필요한 그룹도 자동으로 설정되므로 adduser
대신 use를 사용하는 것이 좋습니다 . useradd
설명된 대로 man adduser
:
adduser 및 addgroup은 /etc/adduser.conf의 명령줄 옵션 및 구성 정보를 기반으로 시스템에 사용자와 그룹을 추가합니다. useradd, groupadd 및 usermod 프로그램과 같은 하위 수준 도구에 대한 더 친숙한 프런트 엔드이며 기본적으로 Debian 정책을 준수하는 UID 및 GID 값을 선택하고, 뼈대 구성으로 홈 디렉터리를 생성하고, 사용자 정의 스크립트를 실행하는 등의 작업을 수행합니다. 기능.
답변3
useradd -m LOGIN
사용자의 홈 디렉토리 생성
답변4
다음 명령을 사용했을 때 이런 일이 일어났습니다.
sudo useradd -d /home/ssd2/yuwen yuwen
명령을 입력한 후에는 그러한 파일이 없으며( cd
확인하기 위해 &를 사용함 ls
) 이를 사용하면 su yuwen
새 사용자로 성공적으로 변경되지만 홈 디렉토리는 동일하게 유지됩니다(그렇지 않아야 ssd2/yuwen
함).
cat /etc/passwd
또한 새 사용자가 생성되었는지 확인하기 위해 명령을 사용했습니다 . 생성되었으나 홈 디렉터리가 유효하지 않습니다.
제가 설명한 것과 동일한 상황에 처해 있는 경우 해결 방법은 다음과 같습니다.
- 슈퍼유저 계정을 사용하여 Linux 서버에 로그인하면 다음을 사용할 수 있습니다.
sudo
cd
새 사용자 디렉터리를 배치할 디렉터리를 사용합니다 . 내 경우에는 디렉토리가/home/ssd2
- 새로운 사용자를 위한 디렉토리를 생성 하기 위해
mkdir
제 경우에는mkdir yuwen
sudo chown yuwen:yuwen /home/ssd2/yuwen
새로운 사용자에게 소유권을 부여하는 데 사용됩니다 .- 사용
sudo chmod -R yuwen /home/ssd2/yuwen
, 승인
그런 다음 , su yuwen
이어서 을 사용하여 올바른 디렉토리에 있는지 확인할 수 있습니다.cd ~
pwd