~/.bashrc 파일은 어느 시점에 생성되나요?

~/.bashrc 파일은 어느 시점에 생성되나요?

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

또한 사용자의 홈 디렉터리에 .bashrc 파일을 추가하면 OS가 해당 파일을 덮어쓰게 됩니까?

미리 감사드립니다.

답변1

대부분의 경우 초기 사용자 파일( 포함 .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.

    • 이 명령의 구성 파일은 /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.


참고자료:

관련 정보