Learning/└◆Linux

Linux – /etc/skel

Gopzero 2016. 11. 16. 01:23

 

/etc/skel 디렉토리에는 사용자를 처음 생성했을 때 해당 계정의 홈디렉토리에 기본으로 들어가는 파일을 지정한다. 즉, 사용자 생성시 /etc/skel안에 있는 파일이 계정 홈디렉토리로 복사된다. 그 이름에서도 대략 유추될 수 있듯, skel은 skeleton 즉, 사용자 홈디렉토리의 뼈대라 할 수 있다.

 

 

(여기서 홈디렉토리란 유닉스계열 운영체제(엄밀히는 Unix-like)에서 각 사용자 계정별로 할당하는 공간이다. 여기에 계정별 파일, 디렉토리, 프로그램, 설정등을 저장하는데, 개인 취향대로 달리 사용할 수 있는 프로그램 및 시스템 설정 내용을 각각 계정별로 달리 설정하여 사용할 수 있다. (예로, vim 에디터 설정을 홈디렉토리의 .vimrc 파일에 설정할 경우, 인덴트나 syntax같은 옵션을 사용자별로 달리 지정하여 사용할 수 있다.)

 

 

시스템 관리자는 /etc/skel 안의 기본 파일 및 디렉토리를 지정하여 시스템에 추가되는 모든 사용자들이 초기에 같은 환경에서 시작할 수 있도록 설정할 수 있다. 특히나 os를 처음 설치하면 여기에 .bash_profile, .bashrc 등의 여러 설정 파일들이 기본으로 지정되는데 이를 통해 관리자는 사용자 추가 때마다 일일이 설정을 세팅할 필요 없이, 자동으로 세팅될 수 있도록 할 수 있다.

 

 

/etc/skel의 위치는 /etc/default/useradd의 SKEL 항목에서 지정할 수 있다. /etc/default/useradd 파일에서 SKEL= 뒤에 원하는 경로로 수정하면 된다. 기본으로 /etc/skel로 지정되어 있다.

 

 

/etc/skel은 되도록 작게 유지하는 것이 좋다. 물론, 사용자 계정 추가 시 공통으로 필요한 환경 설정을 지정해도 되지만 사용자 계정 추가 이후 변경되는 모든 설정은 사용자(혹은 관리자)들이 일일이 수정을 해줘야하는 번거로움이 생긴다. 전체 시스템에 해당하는 설정의 경우 전역 설정 파일(/etc/profile 등)에서 설정을 해주는 것이 좋다.