共享服務-FTP基礎(二)
續接上一篇
使用pam(Pluggable Authentication Modules)完成用戶認證
pam_service_name=vsftpd
pam配置文件:/etc/pam.d/vsftpd
/etc/vsftpd/ftpusers 默認文件中用戶拒絕登錄
是否啟用控制用戶登錄的列表文件
userlist_enable=YES 默認有此設置
userlist_deny=YES(默認值) 黑名單,不提示口令,NO為白名單
userlist_file=/etc/vsftpd/users_list 此為默認值
vsftpd服務指定用戶身份運行
nopriv_user=nobody (默認值)
連接數限制
max_clients=0 最大並發連接數
max_per_ip=0 每個IP同時發起的最大連接數
傳輸速率:字節/秒
anon_max_rate=0 匿名用戶的最大傳輸速率
local_max_rate=0 本地用戶的最大傳輸速率
連接時間:秒為單位
connect_timeout=60 主動模式數據連接超時時長
accept_timeout=60 被動模式數據連接超時時長
data_connection_timeout=300 數據連接無數據輸超時時長
idle_session_timeout=60 無命令操作超時時長
優先以文本方式傳輸
ascii_upload_enable=YES
ascii_download_enable=YES
實現基於SSL的FTPS
查看是否支持SSL
ldd `which vsftpd` 查看到libssl.so
創建自簽名證書
cd /etc/pki/tls/certs/
make vsftpd.pem
openssl x509 -in vsftpd.pem -noout –text
配置vsftpd服務支持SSL:/etc/vsftpd/vsftpd.conf
ssl_enable=YES 啟用SSL
allow_anon_ssl=NO 匿名不支持SSL
force_local_logins_ssl=YES 本地用戶登錄加密
force_local_data_ssl=YES 本地用戶數據傳輸加密
rsa_cert_file=/etc/pki/tls/certs/vsftpd.pem
用filezilla等工具測試
vsftpd虛擬用戶
虛擬用戶:
所有虛擬用戶會統一映射為一個指定的系統帳號:訪問共享位置,即為此系統帳號的家目錄
各虛擬用戶可被賦予不同的訪問權限,通過匿名用戶的權限控制參數進行指定
虛擬用戶帳號的存儲方式:
文件:
編輯文本文件,此文件需要被編碼為hash格式
奇數行為用戶名,偶數行為密碼
db_load -T -t hash -f vusers.txt vusers.db
關系型數據庫中的表中:
實時查詢數據庫完成用戶認證
mysql庫:
pam要依賴於pam-mysql
/lib64/security/pam_mysql.so
/usr/share/doc/pam_mysql-0.7/README
常用配置-修改配置文件
1、man幫助
man vsftpd.conf
2、指定監聽端口
listen_port=2121
3、更改主動模式端口默認20
ftp_data_port=2020
4、限定被動隨機端口範圍默認0
#inux 客戶端默認使用被動模式
#windows 客戶端默認使用主動模式
pasv_min_port=6000 0為隨機分配
pasv_max_port=6010
備註:方便防火墻打開端口,端口範圍多少決定了並發數
5、使用當地時間
use_localtime=YES #使用當地時間(默認為NO,使用GMT)
6、修改匿名賬號(ftp)登陸所在目錄
1)把這個文件夾作為匿名賬號的目錄
mkdir /data/ftp -pv
我先cp個文件過來
cp /etc/fstab /data/ftp/f2
2)修改用戶ftp家目錄
usermod -d /data/ftp ftp
3)測試
7、不檢查匿名賬號的口令
no_anon_password=YES(默認NO)
8、只能下載可讀文件
anon_world_readable_only (默認YES)
備註:說的是其他用戶項有麽有讀權限
9、允許匿名上傳文件和上次文件夾
anon_upload_enable=YES 匿名上傳,註意:文件系統權限
anon_mkdir_write_enable=YES 匿名建目錄
備註:匿名用戶它使用ftp用戶上傳文件的,查看要上傳的文件對ftp用戶有沒有W權限
註意這裏上傳默認下載不了
10、更改上文文件的默認權限(默認umask是077)
anon_umask=022 #指定匿名上傳文件的umask
11、開啟匿名賬號可刪除修改文件(默認是禁止的)
anon_other_write_enable=YES 可刪除和修改上傳的文件
12、指定上傳文件的默認的所有者和權限
chown_uploads=YES(默認NO)
chown_username=wang
chown_upload_mode=0666
13、把系統賬號映射成為一個專門用於ftp的用戶
配置文件
guest_enable=YES
guest_username=ftp
14、上傳下載刪除
put:上傳
get:下載
delete:刪除
15、把系統賬號映射成一個賬號,它登陸的時候在某個目錄下
1)先創建一個賬號
useradd testftp
2)創建改賬號要映射到所在目錄
mkdir /data/ftp
備註:確保這個文件夾對改用戶沒有寫權限
2)配置vsftp配置文件
guest_enable=YES
guest_username=testftp
local_root=/data/ftp
共享服務-FTP基礎(二)