1. 程式人生 > >linux中ftp配置

linux中ftp配置

變量 服務 user_list sel idl body access 定制 use

防火墻開啟

[root@hhj ~]# service iptables start

添加規則20主動端口,21被動端口

[root@hhj ~]# iptables -I INPUT 1 -p tcp --dport 20:21 -j ACCEPT

保存配置

[root@hhj ~]# service iptables save

iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]

安裝vsftpd服務

[root@hhj ~]# yum install vsftpd -y

設為開機自動啟動

[root@hhj ~]# chkconfig vsftpd on

啟動服務

[root@hhj ~]# service vsftpd start

查看ftp端口狀態

[root@hhj ~]# netstat -ntulp | grep ftp

因為服務器的20端口要主動生成一個隨機端口訪問客戶端,這裏要檢查服務器有沒有加載nf_conntrack_ftp模塊,因為有模塊才會允許訪問

[root@hhj ~]# lsmod | grep nf_conntrack_ftp #查看模塊

[root@hhj ~]# modprobe nf_conntrack_ftp #加載模塊

或者這樣加載模塊

[root@hhj ~]# vim /etc/sysconfig/iptables-config

修改IPTABLES_MODULES="nf_conntrack_ftp"

重啟服務

[root@hhj ~]# service iptables restart

[root@hhj ~]# 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 匿名用戶的下載目錄

/etc/vsftpd/vsftpd.conf配置:

vsftpd支持三種用戶:本地用戶,匿名用戶,虛擬用戶

[root@hhj ~]# vim /etc/vsftpd/vsftpd.conf

…………

anonymous_enable=YES #是否啟用匿名用戶登錄

……………

local_enable=YES #是否允許本地用戶登錄

…………

write_enable=YES #是否允許本地用戶寫

……………

local_umask=022 #本地用戶上傳後文件過濾權限

……………

anon_upload_enable=NO #是否允許匿名用戶上傳文件

……………

anon_mkdir_write_enable=NO #是否允許匿名用戶創建文件夾

anon_other_write_enable=NO #是否允許匿名用戶上傳文件

……………

dirmessage_enable=YES

……………

chroot_local_user=YES # 本地用戶禁錮在宿主目錄中 即以家目錄為根

chroot_list_enable=YES # 是否將系統用戶限止在自己的home目錄下

chroot_list_file=/etc/vsftpd.chroot_list # 列出的是不chroot的用戶的列表

anon_root=/var/ftp 設置匿名用戶的FTP根目錄,也稱為宿主目錄。匿名登錄所在的文件目錄,註意ftp後面不要有“/”,否則出錯

local_root=/var/ftp 設置本地用戶的FTP根目錄

chown_upload=YES # 是否改變上傳文件的屬主

ftpd_banner=Welcome to chenlf FTP service. # 定制歡迎信息

chown_username=username # 如果是需要輸入一個系統用戶名

xferlog_enable=YES # 是否記錄ftp傳輸過程

xferlog_file=/var/log/vsftpd.log # ftp傳輸日誌的路徑和名字

xferlog_std_format=YES # 是否使用標準的ftp xferlog模式

connect_from_port_20=YES # 是否確信端口傳輸來自20(ftp-data)

idle_session_timeout=600 # 設置session超時時間

data_connection_timeout=120 # 設置數據傳輸超時時間

max_clients=50 # 用戶最大連接數 默認是0不限止

max_per_ip=5 # 每個IP地址最大連接數

anon_max_rate=102400 # 匿名的下載速度 KB

local_max_rate=102400 # 普通用戶的下載速度 KB

userlist_enable=YES #是否啟用用戶列表

userlist_deny=YES #只要出現在用戶列表中的用戶都是拒絕的

userlist_file=/etc/vsftpd/user_list #用戶列表文件

查看bool值

[root@hhj ~]# getsebool -a | grep ftp

allow_ftpd_anon_write --> off #允許用戶寫

allow_ftpd_full_access --> on

allow_ftpd_use_cifs --> off

allow_ftpd_use_nfs --> off

ftp_home_dir --> on #允許創建家目錄

ftpd_connect_db --> off

ftpd_use_fusefs --> off

ftpd_use_passive_mode --> off

httpd_enable_ftp_server --> off

tftp_anon_write --> off

tftp_use_cifs --> off

tftp_use_nfs --> off

必須開啟ftp_home_dir --> on與allow_ftpd_full_access --> on、allow_ftpd_anon_write--> on

setsebool -P ftp_home_dir on

文件不能上傳要從三個方面考慮:配置文件、文件系統(權限)、selinux

[root@hhj ~]# chown ftp:ftp /var/ftp/

對FTP訪問的設置

vim /etc/pam.d/vsftpd

客戶端

linux 安裝ftp客戶端工具

yum install ftp lftp -y

可以用ftp 192.168.1.104 連接,可以輸入用戶名

也可以用lftp 192.168.1.104 連接,匿名用戶連接

也可以指定用戶lftp -u ftp(用戶名) 192.168.1.104 指定用戶連接

put xx.txt上傳文件

linux中ftp配置