ログインユーザーのホームディレクトリを変更したい
ことがあると思う。
特定のユーザにWebサーバのドキュメントルート/var/www/html/配下のディレクトリに
FTP接続を用いてコンテンツをアップロードさせたい時など。
そこで、
ユーザーの情報を変更する「usermod」コマンド
を使ってみる。
ちなみに、ユーザーモッドと読む。
語源はuserの情報をmodify(モディファイ)するから。
今回はusermodコマンドを使って
「hellojapan」ユーザーのホームディレクトリを
「/home/hellojapan」から「/home/hellotokyo」に変更
してみる。
その前に、下準備として
「man usermod」 と 「LANG=ja_jp.utf-8 man usermod」を使って
マニュアルから一部引用してみる。
-d, --home HOME_DIR The user's new login directory. If the -m option is given the contents of the current home directory will be moved to the new home directory, which is created if it does not already exist.
-d home_dir 新しいログインディレクトリ。 -m オプションを用いると、現在のホームディレクトリの 中身が新しいホームディレクトリに移動される(後者が存在しない場合は新たに作成される)。
さて、実際に変更してみます。
1.変更前の確認。fingerコマンドを使ってみました。
[root@vps1 ~]# finger -l hellojapan Login: hellojapan Name: (null) Directory: /home/hellojapan Shell: /bin/bash Never logged in. No mail. No Plan. [root@vps1 ~]#
2.現在のホームディレクトリ配下を確認しておきます。
[root@vps1 ~]# ls -la /home/hellojapan/
total 28
drwx------ 4 hellojapan hellojapan 4096 Jun 22 00:42 .
drwxr-xr-x 5 root root 4096 Jun 22 00:42 ..
-rw-r--r-- 1 hellojapan hellojapan 33 Jun 22 00:42 .bash_logout
-rw-r--r-- 1 hellojapan hellojapan 176 Jun 22 00:42 .bash_profile
-rw-r--r-- 1 hellojapan hellojapan 124 Jun 22 00:42 .bashrc
drwx------ 2 hellojapan hellojapan 4096 Jun 22 00:42 .ssh
drwxr-xr-x 6 hellojapan hellojapan 4096 Jun 22 00:42 Maildir
[root@vps1 ~]#
3.usermodコマンドにオプションを付けて、hellojapanユーザーのホームディレクトリを「/home/hellotokyo」に変更しホームディレクトリ配下のコンテンツを新しいディレクトリ配下に移動します。
[root@vps1 ~]# usermod -d /home/hellotokyo -m hellojapan [root@vps1 ~]#
4.ユーザーのホームディレクトリを変更したあと、変更前ディレクトリを確認します。
[root@vps1 ~]# ls -la /home/hellojapan/
ls: /home/hellojapan/: No such file or directory
[root@vps1 ~]#
5.変更後の状態を再度fingerコマンドで確認します。
[root@vps1 ~]# finger -l hellojapan Login: hellojapan Name: (null) Directory: /home/hellotokyo Shell: /bin/bash Never logged in. No mail. No Plan. [root@vps1 ~]#
6.変更後のディレクトリ配下に移動前ホームディレクトリ配下のコンテンツが移動している事を確認します。
[root@vps1 ~]# ls -la /home/hellotokyo/
total 28
drwx------ 4 hellojapan hellojapan 4096 Jun 22 00:42 .
drwxr-xr-x 5 root root 4096 Jun 22 00:44 ..
-rw-r--r-- 1 hellojapan hellojapan 33 Jun 22 00:42 .bash_logout
-rw-r--r-- 1 hellojapan hellojapan 176 Jun 22 00:42 .bash_profile
-rw-r--r-- 1 hellojapan hellojapan 124 Jun 22 00:42 .bashrc
drwx------ 2 hellojapan hellojapan 4096 Jun 22 00:42 .ssh
drwxr-xr-x 6 hellojapan hellojapan 4096 Jun 22 00:42 Maildir
[root@vps1 ~]#
以上でユーザーのホームディレクトリ変更は完了しました。
今回はユーザーのホームディレクトリが何処かを確認するために「finger」コマンドを使いましたが、その他にもユーザー情報が記載されている/etc/passwdファイルから、ユーザのホームディレクトリを特定する方法もあります。
[root@vps1 ~]# grep hellojapan /etc/passwd hellojapan:x:20003:20003::/home/hellotokyo:/bin/bash [root@vps1 ~]#
今日はここまで!(・∀・)
以上
参考:
CodeZine:usermod ユーザーのアカウントを変更する
http://codezine.jp/unixdic/w/usermod
weblio:modifyの意味
http://ejje.weblio.jp/content/modify
コメント