/home/myuserName/
現在CentOSサーバーにログインしており、ホームディレクトリをCentOSサーバーで変更したいと思います。/var/www/html/
次のコマンドを試しました。
> sudo usermod -d /var/www/html myuserName
しかし、これによりエラーが発生しました。
usermod: user myUserName is currently logged in
答え1
短い答え:あなたはできません。
長い答え:
HOME
ディレクトリは/etc/passwd
6番目のフィールドに設定されます。ログイン時にお読みください。シェルはこのホームディレクトリから始まります。
Joeのホームディレクトリを変更する正しい方法は次のとおりです。
- ジョーをログオフしてください。
usermod -d /new/home joe
後続のセッションのホームディレクトリを変更するために使用されます。
セッションが実行されたら、次の2つの作業を実行する必要があります。
$HOME
セッションのホームディレクトリを変更するには、編集します(すべてのアクティブセッションで繰り返し)。sudo vipw
次のセッションを編集するためのホームディレクトリ
また、権限/所有権の問題が発生する可能性があることに注意してください/var/www/html
。
答え2
/etc/passwd
現在ログインしているユーザーのホームディレクトリを変更するには、このファイルを編集する必要があります。
ユーザーのホームディレクトリを編集して変更します/etc/passwd
。sudo vipw
vipw
データの破損を防ぐために設定がロックされているので、vim
他のエディタに代わるものを強くお勧めします。vipw
答え3
変更したいユーザーとしてログインしている場合、usermodコマンドは機能しません。
usermodのマニュアルページには次のように記載されています。
注usermodでは、ログインしたユーザーの名前を変更することはできません。ユーザーの数値ユーザーIDを変更するには、このコマンドを実行するときに、指定されたユーザーが実行中のプロセスがないことを確認する必要があります。 crontabファイルの所有者を手動で変更する必要があります。すべてのジョブの所有者を手動で変更する必要があります。 NISサーバーでNISに関連する変更を行う必要があります。
別のユーザーとしてログインし、コマンドを再実行してみてください。
これが不可能な場合は、/etc/passwdファイルを手動で編集できます(実際にはusermodコマンドが実行する操作です)。これを行う場合は、誤って愚かなことを阻止する場合に備えて、ファイルを必ずバックアップしてください。
答え4
これは一時的にのみ実行できます。これは、このユーザーとしてログインするたびに次のコマンドを実行する必要があることを意味します。
export HOME=/var/www/html
これにより、ほとんどのアプリケーションを作成できます。考えるホームディレクトリは上記で使用した場所です。
~
また、指し始めます/var/www/html
。
私が使用するアプリケーションはNPMとMavenです。