web-dev-qa-db-ja.com

/ tmpを誤って削除した

誤ってSudo rm -r /tmpを実行しましたが、これは問題ですか?
Sudo mkdir /tmpを使用して再作成しましたが、問題は解決しましたか?

ディレクトリを再作成した後、 場所 Ubuntu 14.04のnautilusのサイドバーのセクション以前になかった/ tmpが表示されますが、これは問題ですか。

最後に、以前と同じようにSudo chown $USER:$USER /tmpを実行してアクセスできるようにする必要がありますか?この後、副作用はありますか?

ちなみに、bashのオートコンプリートを使用しようとすると、この一見関連するエラーが表示されます

bash:ヒアドキュメントの一時ファイルを作成できません:権限が拒否されました

9
Amr Ayman

/tmpは、ほとんどの場合、典型的なディレクトリと見なすことができます。それを再作成して、ルート(chown root:root /tmp)と設定1777権限を付与して、誰でも使用できるようにします(chmod 1777 /tmp)。この操作は、/tmpは別のパーティションにあります(これによりマウントポイントになります)。

ちなみに、多くのプログラムは一時ファイルに依存しているため、すべてのプログラムが通常どおりに再開するように再起動することをお勧めします。ほとんどのプログラムがこれらの状況を適切に処理するように設計されていても、一部のプログラムはそうでない場合があります。

12
John WH Smith

ディレクトリ/tmpには権限1777 = rwxrwxrwtが必要です。つまり、誰でもディレクトリ内のファイルの読み取り、書き込み、アクセスが可能で、(t =スティッキービット)ファイルは所有者のみが削除できます。これが当てはまらない場合、奇妙な方法で、多くのことが機能しなくなります。

Sudo mkdir -m 1777 /tmp

または

Sudo mkdir /tmp && Sudo chmod 1777 /tmp

/tmpはrootに属している必要があります。所有権を別のユーザーに変更しないでください。

一時ファイルを削除したときに使用していたプログラムは、少し混乱している可能性があります。いくつかのバックグラウンドプログラムは socket/tmpに保持しており、再起動する必要があります。主なものはXサーバーです。/tmp/.X11-unix/X0を削除すると、GUIアプリケーションを起動できなくなります。これを修正するには、ログアウトしてから再度ログインする必要があります(最初に権限を修正してください!)。