現在CentOSサーバーにログインしていますが、ホームディレクトリをから/home/myuserName/
に変更したいと思います/var/www/html/
私は以下のコマンドを試しました:
> sudo usermod -d /var/www/html myuserName
しかし、これは私にエラーを与えます:
usermod: user myUserName is currently logged in
現在CentOSサーバーにログインしていますが、ホームディレクトリをから/home/myuserName/
に変更したいと思います/var/www/html/
私は以下のコマンドを試しました:
> sudo usermod -d /var/www/html myuserName
しかし、これは私にエラーを与えます:
usermod: user myUserName is currently logged in
回答:
短い答え:できません。
長い答え:
HOME
/etc/passwd
6番目のフィールドにdirが設定されています。ログイン時に読み込まれ、シェルはこのホームディレクトリから開始されます。
joeのホームディレクトリを変更する適切な方法は次のとおりです。
usermod -d /new/home joe
後続のセッションのホームディレクトリを変更するために使用します。セッションを実行したら、次の2つのことを行う必要があります。
$HOME
セッションのホームディレクトリを変更するために編集します(すべてのアクティブセッションで繰り返されます)。sudo vipw
次のセッションのためにホームディレクトリを編集するために使用しますまた、権限/所有権に問題がある可能性があることに注意してください /var/www/html
変更しようとしているユーザーでログインしている場合、usermodコマンドは機能しません。
usermodのマニュアルページからそれは言う:
警告usermodでは、ログインしているユーザーの名前を変更することはできません。ユーザーの数値ユーザーIDを変更する場合は、このコマンドの実行時に、指定したユーザーがプロセスを実行していないことを確認する必要があります。crontabファイルの所有者は手動で変更する必要があります。atジョブの所有者は手動で変更する必要があります。NISサーバーでNISに関連する変更を行う必要があります。
別のユーザーでログインして、コマンドを再実行してください。
それが不可能な場合は、手動で/ etc / passwdファイルを編集できます(これは実際にはusermodコマンドが行っていることです)。これを行う場合は、誤って何か愚かなことをした場合に備えて、ファイルをバックアップしてください。
解決したいことに応じて、いくつかの可能な回避策:
オプション1. HOME=/var/www/html
.bashrcに追加する
オプション2.名前/home/myusername
を変更し、目的のディレクトリへのシンボリックリンクを作成します。
mv /home/myusername /home/myusername-old
ln -s /var/www/html /home/myusername
HOME=/var/www/html
を変更します。