6月 222012
 
シェアする

ログインユーザーのホームディレクトリを変更したい

ことがあると思う。

特定のユーザに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

このエントリーをはてなブックマークに追加

コメント大歓迎!質問も受け付けておりますヽ(*´∀`)ノ