私は この答え を読んで、「時々」ルートが/home/$USER
ディレクトリで何かを所有できると説明します。
誰もそれを証明する方法の例を与えることができます。本当に悪いことが起こったとき、私が実行したときにテストケースを与えるだけです
Sudo gedit /etc/rc.local
ファイルを編集して保存します。
私は多くのダウン票を獲得しました OPを手伝おうとしています アウトし、sudoでgeditを実行するのは犯罪だと言うコメントが殺到しました。
誰でも実際の例を挙げることができますか?
この質問が重複しない理由を明確に説明しました。リンクされた質問に対するgeditに固有の回答はありません。
そして、広く使われているSudo gedit
がなぜ悪いのか、そうでないのかなどを説明することが重要です。
Sudo gedit
に関しては、特に最近の時点で、何も悲惨なことはなく、ただの悪い練習です。 Sudo -H gedit
を提案するのはどれほど難しいでしょうか?
-H
、--set-home
セキュリティポリシーが、HOME環境変数をターゲットユーザーのパスワードデータベースエントリで指定されたホームディレクトリに設定することを要求します。ポリシーによっては、これがデフォルトの動作になる場合があります。
何does起こりますか?
ホームフォルダーにルート所有のファイルをいくつか取得します。 1つ(recently-used.xbel
)は、おそらくユーザーの所有権に戻ります。これは、ファイルが削除されて再作成されたときに発生する可能性があります。 Sudo gedit
の変更内容を確認するには、find ~ -user root -group root
を実行して、返される内容を確認します。デフォルトでは、これは何もないはずです。
このコマンドを使用すると、rootが所有するいくつかのファイルが表示される場合があります。 1つは、新しい.file
、.gvfs
、そして遅かれ早かれ、ルート所有の~/.cache/dconf
と前述のrecently-used.xbel
です。
だから、「空が壊れている」ものはないが、それでも。現在、継続使用は他の問題を引き起こすが、私がここで見ないものを主張するつもりはないという報告があります。
また、13.10の時点で、Sudo gedit
は、ルートのgedit構成ではなく、ユーザーのgedit構成を使用することに注意してください。繰り返しますが、悪い習慣です。なぜそうし続けるのか、他の人がそうするのを提案するのですか
まあそれは空想かもしれませんが、同じことを言っている人がたくさんいます:
sudoの代わりにGtkアプリにgksudoを使用する必要があるのはなぜですか?
ただし、Firefoxの拡張機能が固定されない程度の軽度の副作用や、.ICEauthorityのアクセス権が変更されたためにログインできなくなるほど極端な場合もあります。
なぜユーザーは通常のSudoを使用してグラフィカルアプリケーションを起動しないのですか?
ルートとしてgedit(グラフィカルテキストエディタ)を実行しているとします。 Sudo geditを実行すると、プログラムがルートとして実行されていても、HOMEはホームディレクトリを指し続けます。その結果、geditは、ホームディレクトリにルートとして構成ファイルを書き込みます。これにより、構成ファイルがrootによって所有され、ユーザーがアクセスできなくなることがあります(後でプログラムをrootとしてではなく自分として実行する場合)。
GUIプログラムを別のユーザーとして実行する方法(Debian)?
まず、Sudoまたはsuを使用してユーザーを変更してグラフィカルプロセスを実行しないでください。そうしないと、問題が発生する可能性があります(〜/ .ICEauthorityの所有者の変更は顕著な問題です)。代わりに、次のコマンドを使用するショートカットを作成します。
まあ、完全に正直に言うと、ほとんどの場合そうではありません。多くのアプリケーションでは、グラフィカルアプリケーションにSudoを使用して不適切な方法で実行でき、悪影響はありません。
...
これらのエラーは、
Sudo
がアプリケーションを起動するときに、root権限で起動するがユーザーの構成ファイルを使用することがあるために発生します。
2つの新しい仮想ボックス。 Ubuntu 14.04。それらに対してfirefoxを実行しないでください。コマンドSudo firefox
を実行するとどうなりますか?
tim@Hairy14CVB:~$ Sudo firefox
(process:4857): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
...
[email protected]:2192:13
これは、両方の仮想ボックスで同じです(または少なくとも非常に似ています)。 firefoxの実行中に、YouTube拡張機能をインストールしました。次に、firefoxを閉じて、出力を確認しました。
tim@Hairy14CVB:~$ ls -la .ICEauthority
-rw------- 1 tim tim 1336 Jun 4 21:31 .ICEauthority
さて、.ICEauthority
は大丈夫です!しかしながら...
tim@Hairy14CVB:~$ ls -la | grep root
drwxr-xr-x 3 root root 4096 Jun 1 20:49 ..
drwx------ 3 root root 4096 Jun 5 22:41 .dbus
drwx------ 4 root root 4096 Jun 5 22:41 .mozilla
ホームフォルダー内の3つのもの(/home/tim/
)はルート(..
、.dbus
および.mozilla
)によって所有されています。これは、両方の仮想ボックスで同じです(または少なくとも非常に似ています)。
だから、これは問題です。確信が持てなかったので、次のようにfirefoxを実行しました。
tim@Hairy14CVB:~$ firefox
(process:4959): GLib-CRITICAL **: g_slice_set_config: assertion 'sys_page_size == 0' failed
Error: Access was denied while trying to open files in your profile directory.
そして、このいエラー:
完全なターミナル出力(firefox babbleを含む)については、これら2つのペーストビン here および here を参照してください。
ところで、Firefoxをルートとして実行することはできます。しかし、今ではさらに多くのファイルが変更されています:
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
drwx------ 3 root root 4096 Jun 5 22:55 .Adobe
drwx------ 3 root root 4096 Jun 5 22:40 .dbus
drwx------ 3 root root 4096 Jun 5 22:55 .macromedia
drwx------ 4 root root 4096 Jun 5 22:40 .mozilla
これは、画像をimgur.comにアップロードしたためですか?わからない。
これをどのように修正しましたか? chown
。私はそれを理解していませんが、 インターネット はそれをするように言われました、そしてそれはとてもヨーロピアンな仮想箱です。
Sudo chown -R tim:tim /home/tim/
そして、それはそれを修正しました。これで、出力は..
ファイルになります。
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
それは私の実際のコンピューターでも同じです。ああ、私のKubuntu virtualboxで:
tim@Hairy14VB:~$ ls -la | grep root
drwxr-xr-x 3 root root 4096 May 16 14:10 ..
Sudoコマンドを実行したこともない。すべて順調です。 GUIアプリケーションでSudo
を実行しないでください。
最終テスト:-H
および-i
フラグを使用して実行します。
Sudo -H firefox
そして
Sudo -i firefox
そして良いニュースです!それでも、唯一のルート「もの」は..
です。そして、ルートなしでfirefox
を実行できます。
OPはGeditについて話してほしい。
走った
Sudo gedit
次に、いくつかのランダムなプラグインをインストールしました。これは出力でした:
tim@Hairy14VB:~$ ls -la | grep root
ls: cannot access .gvfs: Permission denied
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
.gvfs
の所有権も表示できないことに注意してください。
tim@Hairy14VB:~$ Sudo ls -la | grep root
drwxr-xr-x 4 root root 4096 Jun 3 19:46 ..
dr-x------ 2 root root 0 Jun 6 10:05 .gvfs
したがって、Sudo gedit
を実行すると、ホームディレクトリ内のファイルがルートに変更されます。
私はまだgeditを開くことができますが、今回はいくつかのゴミを出します:
(gedit:7422): Gtk-WARNING **: Attempting to read the recently used resources file at `/home/tim/.local/share/recently-used.xbel', but the parser failed: Failed to open file '/home/tim/.local/share/recently-used.xbel': Permission denied.
そして、それは、変更された別のファイル(~.local/share/recently-used.xbel
)があることを示唆しています。これは最近使用したファイルのリストであり、(幸運なことに)最近使用したファイルのリストはもうありません。
そこにoutput2.txt.save2
というファイルがあるはずです。