私はLinuxの経験があまりなかったので、大きくて大きな間違いを犯しました。次のコマンドを実行しました。
chown -R [ftpusername]:[ftpusername] /
私はもともとこれを実行したかった。
chown -R [ftpusername]:[ftpusername] ./
問題が見えますか?
すべてのファイルの所有者を次のように変更して間違いを修正しようとしましたroot
。
chown -R root:root /
今、私のサイトにアクセスしようとすると権限エラーが発生しますが、最大の関心事は、ここにセキュリティホールがないことを確認したいということです。
質問:
- すべての所有権を変えるのは
root
正しいことですか? chown
実行によって一部のフォルダとファイルのアクセス許可が変更されたようです。これは普通ですか?これによりセキュリティの脆弱性が発生しますか?
ベストアンサー1
根を抜くためにすべてのものの所有権を変えることは正しいですか?
いいえ。しかし、これがシステムを正常に戻す最速の方法だと思います。
- ユーザーが特定のディレクトリ/ファイルを所有する必要がある多くのプロセスがあります。例には、ログ、キャッシュ、特定のプロセス(MySQL、LightDMなど)の作業/ホームディレクトリがあります。特に、ログファイルは多くの問題を引き起こす可能性があります。
- 一部のアプリケーションは
setuid
/setgid
なので、所有者/グループを具体的に指定する必要があります。などがその例です/usr/bin/at
。/usr/bin/crontab
chownを実行すると、一部のフォルダとファイルの権限が変更されたようです。これは普通ですか?
パターンが変わったと思います。もしそうなら、それは確かに正常ではありません。
これによりセキュリティの脆弱性が発生しますか?
私全体的に、単にシステムを再インストールすることをお勧めします。または、フルディスクバックアップがあることを願っています。/usr/bin/crontab
はhaveに設定したので、root
エディタを開くsetuidアプリケーションができました。これに比べて穴があるかどうか疑わしいです。もちろん、これは露骨な脆弱性でした。
確かに、chown(3)
実行中のプロセスに適切な権限がない場合は、setuidビットとsetgidビットをクリアする必要があります。そしてman 2 chown
Linuxの場合:
権限のないユーザーが実行可能ファイルの所有者またはグループを変更すると、モードビット
S_ISUID
とS_ISGID
モードビットがクリアされます。 POSIXは、rootとして実行してもこの現象が発生するかどうかを指定しませんchown()
。 Linuxの動作はカーネルのバージョンによって異なります。グループではなく実行可能ファイル(つまり、S_IXGRP
このビットが設定されていないファイル)の場合、このS_ISGID
ビットは強制ロックを表しますchown()
。
したがって、開発者と標準委員会は安全装置を提供したようです。