PureFTPd 問答集中文版
Pureftpd是一款快速,高質量,功能齊全的ftp服務器,最重要的是可以支持設置客戶端默認編碼,Pureftpd非常強大非常好用,但是相信你們都有相關PureFTPd的自己的問題,我在這里搜集了好多,去看看有沒你想要的答案!
1、用戶可以刪除屬于root的文件?
Q:我有一個屬于"john"的文件夾,不過我放進了一些屬于"root"(或者其他用戶)的 文件.然而,我發現John可以刪除這些文件!
A:是的,這時標準的Unix行為:文件夾的所有者可以在他的文件夾內為所欲為,無 視文件的所有者。如果你希望有不可變的文件,檢查操作系統有沒有這樣的功能。
例如,在linux操作系統、ext2/ext3文件系統上,用"chattr +i
2、多用戶共享的文件夾
Q:我有一個“public”文件夾。所有的用戶動可以在此文件夾內下載、上傳。文件 夾中文件的權限是777.不過,用戶“john”可以刪除屬于用戶“joe”的文件。怎么避免這種事情發生?
A:對文件夾進行如下操作:chmod 1777 public。這樣,文件夾仍是公共的(可寫 、可讀),但只有文件所有者才可以刪除文件。
3、限制文件夾的可見性
Q:我希望人們只能看到自己的主目錄和自己的文件,而不希望他們看我的系統文件 。
A:這個功能叫做“chroot”。你可以帶著“-A”選項運行pure-ftpd來啟動這個功 能,就可以對所有的非root用戶進行限制。
你也可以選擇“-a
不要同時使用-a
另外一種方法是選定你希望chroot的用戶。可以用“/./”的技巧(參考README 文 件)或者虛擬用戶來實現。
4、共享的文件夾和chroot
Q:我有一個文件夾,假設叫/var/incoming。我希望每個用戶都可以共享這個文件夾。但我希望每個用戶都被chroot。所以,/var/incoming應該在“joe”和“john” 的帳戶可見,但他們已經被chroot了。這樣,怎么使/var/incoming對這些賬戶可見?
A:建立符號鏈接并不起作用,因為一旦被chroot,就意味著在基礎文件夾(用戶的 主目錄)之外的任何東西--包括符號鏈接--都不可訪問。
不過所有的現代的操作系統都支持把本地目錄掛載到幾個不同的位置。要使/home/john/incoming和/home/joe/incoming都有/var/incoming的副本,可以使用下列命令:
* Linux : mount --bind /var/incoming /home/john/incoming
mount --bind /var/incoming /home/joe/incoming
* Solaris : mount -F lofs /var/incoming /home/john/incoming
mount -F lofs /var/incoming /home/joe/incoming
* BSD : mount_null /var/incoming /home/john/incoming
mount_null /var/incoming /home/joe/incoming
警告:FreeBSD的mount_null已經損壞,而且會導致低于4.4的發布版FreeBSD系統的內核崩潰。
另外一個解決方法是重新編譯Pure_FTPd,在./configure時,加上--with-virtualchroot。使用虛擬chroot,指向在chroot文件夾外面的文件的符號連接也可以達到。在二進制包中,這個功能已經啟用。
5、Tar 和/或 gzip不工作
Q:能不能像在Wu-FTPd中一樣使用“get directory.tar”命令?(Sven Goldt)
A:很不幸,不能。服務器建立gzip/tar既不是已經存在的功能,也不是計劃中的功 能。對Wu-FTPd和BSD ftpd的嚴重的安全漏洞,這個功能難逃責任。此功能占用了大量服務器資源(可以導致拒絕服務式攻擊)。它也不容易建立(chroot環境=>需要 添加/etc/lib/bin文件夾,在某些平臺上添加/dev,等等)
6、如何限制對點文件的訪問?
Q:有沒有防止人們訪問“.”文件/文件夾(像.bash_history, .profile, .ssh ...)的選項,即使這些用戶是文件的所有者?(William Kern)
A:有。“-x”(--prohibitdotfileswrite),防止用戶對點文件的寫/刪除/改變權限/重命名操作,即使用戶擁有這些文件。不過,這些文件仍然可以列出,因為企圖通過故意把事情搞的模糊不清來保障安全是非常愚蠢的,而且軟件也不該欺騙用戶 。不過,用戶不能改變文件的內容。
同樣,你也可以選用“-X”(--prohibitdotfilesread)選項,這樣,用戶就無法讀 取點文件,也無法進入以點開頭的文件夾。
7、日志文件
Q:日志信息記錄到了哪里?怎么把日志導入一個特定的文件?怎么停止日志記錄?
A:日志信息發送到系統日志守護精靈。系統日志守護精靈通常叫做“syslogd”或“syslog-ng”。這個守護精靈負責從不同的程序中按照設備(范圍)和優先級(緊急程度:debug, info, warning, error, critical...)把日志事件發送到日志文件 。
Pure-FTPd的日志信息默認和“ftp”工具發送(在一些沒有“ftp”工具的老系統上,是“local2”).
除非你告訴syslogd把帶有"ftp"的信息重新導入特定的文件,這些信息就會被傳送到 /var/adm/messages, /var/log/messages,/var/adm/syslog 或 /var/log/syslog
檢查/etc/syslogd.conf,其中應該有一行類似于:
*.*;mail.none;news.none -/var/log/messages
只要加上ftp.none:
*.*;ftp.none;mail.none.news.none -/var/log/messages
如果希望FTP信息寫入一個特定的文件,只要加上:
ftp.* /var/log/ftp
所有的FTP信息都會寫入/var/log/ftp.這些信息只會到這兒.
可以給pure-ftpd添加-f <工具名稱>(或者--facility=<工具名稱>)選項來改變所使用的工具
要完全禁止日志,使用 -f none (或--facility=none).如果你從來不讀log文件,推 薦這樣做:這樣會增進服務器的性能表現,減少磁盤的I/O.
通過閱讀上文,想必大家能找到自己所需要的東西,即使沒找到沒事,就當看看Pureftpd方面的知識!希望本文對大家有所幫助!
【編輯推薦】
- 用shell用戶或虛擬用戶登錄pureftpd
- Pureftpd功能之系統帳號分離
- Pureftpd的權限控制
- 用pureftpd在slackware 10.1下架設帶web管理的ftp服務器
- Pureftpd之MYSQL數據庫所使用的函數
- Pureftpd-mysql.conf 設定
- Pureftpd兩種啟動方式
- 加密pureftpd_php_manager目錄