この簡単なガイドでは、mkhomedir_helper
を使用して、LinuxおよびUnixライクなオペレーティングシステムで既存のユーザーのホームディレクトリを作成する方法について説明します。 コマンド。
はじめに
ご存知のとおり、adduser
を使用して、LinuxおよびUnixライクなシステムで新しいユーザーを作成できます。 コマンドでしょ?はい、そうです!新しいユーザーを追加すると、それぞれのユーザーのホームディレクトリがデフォルトで自動的に作成されます。
Linuxでユーザーを作成する別のコマンドもあります。これはuseradd
と呼ばれます 。
useradd
を使用して数人のユーザーを作成した後 Alpine Linuxのコマンドで、ユーザーの$HOMEディレクトリが作成されていないことに気づきました。私は前にそれを知りません。
useradd
を読んだ後 コマンドのマニュアルページで、-m
を含める必要があることに気づきました。 (または--create-home
)以下のような$ HOMEディレクトリで新しいユーザーを作成するオプション:
$ sudo useradd -m user_name
または、
$ sudo useradd --create-home user_name
しかし、私はこのオプションを含めるのを忘れて、いくつかの新しいユーザーを作成し続けました。私のような場合は、既存のユーザーを削除せず、-m
を使用して再作成してください。 オプション。
mkhomedir_helper
を使用すると、Linuxの既存のユーザーのホームディレクトリを簡単に作成できます。 コマンド、ユーザーを削除および再作成せずに。
Linuxで既存のユーザーのホームディレクトリを作成する
mkhomedir_helper
pam_mkhomedir
のヘルパープログラムです。 モジュール。 pam_mkhomedir
PAMモジュールは、セッションの開始時にユーザーのホームディレクトリが存在しない場合、それを作成します。
まず、このモジュールはホームディレクトリを作成し、指定されたskelディレクトリの内容をそれらに入力します。 umask
のデフォルト値 0022
です path-to-skelのデフォルト値は/etc/skel
です。 。
mkhomedir_helper
を使用して、既存のユーザーのホームディレクトリを作成する方法を説明する例を示します。 コマンド。
まず、 ostechnixという名前の新しいユーザーを作成しましょう useradd
を使用する コマンド:
$ useradd ostechnix
ユーザーにパスワードを設定します:
$ passwd ostechnix
次に、新しいユーザーに切り替えます:
$ su - ostechnix
次のエラーメッセージが表示されます:
su: warning: cannot change directory to /home/ostechnix: No such file or directory
上記の出力にあるように、ユーザーostechnixのホームディレクトリが存在しないため、このエラーが発生します。
/home
を調べて確認しましょう ディレクトリ:
$ ls -l /home/ total 0 drwx------ 1 vagrant vagrant 72 Dec 15 13:19 vagrant
確かに、ユーザーostechnixのホームディレクトリはありません。
それでは、mkhomedir_helper
を使用して、既存のユーザー(この場合はostechnix)のホームディレクトリを作成しましょう。 指図。
これを行うには、すでにログインしている場合は、最初にユーザーostechnixからログアウトします。
$ exit
次のコマンドを実行して、 ostechnixというユーザーのホームディレクトリを作成します。 :
$ sudo mkhomedir_helper ostechnix
上記のコマンドはroot
として実行する必要があることに注意してください ユーザーまたは別のsudo
ユーザー。
次に、ユーザーostechnixに切り替えます:
$ su - ostechnix
今回は、ostechnixというユーザーのホームディレクトリがmkhomedir_helper
で作成されているため、警告メッセージは表示されません。 コマンド。
[[email protected] ~]$ pwd /home/ostechnix
詳細については、manページを参照してください:
$ man mkhomedir_helper
これで、ユーザーを作成した後にホームディレクトリを作成する方法がわかりました。これは、-m
を含めるのを忘れた場合に役立ちます。 useradd
でユーザーを作成する際のオプション 指図。
useradd
を使用する代わりに 、adduser
を使用できます オプションなしでユーザーのホームディレクトリを自動的に作成するコマンド。
関連記事:
- Linuxでホームディレクトリを新しいパーティションまたはディスクに移動する方法
- Alpine LinuxのユーザーにSudo権限を追加、削除、付与する
- Arch LinuxのユーザーにSudo権限を追加、削除、付与する
- FedoraのユーザーにSudo権限を追加、削除、付与する
- CentOSのユーザーにSudo権限を追加、削除、付与する
- UbuntuのユーザーにSudo権限を追加、削除、付与する
PixabayのFreeClipartsによる注目の画像。