web-dev-qa-db-ja.com

ターミナルで既存のユーザーのデフォルトのホームディレクトリを作成します

どうすればいいですか?ホームディレクトリなしでユーザーを作成しましたが、ここで作成したいと思います。 new_userという名前のフォルダーだけでなく、すべてのフォルダーと隠しファイルなどを含むデフォルトのホームディレクトリが必要です。

143
Jo Rijo

以下を使用します(ルートとして、またはルートでない場合はSudoを使用)。

mkhomedir_helper username

これが機能するには、フォルダー/home/usernameが存在していてはなりません。

X関連のフォルダー(デスクトップ、ダウンロードなど)の場合、グラフィック環境でログインする必要があります。最初にログインしたときに自動的に生成されます。

221
kavadias

サブディレクトリ(ドキュメント、ダウンロードなど)は、ユーザーがGNOMEを介して最初にログインしたときに自動的に作成されます。ただし、ホームディレクトリが適切な権限で作成されている場合に限ります。デモは次のとおりです。

alaa @ aa-lu:〜$ sudo useradd testinguser 
alaa @ aa-lu:〜$ Sudo passwd testinguser 
新しいUNIXパスワードの入力:
新しいUNIXパスワードの再入力:
 passwd:パスワードは正常に更新されました
alaa @ aa-lu:〜$ sudo ls -l /home
total 20 
 drwxr-xr-x 55 alaa alaa 4096 Aug 22 22:00 alaa 
 drwx ------ 2 root root 16384 Jun 5 09:46 lost + found 
alaa @ aa-lu:〜$ sudo mkdir /home/testinguser
alaa @ aa-lu:〜$ Sudo chown testinguser:testinguser /home/testinguser
alaa @ aa-lu:〜$ ls -l /home
total 24 
 drwxr-xr-x 55 alaa alaa 4096 Aug 22 22:00 alaa 
 drwx ------ 2 root root 16384 Jun 5 09:46 lost + found 
 drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:03 testinguser 
alaa @ aa-lu:〜$ ls -l /home/testinguser/
total 0 
alaa @ aa-lu:〜$

/etc/passwdのエントリを確認することにより、ユーザーのホームディレクトリが正しく設定されていることを確認できます。デフォルトでは、/home/testinguserに設定されたホームディレクトリを確認する必要があります。

alaa @ aa-lu:〜$ grep testinguser /etc/passwd
testinguser:x:1001:1001 ::/ home/testinguser:/ bin/sh 

そこにホームディレクトリ/home/testinguserが表示されない場合は、コマンドSudo usermod -d /home/testinguser testinguserを実行して更新する必要がありますが、このコマンドはデフォルトで設定される必要があるため使用する必要はありません( useraddのマンページによると)。

その後、アカウントからログアウトし、testinguserで再度ログインしました。自動的に作成されるサブディレクトリは次のとおりです。

alaa @ aa-lu:〜$ ls -l /home/testinguser/
total 36 
 drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:05 Desktop 
 drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:05ドキュメント
 drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:05ダウンロード
 drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:05 Music 
 drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:07 Pictures 
 drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:05 Public 
 drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:05テンプレート
 drwxr-xr-x 2 testinguser testinguser 4096 Aug 23 10:05ビデオ

/etc/skelの内容をコピーする必要はありませんでした。

可能であれば、これらの手順に従って別の新しいユーザーを作成してみてください。完了したら、Sudo deluser testinguser && Sudo rm -r /home/testinguserでこの新しいユーザーを削除できます。

これがすべてうまくいかなかった場合、それはバグだと思います。

33
Alaa Ali

更新:ソリューションが壊れており、私にとっても機能していません。

ユーザーのホームディレクトリが存在しない場合に作成する場合は、-mフラグを指定してuseraddコマンドを実行します。これにより、/etc/skelディレクトリからすべてのファイルがコピーされます。

useradd -m username

システムの設定を構成する必要がある場合があります。 manページによると:

  -m, --create-home
    Create the user's home directory if it does not exist. The files and directories
    contained in the skeleton directory (which can be defined with the -k option)
    will be copied to the home directory.

    By default, if this option is not specified and CREATE_HOME is not enabled, no
    home directories are created.

そしてさらに示します:

CONFIGURATION

   The following configuration variables in /etc/login.defs change the behavior
   of this tool:

   CREATE_HOME (boolean)
       Indicate if a home directory should be created by default for new users.
12
crafter

adduserコマンドを使用して新しいユーザーを作成した場合、新しいユーザーのホームディレクトリを作成する必要はありません。 /homeディレクトリ内のユーザー名で名前が付けられ、次のサブディレクトリを持つホームディレクトリ:デスクトップ、ダウンロード、ドキュメント、音楽、写真、ビデオ(およびその他)、新しいユーザー用に自動的に作成されます。

useraddコマンドを使用して新しいユーザーを作成した場合、ターミナルで次のコマンドを実行します。

Sudo -i     #enter your user password when you are asked
gedit /etc/passwd

/etc/passwdファイルをルートとして編集するには(これが最も重要な手順です)。新しいユーザーの名前の行を見つけて、デフォルトのホームディレクトリを次のように設定します。

new_username:x:1001:1001::/home/new_username:/bin/sh

この行では、新しいユーザーの実名を追加したり、デフォルトのシェルを設定したりすることもできます。このようなもの:

new_username:x:1001:1001:Real New Username,,,:/home/new_username:/bin/bash

他の変更を加えないでください。

ファイルを保存した後、ルートアカウントから出る前に、次のコマンドを実行します。

mkdir /home/new_username                                #to create the directory /home/new_username
cp -r /etc/skel/. /home/new_username                    #to copy skeleton files to /home/new_username
chown -R new_username:new_username /home/new_username   #to change the owner of /home/new_username to the new user

これらすべての後、最初のログイン後に、新しいユーザーのホームフォルダーが自動的に入力されます。

参照: アカウント作成後にユーザーのホームフォルダを作成する方法?

5
Radu Rădeanu

本当に必要なのは、それを機能させるためのホームフォルダです。ルートとして、

cd /home
cd mkdir username
chown username username
chgrp username username

初めてログインすると、必要なすべてのファイルが作成されるはずです。

drwxr-xr-x 16 fotanus fotanus 4096 Jun  4 17:46 .
drwxr-xr-x  9 root    root    4096 Jun  4 17:43 ..
drwx------ 11 fotanus fotanus 4096 Jun  4 17:46 .cache
drwx------ 13 fotanus fotanus 4096 Jun  4 17:46 .config
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Desktop
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Documents
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Downloads
drwx------  3 fotanus fotanus 4096 Jun  4 17:46 .gconf
drwxrwxr-x  2 fotanus fotanus 4096 Jun  4 17:46 .gstreamer-0.10
-rw-------  1 fotanus fotanus  334 Jun  4 17:45 .ICEauthority
drwxr-xr-x  3 fotanus fotanus 4096 Jun  4 17:45 .local
drwx------  4 fotanus fotanus 4096 Jun  4 17:45 .mozilla
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Music
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Pictures
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Public
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Templates
drwxr-xr-x  2 fotanus fotanus 4096 Jun  4 17:45 Videos
-rw-------  1 fotanus fotanus   55 Jun  4 17:45 .Xauthority
-rw-------  1 fotanus fotanus  711 Jun  4 17:45 .xsession-errors
3
fotanus