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


21

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

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

前もって感謝します。


2
試してみただけなら、ここで尋ねるよりもずっと早くわかるでしょう。
スティグヘマー

回答:


30

ほとんどの場合、(含む初期ユーザーファイルは.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は、新しいユーザーのログインシェルの名前を変更します。新しいユーザーのログインシェルが何であっても、「骨格」ディレクトリのコンテンツ全体/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がユーザーのホームディレクトリを作成しないように強制します。それぞれ、「骨格」ディレクトリのコンテンツはコピーされません。

    • 一つの非オプション引数として呼び出された場合は--systemオプション、adduserシステムのユーザーを追加します...ホームディレクトリは、通常のユーザーのためのと同じ規則によって作成されます。新しいシステムユーザーはシェルを使用し/bin/false--shellオプションで上書きされない限り)、ログインを無効にします。骨格構成ファイルはコピーされません。 ...マニュアルページから。


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


参照:


2
useraddまた、ホームディレクトリを作成し/etc/skel-mオプションが提供されている場合のコピーをそのディレクトリに追加します。
-jwodder

4
2番目のコードブロックは引き続きuseraddコマンドで使用します。それはあるはずだったadduser
デビッドZ

2
また、ユーザーアカウントはを使用adduserしますか?
グンナルハルマルソン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.