~ / .bashrc 파일은 어떤 시점에 생성됩니까?


21

예를 들어, 명령을 실행 adduser test하면 .bashrc가 사용자의 홈 디렉토리 작성시 자동으로 작성 test됩니까? 사용자 생성시 생성되지 않은 경우 어떤 조건에서 생성됩니까?

또한 .bashrc 파일을 사용자의 홈 디렉토리에 추가하면 OS가 파일을 덮어 씁니까?

미리 감사드립니다.


2
방금 시도한 경우 여기에 요청하는 것보다 훨씬 빨리 찾을 수 있습니다.
Stig Hemmer

답변:


30

대부분의 경우 초기 사용자 파일 (포함 .bashrc)은 사용자가 생성 될 때 생성됩니다. 파일은 'skeletal'디렉토리에 저장된 파일의 사본이며 이름은 /etc/skel입니다. 두 가지 주요 명령이 있습니다.

  • useradd 백엔드 명령입니다. 옵션없이 직접 사용하는 경우 시스템 사용자 및 해당 그룹 만 작성됩니다.

    $ sudo useradd new-user
    $ ls -la /home/new-user/
    ls: cannot access '/home/new-user/': No such file or directory
    • useradd홈 디렉토리를 작성 /etc/skel하고 -m --create-home옵션이 제공되는 경우 사본으로 채 웁니다 . @jwodder의 의견 에 감사드립니다 .

    • 이 옵션 -s --shell은 새로운 사용자의 로그인 쉘 이름을 변경합니다. 새 사용자의 로그인 쉘이 무엇이든 'skeletal'디렉토리의 전체 내용이 /etc/skel새 사용자의 홈 디렉토리에 채워집니다.

    • -k --create-home옵션으로 다른 'skeletal'디렉토리 콜드를 정의합니다 .

    • 이 명령의 구성 파일은입니다 /etc/default/useradd.

  • adduser의 사용자 친화적이고 대화식 프런트 엔드입니다 useradd. 이 명령은 기본적으로 파일을 /etc/skel사용자의 $HOME디렉토리로 복사합니다 .

    $ sudo adduser new-user
    Adding user `new-user' ...
    Adding new group `new-user' (1002) ...
    Adding new user `new-user' (1002) with group `new-user' ...
    Creating home directory `/home/new-user' ...
    Copying files from `/etc/skel' ...
    Enter new UNIX password:
    Retype new UNIX password:
    passwd: password updated successfully
    Changing the user information for new-user
    Enter the new value, or press ENTER for the default
            Full Name []: New User
            Room Number []:
            Work Phone []:
            Home Phone []:
            Other []:
    Is the information correct? [Y/n]
    
    $ ls -a /home/new-user/
    .   ..   .bash_logout   .bashrc   .config   examples.desktop   .profile   .Xdefaults
    • 이 명령의 구성 파일은입니다 /etc/adduser.conf.

    • 새 사용자의 로그인 쉘에 대한 기본값은 변수에 의해 결정됩니다 DSHELL=. 옵션을 통해 지정할 수도 있습니다 --shell. 새 사용자의 로그인 쉘이 무엇이든 'skeletal'디렉토리의 전체 내용이 /etc/skel새 사용자의 홈 디렉토리에 채워집니다.

    • SKEL=이 파일 의 변수는 '스켈 레탈'사용자 파일이 포함 된 기본 디렉토리를 지정합니다.

    • 이 옵션 --no-create-home은 명령 adduser이 사용자 홈 디렉토리를 작성하지 않도록하고, 각각 'skeletal'디렉토리의 내용은 복사되지 않습니다.

    • 하나의 비 - 옵션 인수와 함께 호출하면 --system옵션, adduser시스템 사용자를 추가 할 것입니다 ... 홈 디렉토리는 일반 사용자와 동일한 규칙에 의해 생성된다. 새 시스템 사용자는 셸을 /bin/false사용하고 ( --shell옵션으로 재정의하지 않은 경우 ) 로그인을 사용하지 않도록 설정합니다. 골격 구성 파일은 복사되지 않습니다. ... 매뉴얼 페이지에서.


또한 GUI 도구를 사용하여 사용자를 만들면 User Accounts결과는 명령의 결과와 동일합니다 adduser.


참고 문헌 :


2
useradd또한 홈 디렉토리를 작성 /etc/skel하고 -m옵션이 제공되는 경우 사본으로 채 웁니다 .
jwodder 17

4
두 번째 코드 블록은 여전히 useradd명령에서 사용 합니다. 그게 adduser되었습니까?
David Z

2
또한 사용자 계정 은을 사용 adduser합니까?
Gunnar Hjalmarsson '11
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.