現在ログインしているユーザーのホームディレクトリを変更する方法


17

現在CentOSサーバーにログインしていますが、ホームディレクトリをから/home/myuserName/に変更したいと思います/var/www/html/

私は以下のコマンドを試しました:

> sudo usermod -d /var/www/html myuserName

しかし、これは私にエラーを与えます:

usermod: user myUserName is currently logged in

2
私はあなたが何を意味するのかわからない、セッションのためにあなたのホームディレクトリHOME=/var/www/htmlを変更ます。
Archemar 2016

それは役立ちますが、現在のセッションだけでなく、ホームディレクトリを永続的に変更したいと思います。
Mohan 2016

回答:


17

短い答え:できません。

長い答え

HOME/etc/passwd6番目のフィールドにdirが設定されています。ログイン時に読み込まれ、シェルはこのホームディレクトリから開始されます。

joeのホームディレクトリを変更する適切な方法は次のとおりです。

  • ジョーをログオフさせます。
  • usermod -d /new/home joe 後続のセッションのホームディレクトリを変更するために使用します。

セッションを実行したら、次の2つのことを行う必要があります。

  • $HOMEセッションのホームディレクトリを変更するために編集します(すべてのアクティブセッションで繰り返されます)。
  • sudo vipw次のセッションのためにホームディレクトリを編集するために使用します

また、権限/所有権に問題がある可能性があることに注意してください /var/www/html


1
/ etc / passwdの編集は常に私のために働いた。下記の@ 7171uを参照してください
jeffmcneill 2017年

logoff / logonなしで/ etc / passwdを編集していますか?
Archemar 2017年

ログインしているアカウントの/ etc / passwdを編集し、その同じアカウントで新しいセッションを開始すると、新しいホームディレクトリに従います。すでにログインしているアカウントの場合、そのセッションにはまだ環境の古いホームの場所があります。
jeffmcneill 2017年

8

変更しようとしているユーザーでログインしている場合、usermodコマンドは機能しません。

usermodのマニュアルページからそれは言う:

警告usermodでは、ログインしているユーザーの名前を変更することはできません。ユーザーの数値ユーザーIDを変更する場合は、このコマンドの実行時に、指定したユーザーがプロセスを実行していないことを確認する必要があります。crontabファイルの所有者は手動で変更する必要があります。atジョブの所有者は手動で変更する必要があります。NISサーバーでNISに関連する変更を行う必要があります。

別のユーザーでログインして、コマンドを再実行してください。

それが不可能な場合は、手動で/ etc / passwdファイルを編集できます(これは実際にはusermodコマンドが行っていることです)。これを行う場合は、誤って何か愚かなことをした場合に備えて、ファイルをバックアップしてください。


7

/etc/passwd現在ログインしているユーザーのホームディレクトリを変更するには、ファイルを編集する必要があります。

を編集し/etc/passwdsudo vipw、ユーザーのホームディレクトリを変更します。

vipwはデータの破損を防ぐためにロックを設定するため、vimまたは他のエディタ以外で強く推奨vipwされます。


2

解決したいことに応じて、いくつかの可能な回避策:

オプション1. HOME=/var/www/html.bashrcに追加する

オプション2.名前/home/myusernameを変更し、目的のディレクトリへのシンボリックリンクを作成します。

mv /home/myusername /home/myusername-old
ln -s /var/www/html /home/myusername

悪い癖。その後、myusername-oldを他のユーザーが使用することはできません
GeoMint

-2

これは一時的にのみ行うことができます。つまり、そのユーザーとしてログインするたびに、次の1つのコマンドを実行する必要があります。

export HOME=/var/www/html

このようにして、ほとんどのアプリケーションに、ホームディレクトリが上記で使用した場所であると思わせることができます。

~もポイントし始め/var/www/htmlます。

これが私のために働いたアプリケーションは、NPMとMavenでした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.