~/.bashrc ファイルはどの時点で作成されますか?

~/.bashrc ファイルはどの時点で作成されますか?

たとえば、コマンド を実行した場合adduser test、ユーザーのホーム ディレクトリの作成時に .bashrc が自動的に作成されますかtest? ユーザーの作成時に作成されない場合は、どのような条件で作成されますか?

また、ユーザーのホームディレクトリに .bashrc ファイルを追加すると、OS によって上書きされますか?

前もって感謝します。

答え1

ほとんどの場合、初期ユーザー ファイル ( を含む.bashrc) は、ユーザーが作成されたときに作成されます。これらは、 という名前の「スケルトン」ディレクトリに保存されているファイルのコピーです/etc/skel。主なコマンドは 2 つあります。

  • 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。新しいユーザーのログイン シェルが何であっても、「スケルトン」ディレクトリの内容全体が/etc/skel新しいユーザーのホーム ディレクトリに設定されます。

    • このファイル内の変数SKEL=は、「スケルトン」ユーザー ファイルを含むデフォルトのディレクトリを指定します。

    • このオプションは--no-create-home、コマンドにユーザーのホーム ディレクトリを作成させないように強制しadduser、'skeletal' ディレクトリの内容はコピーされません。

    • オプション以外の引数 1 つとオプションを指定して呼び出すと--systemadduserシステム ユーザーが追加されます...ホーム ディレクトリは、通常のユーザーと同じルールで作成されます。新しいシステム ユーザーにはシェルが与えられ/bin/false(オプションで上書きされない限り--shell)、ログインは無効になります。スケルトン構成ファイルはコピーされません。 ...マニュアルページより。


さらに、ユーザーがGUIツールで作成された場合、User Accounts結果はコマンド と同じになりますadduser


参考文献:

関連情報