Linux安裝ftp伺服器
1.檢視是否以安裝ftp,如果沒有安裝什麼都不顯示
# rpm -qa | grep vsftpd
2.安裝ftp
#yum install -y vsftpd
# rpm -ql vsftpd
/etc/logrotate.d/vsftpd. vsftpd的日誌檔案
/etc/pam.d/vsftpd PAM認證檔案
/etc/rc.d/init.d/vsftpd 啟動指令碼
/etc/vsftpd vsftpd的配置檔案存放的目錄
/etc/vsftpd/ftpusers 禁止使用vsftpd的使用者列表檔案
/etc/vsftpd/user_list 禁止或允許使用vsftpd的使用者列表檔案
/etc/vsftpd/vsftpd.conf 主配置檔案
/etc/vsftpd/vsftpd_conf_migrate.sh vsftpd操作的一些變數和設定
/usr/sbin/vsftpd vsftpd的主程式
/var/ftp 匿名使用者主目錄
/var/ftp/pub 匿名使用者的下載目錄
#service vsftpd start
#chkconfig --level vsftpd
#chkconfig --level 2345 vsftpd on
2 匿名使用者的登入名:ftp(anonymous) 密碼空 ,登入的目錄為/var/ftp
用匿名使用者登入的時候預設是隻有下載的許可權,沒有上傳,建立和刪除的許可權:
#vim /etc/vsftpd/vsftpd.conf
anon_upload_enable=YES 上傳
anon_mkdir_write_enable=YES 建立
anon_other_write_enable=YES 刪除
#service vsftpd restart
為了安全應該禁止匿名使用者的登入:
123456 #vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
#anon_upload_enable=YES 上傳
#anon_mkdir_write_enable=YES 建立
#anon_other_write_enable=YES 刪除
#service vsftpd restart
3 建立一個直接登入系統使用者來登入ftp:
#useradd -s /sbin/nologin viong
#passwd viong
使用者具有 上傳 建立 下載 切換目錄
------------------------------------------------------------------
4 加強vsftp安全設定:
限制系統使用者鎖定在家目錄:
#vim /etc/vsftpd/vsftpd.conf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list 限制更多的系統使用者,把需要限制的使用者加入/etc/vsftpd/chroot_list中即可
#touch /etc/vsftpd/chroot_list
#cut -d: -f 1 /etc/passwd >>/etc/vsftpd/chroot_list 將本地使用者都加入到chroot_list
限制重要系統使用者不能登入ftp:
#cat /etc/vsftpd/ftpusers 預設已經添加了系統中一些比較重要的使用者
#echo "viong" >>/etc/vsftpd/ftpusers 此時viong不能登入ftp
利用ftp使用者策略允許登入ftp的系統使用者:
/etc/vsftpd/user_list 只有在這個檔案中的使用者才能登入系統:
#vim /etc/vsftpd/vsftpd.conf
#在userlist_enable=YES 的後面新增
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
設定登入ftp目標ip地址:用iptables設定
---------------------------------------
搭建支援SSL加密傳輸的vsftpd:
#openssl req -x509 -nodes -days 365 -newkey rsa:1024 -keyout /etc/vsftpd/vsftpd.pem -out /etc/vsftpd/vsftpd.pem 生成證書
#vim /etc/vsftpd/vsftpd.conf
ssl_enable=YES
allow_anon_ssl=NO
force_local_data_ssl=YES
force_local_logins_ssl=YES
ssl_tlsv1=YES
ssl_sslv2=YES
ssl_sslv3=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem
下面是ssl引數一些定義,根據自己需求去修改:
ssl_enable=yes/no //是否啟用 SSL,預設為no
allow_anon_ssl=yes/no //是否允許匿名使用者使用SSL,預設為no
rsa_cert_file=/path/to/file //rsa證書的位置
dsa_cert_file=/path/to/file //dsa證書的位置
force_local_logins_ssl=yes/no //非匿名使用者登陸時是否加密,預設為yes
force_local_data_ssl=yes/no //非匿名使用者傳輸資料時是否加密,預設為yes
force_anon_logins_ssl=yes/no //匿名使用者登入時是否加密,預設為no
force_anon_data_ssl=yes/no //匿名使用者資料傳輸時是否加密,預設為no
ssl_sslv2=yes/no //是否啟用sslv2加密,預設no
ssl_sslv3=yes/no //是否啟用sslv3加密,預設no
ssl_tlsv1=yes/no //是否啟用tls v1加密,預設yes
ssl_ciphers=加密方法 //預設是DES-CBC3-SHA
#service vsftpd restart