CentOS6.5 vsftpd 配置

CentOS6.5
vsftpd 配置文件爲/etc/vsftpd/vsftpd.conflinux

安裝完軟件後:
1.默認匿名用戶可以登錄,且限制在/pub目錄內,
2.本地用戶能夠登錄但因SElinux而沒法登錄。
3.ftpuser內用戶沒法登錄。(PAM限制)
4.可利用 /etc/hosts.{allow|deny} 來做爲基礎防火牆;
5.主動式聯機的埠口爲 port 20
6.使用格林威治時間 (GMT)。『 use_localtime=YES 』可修改爲本地時間。web

限制用戶登錄的文件有兩個:
1./etc/vsftpd/ftpusers:就是 /etc/pam.d/vsftpd 這個檔案的設定所影響的;(默認拒絕)
2./etc/vsftpd/user_list:由 vsftpd.conf 的 userlist_file 所設定。
 默認爲拒絕文件內的用戶,如若想設置爲容許文件內的用戶:userlist_deny=NO數據庫

修改配置文件:
1、若想本地用戶也能登錄。
方法:關閉SElinux,setenforce=0 ,或查看/var/log/messages內容,根據提示修改SElinux設置。
2、限制用戶在家目錄,指定用戶不限制在家目錄。
chroot_local_user=YES-------------------限制全部用戶在家目錄
chroot_list_enable=YES------------------開啓容許的用戶列表文件
chroot_list_file=/etc/vsftpd/chroot_list--------用戶列表文件
3、禁止上傳特定類型的文件
 deny_file={*.txt}安全

其餘參數配置說明:服務器

與服務器環境較相關的設定值:
connect_from_port_20=YES (NO)
listen_port=21
dirmessage_enable=YES (NO)----進入目錄顯示消息
message_file=.message
listen=YES (NO)---------服務啓動方式
pasv_enable=YES (NO)------支持數據流的被動式聯機方式
use_localtime=YES (NO)
write_enable=YES (NO)-----容許用戶上傳
connect_timeout=60-----數據鏈接主動模式下,服務端鏈接客戶端請求超時時間
accept_timeout=60------被動模式下
data_connection_timeout=300-------數據鏈路傳輸超時時間
idle_session_timeout=300--------控制鏈路待機超時時間
max_clients=0------獨立服務模式,同時聯機數
max_per_ip=0-------同一IP的聯機數
pasv_min_port=0, pasv_max_port=0------被動聯機模式端口號設置
ftpd_banner
banner_file=/path/file
與實體用戶較相關的設定值:
guest_enable=YES (NO)-----設置全部用戶使用guest身份登陸
guest_username=ftp------指定guest身份所使用的用戶權限
local_enable=YES (NO)
local_max_rate=0-------限制用戶傳輸速度,單位比特每秒
chroot_local_user=YES (NO)-----限制在用戶家目錄
chroot_list_enable=YES (NO)-------啓用chroot_list文件
chroot_list_file=/etc/vsftpd.chroot_list
userlist_enable=YES (NO)------啓用userlist文件
userlist_deny=YES (NO)-------拒絕該文件用戶登錄
userlist_file=/etc/vsftpd/user_list
匿名者登入的設定值:
anonymous_enable=YES (NO)
anon_world_readable_only=YES (NO)-----僅具備下載可讀文件的權限
anon_other_write_enable=YES (NO)-----寫權限 ,若此爲NO,則下面兩個設置無效
anon_mkdir_write_enable=YES (NO)------創建目錄的權限
anon_upload_enable=YES (NO)-------上傳權限
deny_email_enable=YES (NO)-----特殊email address抵擋
banned_email_file=/etc/vsftpd/banned_emails
no_anon_password=YES (NO)------NO的時候登入時會檢查輸入的email
anon_max_rate=0-------限制傳輸速度
anon_umask=077------上傳檔案的權限
關於系統安全方面的一些設定值:
ascii_download_enable=YES (NO)---優先使用ASCII格式下載文件
ascii_upload_enable=YES (NO)----優先使用ASCII格式上傳文件
one_process_model=YES (NO)-----爲每一個聯機建立一個進程,增長效能,消耗資源。硬件要求高,通常建議設置NO
tcp_wrappers=YES (NO)-----支持tcp_wrappers控制
xferlog_enable=YES (NO)-----開啓上傳下載記錄
xferlog_file=/var/log/xferlog-----設置記錄文件位置
xferlog_std_format=YES (NO)-----是否設定爲 wu ftp 相同的登陸檔格式,須要使用wu ftp登陸文件分析軟件查看
dual_log_enable=YES, vsftpd_log_file=/var/log/vsftpd.log-----登陸檔
nopriv_user=nobody----運行服務的用戶
pam_service_name=vsftpd------pam 模塊的名稱,咱們放置在 /etc/pam.d/vsftpd 便是這個session

 

虛擬用戶登錄配置:app

1、多用戶相同訪問目錄與權限:tcp

1.建立可登錄的帳號和密碼。ui

#cat virtual_users.txt加密

zhangsan

123456

lisi

123456

wangwu

123456

2.檢查系統是否安裝已經安裝下列軟件包,用於建立數據庫文件

#rpm -qa |grep db4

db4-4.7.25-20.el_7.i686

db4-cxx-4.7.25-20.el_7.i686

