入力するとcd ~username
こんな感じです。
Can't find /home2/username
実際に~username
存在し、/home3
働いたりしました。奇妙なことは起こりませんでした。とにかくLinuxは私のファイルがすべて/home2
そこにあると思います。昨日はうまくいきました。それから私は次を見る:/home3
/home3
/home2
root pts/6 139.193.156.125 Thu Aug 29 05:48 still logged in
root pts/5 ng1.cptxoffice.n Thu Aug 29 05:43 still logged in
root pts/4 139.193.156.125 Thu Aug 29 05:35 still logged in
root pts/3 139.193.156.125 Thu Aug 29 05:31 still logged in
root pts/2 139.193.156.125 Thu Aug 29 05:12 still logged in
root pts/1 139.193.156.125 Thu Aug 29 02:20 still logged in
root pts/0 139.193.156.125 Thu Aug 29 01:34 still logged in
reboot system boot 2.6.32-279.22.1. Wed Aug 28 17:00 - 05:48 (12:48)
reboot system boot 2.6.32-279.22.1. Wed Aug 28 11:33 - 16:46 (05:13)
root pts/0 139.193.156.125 Mon Aug 26 05:12 - 01:23 (20:11)
root pts/0 139.193.156.125 Wed Aug 21 20:51 - 22:07 (01:15)
root pts/1 139.193.156.125 Wed Aug 21 06:50 - 22:01 (15:11)
所有者の状況はよくわかりませんng1.cptxoffice.net
。
Linuxがor~freemark
に属するようにどのように言いますか?/home2
/home3
/home2
から、または/home3
その逆にソフトリンクを配置することで、問題を一時的に解決できました。しかし、そもそもこれが起こる理由は理解できません。
ベストアンサー1
まず、アカウントのホームディレクトリがどのように設定されているかを知る必要があります。これは、次のコマンドを実行して見つけることができます。
getent passwd username | cut -d: -f6
(username
ユーザー名はどこにありますか?)私はそれが次のようになると思います/home/username
。この場合、/home3/username
ホームディレクトリを設定する必要があります。
usermod -d /home2/username username
(rootとして実行する必要があります。またはsudo
sudoersファイルにアクセスできる場合はrootとして実行する必要があります。)
sudo usermod -d /home2/username username
上記の場合ではなく、コマンドがgetent
ホームディレクトリをに返す場合は、そのディレクトリがすでにシンボリックリンクであることを/home
確認する必要があります。/home
ls -ld /home
出力が次の形式の場合(シンボリックリンクの表示とhome3の確認):
lrwxr-xr-x 1 root root 4 Aug 29 13:37 home@ -> home3
その後、home3を指すシンボリックリンクがすでに存在するので、それを変更する必要があります。
rm /home ; ln -sf /home2 /home3
問題を診断するには、rootアカウントにアクセスできる場合はファイルを確認してください~root/.bash_history
。ユーザーがパスを変更したようです。次のコマンドを実行してログインセッションを終了することもできます。
ps ua | grep '[p]ts/5'
次のように出力する必要があります。
root 19687 0.0 0.1 26896 9732 pts/5 Ss+ Aug20 0:00 -bash
その後、関連するプロセスID(psコマンドの出力の2番目の列)を次のコマンドに渡してセッションを終了できますkill
。
kill -15 19687
通常、リモートルートアクセスを許可するのは非常に悪い習慣です。リモートホストからrootアクセスを取得するには、root以外のアカウントとsudoを使用することをお勧めします。ルートアカウントも公開されましたそして設定するのはPasswordAuthentication yes
本当に悪い習慣です。特にパスワードが無差別代入攻撃を受けてホストが破損する可能性があるため、パスワードが脆弱な場合(例:ここで発生する可能性がある)
ホストにリモートでアクセスでき、すべてのコマンドを root として実行する sudo 権限を持つ root 以外のアカウントがある場合は、root パスワードを変更し、リモートsudo passwd
ホストが次のように接続できないように/etc/ssh/sshd_config
そのパスワードを設定するように変更することをお勧めします. 。PermitRootLogin no
根。次のように設定したら、sshdを再起動する必要があります。
/etc/init.d/sshd restart
(これは/etc/init.d/ssh restart
オペレーティングシステムによって異なります)。後でrootシェルが必要な場合は、root以外のユーザーとしてホストにsshを実行し、rootexec sudo bash
シェルを取得するには実行します。