
私はこう思いました。
echo hello world > /usr/bin/firefox
ブラウザにメッセージが表示されます。何も起こりませんでした。次に試しました:
echo hello world > /usr/bin/kwrite
kwrite が「hello world」と入力して開くかどうかを確認します。 再び、何も起こりませんでした。 次に、両方のコマンドを実行しようとしました。
computer:~$ kwrite
/usr/bin/kwrite: line 1: hello: command not found
computer:~$ firefox
/usr/bin/firefox: line 1: hello: command not found
実行中ls -l /usr/bin/
:
-rwxr-xr-x 1 root root 182576 2012-08-21 06:42 apt-ftparchive
-rwxr-xr-x 1 root root 116996 2012-08-21 06:41 apt-get
-rwxr-xr-x 1 root root 2151596 2011-10-20 21:45 aptitude
-rwxr-xr-x 1 root root 1939 2011-10-20 21:45 aptitude-create-state-bundle
-rwxr-xr-x 1 root root 3007 2011-10-20 21:45 aptitude-run-state-bundle
-rwxr-xr-x 1 root root 7336 2012-08-21 06:41 apt-key
lrwxrwxrwx 1 root root 20 2012-12-29 10:41 /usr/bin/firefox -> /opt/firefox/firefox
-rwxr-xr-x 1 root root 5476 2010-11-17 04:58 /usr/bin/kwrite
-rwxr-xr-x 1 root root 181104 2010-02-16 01:40 zip
-rwxr-xr-x 1 root root 1184 2011-01-21 23:49 zxpdf
私のシステム上のバイナリファイル/usr/bin
(および他のbinフォルダ)には、少なくとも(?)に対するユーザー書き込み権限がありました。そこで私が実際に行ったことは、書く実行ファイル「hello world」は/usr/bin/kwrite
バイナリexecでしたが、/opt/firefox/firefox
シェルスクリプトでした
したがって、実行可能ファイルはこの種の事故を起こしやすいことは明らかです。そこで、書き込み権限が本当に必要なのかを尋ねたいと思います。これをオフにしたいのですが、ここで何か見落としていないか確認したいと思います。
答え1
まず、すべての書き込みビットがecho hello world > /usr/bin/kwrite
ルートとして試したはずです。w
ユーザーとグループに対してオフにしてください-rwxr-xr-x
。2番目の質問については、rootのみが書き込み権限を持っています。
通常のユーザーによってコンパイルおよびインストールされていない限り、ほとんどのバイナリ ファイル。
ファイルの権限表記も復習しましょう。ここに素晴らしいリンク
答え2
バイナリファイルにはユーザー書き込み権限があります。ユーザーはルートです. に書き込むことができるのは root だけです/usr/bin
。
ブラウザやワードプロセッサの使用など、単純な操作を root で行わないよう、本当に徹底して注意する必要があります。被害の制限については、こちらを参照してください。 http://www.howtogeek.com/124950/htg-explains-why-you-shouldnt-log-into-your-linux-system-as-root/
.sh
また、には多数のファイルがあることに気付くでしょう/usr/bin
。これらは、必要に応じて root によって編集される可能性があります。