db4-devel-4.7.25-20.el_7.i686

db4-utils-4.7.25-20.el_7.i686

3.使用db_load命令把virtual_users.txt 文件轉換成數據庫文件,並更改數據庫文件的權限

#db_load -T -t hash -f ./virtual_users.txt /etc/vsftpd/virtual_users.db

#chmod 600 /etc/vsftpd/virtual_users.db

4.新建一個虛擬用戶的PAM文件,內容以下

#cat /etc/pam.d/vsftpd.vu

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/virtual_users  64位用/lib64 替換/lib

account required /lib/security/pam_userdb.so db=/etc/vsftpd/virtual_users

5建立虛擬用戶。設置該用戶所須要訪問的目錄,並設置虛擬用戶的訪問權限

#useradd -d /home/ftp  virtual_user

#chmod 700 /home/ftp

6.編輯vsftpd.conf配置文件:

guest_enable=YES

guest_username=virtual_user

pam_sevice_name=vsftpd.vu

virtual_use_local_privs=YES   虛擬用戶和本地用戶有相同的權限;

或者:virtual_use_local_privs=NO時,虛擬用戶和匿名用戶有相同的權限,默認是NO。

虛擬用戶要麼擁用本地用戶權限要麼擁有匿名權限,匿名權限對於家目錄中的身份爲其餘用戶。

2、多用戶不一樣訪問目錄與權限。

一、二、三、四、5不變。

6.建立ftp用戶配製文件目錄:/etc/vsftpd/user_conf

  #mkdir /etc/vsftpd/user_conf

7.在/etc/vsftpd/user_conf目錄中建立以用戶名命名的配置文件zhangsan、lisi、wangwu

  「zhangsan」內容以下:

    local_root=/home/ftp (固然,你高興也能夠設置成其它,但要注意virtual用戶對此目錄的權限)

    anon_world_readable_only=NO (使download用戶的能下載,也只能下載;寫成YES,將不能列出文件和目錄)

  「lisi」內容以下:

    local_root=/home/ftp

    anon_world_readable_only=NO

    write_enable=YES (寫權限)

    anon_mkdir_write_enable=YES (新建目錄權限)

    anon_upload_enable=YES(上傳權限)

    anon_other_write_enable=YES(刪除/重命名的權限)

   「wangwu」內容以下:

     local_root=/home/virtual_user    

    anon_world_readable_only=NO

    anon_umask=022 (因爲web頁面的特殊性,故單獨設置上傳文件權限爲755,此掩碼值可根據具體狀況更改) 

    write_enable=YES (寫權限)

    anon_mkdir_write_enable=YES (新建目錄權限)

    anon_upload_enable=YES(上傳權限)

    anon_other_write_enable=YES(刪除/重命名的權限)

8.在/etc/vsftpd.conf加入或者更改如下配置語句:

  anonymous_enable=NO

   local_enable=YES

  guest_enable=YES

  guest_username=virtual_user

  pam_service_name=ftp.vu

  user_config_dir=/etc/vsftpd/user_conf

   ==============================================

用戶1有上傳,下載,建立文件,目錄的權限;用戶2只能下載;用戶3能夠上傳下載,但不能刪除目錄 和文件;三個用戶的家目錄 爲同一個。

[root@test5 user_conf]# cat user1
local_root=/home/ftp
anon_world_readable_only=NO
write_enable=YES
anon_mkdir_write_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES

[root@test5 user_conf]# cat user2
local_root=/home/ftp
anon_world_readable_only=NO


[root@test5 user_conf]# cat user3
local_root=/home/ftp
anon_world_readable_only=NO
write_enable=YES
anon_upload_enable=YES

  ==============================================

ftps
1.檢查 vsftpd 有無支持 ssl 模塊:ldd $(which vsftpd) | grep ssl
2.創建專門給 vsftpd 使用的憑證數據:
 cd /etc/pki/tls/certs
 make vsftpd.pem  須要填寫證書相關信息
3.修改 vsftpd.conf 的配置文件
 針對 SSL 所加入的特別參數!每一個項目都很重要!
 ssl_enable=YES <==啓動 SSL 的支持
 allow_anon_ssl=NO <==可是不容許匿名者使用 SSL
 force_local_data_ssl=YES <==強制實體用戶數據傳輸加密
 force_local_logins_ssl=YES <==同上,但連登入時的賬密也加密
 ssl_tlsv1=YES <==支持 TLS 方式便可,底下不用啓動
 ssl_sslv2=NO
 ssl_sslv3=NO
 rsa_cert_file=/etc/vsftpd/vsftpd.pem <==預設 RSA 加密的憑證檔案所在


限制文件大小?
# cd /usr/local/proftpd/bin/
# ftpquota -create -type=tally -table-path=/usr/local/proftpd/etc/ftpquota.tallytab
# ftpquota -create -type=limit -table-path=/usr/local/proftpd/etc/ftpquota.limittab
# ftpquota --type=limit --table-path=/usr/local/proftpd/etc/ftpquota.limittab --add-record --quota-type=user --name=tom --units=Mb --bytes-

upload=50 --bytes-xfer=1

# (上面意思是:限定tom用戶空間大小爲50M,上傳文件大小爲1M)

ftpquota 具體用法參照 ftpquota --help--------------未證明

相關文章
相關標籤/搜索