내가 달성하고 싶은 것:
다시 입력하고 전체 설정 프로세스를 수행할 필요 없이 각각 동일한 시작 설정, 동일한 애플리케이션(예: Slack), 동일한 구성(예: conda 설치 및 커널 정의) 등을 사용하여 이미 설정된 사용자를 사용하여 여러 명의 새 사용자를 생성합니다. .
내가 시도한 것:
1: 이 질문을 읽었습니다. Linux 사용자 복제(다른 사용자를 기반으로 사용자 복사)그리고 이 답을 찾았습니다https://unix.stackexchange.com/a/268405, 나는 그것을 시도했고 올바른 권한과 모든 것을 가진 새 사용자를 생성했지만 내가 바라던 것처럼 모든 것을 복사하지는 않았습니다.
2: 제3자 블로그의 질문과 답변에 복사하여 붙여넣었거나 "예, Linux는 기본적으로 지원하지 않습니다"라는 내용을 많이 읽었습니다. 따라서 위의 스크립트 답변은 다음과 같습니다. ).
새 사용자를 처음부터 설정할 필요가 없도록 계정을 원하는 상태로 설정한 후 사용자를 "복제"할 수 있습니까?
답변1
예, 가능합니다. 아주 오래된 것들이 /etc/skel
이것을 위해 설계되었습니다! 그러나 이것은 "복제"가 아니라 "새 사용자를 위한 템플릿 정의"입니다.
다음 을 사용하여 사용자 를 adduser
생성할 때/etc/skel
.bashrc
.profile
매우 무균적인 방식으로 사용자를 설정하는 경우(즉, 개인 콘텐츠 없이 원하는 방식으로 새로 생성 및 설정) 홈 디렉토리를 복사하면 /etc/skel/
새 사용자를 생성할 때 adduser
이러한 파일이 복사됩니다 . 새 사용자의 홈 디렉터리로 이동을 사용합니다 .
특정 사항에 대해:
- 시작 설정. 사용자별 서비스는 에 있습니다
~/.config/systemd/user
. 자동 시작 데스크탑 항목은 에 있습니다 .~/.config/autostart
기존 홈 디렉토리를 에 복사하여/etc/skel
이러한 항목을 보존할 수 있습니다 . - 애플리케이션(예: Slack). 데비안의 애플리케이션은 시스템 전체에 설치됩니다(또는 적어도 설치해야 합니다). 이를 사용한 경우
sudo apt install slack
타사 저장소에서 가져온 것이라도 시스템 전체에 설치됩니다. 패키지에 대해서는 잘 모르겠습니다snapd
. 우려 사항이 기존 시스템의 신규 사용자라면, 그렇습니다. 해당 신규 사용자를 위해 애플리케이션(예: Slack)도 설치됩니다. - 동일한 구성(예: conda 설치 및 커널 정의) 등. 이건 좀 범위가 넓습니다.
- 동일한 구성 예. 여기에는 어두운 테마, 브라우저 홈페이지, 브라우저 북마크, bash 별칭 등이 포함될 수 있습니다. 이는 홈 디렉토리에 저장되므로 홈 디렉토리를 복사하면
/etc/skel
해당 디렉토리가 보존됩니다. - 커널 정의, 커널은 시스템 전체에 적용됩니다. 동일한 시스템의 모든 사용자는 동일한 커널을 실행합니다.
- 콘다: 예, 모든 애플리케이션은 시스템 전체에 설치됩니다(이전 항목 참조). 알고 보니
conda
패키지 관리자였습니다. 시스템 전체에 무언가를 설치하면 아무 작업도 수행하지 않더라도 모든 사용자가 이를 갖게 됩니다/etc/skel
. 홈 디렉터리에 무언가를 설치하는 경우 해당 콘텐츠를/etc/skel
새 사용자의 홈 디렉터리 에 넣어야 합니다 .
- 동일한 구성 예. 여기에는 어두운 테마, 브라우저 홈페이지, 브라우저 북마크, bash 별칭 등이 포함될 수 있습니다. 이는 홈 디렉토리에 저장되므로 홈 디렉토리를 복사하면
/home/exampleuser
에 복사하기 전에 /etc/skel
이 작업을 수행하려면 새로운 무균 사용자 계정을 사용하고 있는지 확인하십시오. ssh private 및authorized_keys와 같은 항목도 홈 디렉터리에 있습니다. 아마도 이러한 일이 반복되는 것을 원하지 않을 것입니다. 여기에는 개인 데이터도 있을 수 있으므로 필요한 경우 모든 데이터를 삭제하세요.
또한 홈 디렉터리 외부의 사용자 권한은 복제되지 않습니다. 일반적으로 사용자는 자신의 디렉터리에 있는 콘텐츠만 소유해야 합니다.
권한에 대한 특별한 요구 사항이 있는 경우 이를 그룹에서 처리하도록 하는 것이 좋습니다. 예를 들어 사용자가 특정 명령에 액세스할 수 있도록 하려면 그룹에 대해 해당 권한을 정의한 다음 새 사용자가 생성될 때 해당 그룹에 속하도록 해야 합니다 sudo
./etc/sudoers