2015-05-12 31 views
0

我正在嘗試製作自己的ls。 此外,我想實現可以在整個linux系統中發現可疑文件的安全ls選項。我只能用兩個信息做出決定(文件的位置,文件屬性)我如何在Linux中發現可疑文件

我怎樣才能確定哪個文件是可疑的?

我找到了一些例子。

前)

  • 的/ dev/setuid的#如果在/ dev的setuid的文件,然後警告
  • /等,如果有文件,這是開始字符/ .file# ''在/ etc,然後警告
  • /worldwritable#如果在整個目錄777 permision文件
  • /setgid的#如果在整個目錄setgid的文件文件

請給我你的想法!

(我認爲是沒有正確的答案,但我只是想你的合理的想法)

回答

1

好,我們不能告訴你哪些文件認爲「可疑」 ......

你的描述聽起來像你想實施一個「規則目錄」你測試所有的結果條目,但這是非常模糊的。一般的方法是將文件列表的原始結果(通常是ls)的每個條目填入某個邏輯,該邏輯將目錄中的所有規則應用於條目。如果一條規則匹配(出來true),那麼你有一場比賽。聽起來就像是用C語言編寫的實用程序的一個很好的例子,用Lua編寫的規則(如插件)。這將提供很好的可擴展性。 HOwever記住您創建的極端性能開銷!

通常使用不同的策略:大多數Linux系統上的軟件包管理允許決定文件是否由已安裝軟件包「擁有」,以及文件是否已被修改。這可能在這裏派上用場:您檢查「擁有」包中的典型位置的每個文件一樣/etc/var/srv,如果是任何軟件包所擁有,那麼就是我所說的可疑的,因爲它暗示了一個「瘋狂安裝的軟件包」,所以有人繞過了軟件包管理。