1. 程式人生 > >共享服務-FTP基礎(二)

共享服務-FTP基礎(二)

pasv mas 範圍 for max 沒有 allow 位置 mysql-

續接上一篇

使用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基礎(二)