linux ftp
檢查安裝vsftpd軟件
rpm -qa |grep vsftpd
或者
which vsftpd
查看ftp 服務器狀態
service vsftpd status
啟動ftp服務器
service vsftpd start
重啟ftp服務器
service vsftpd restart
查看服務有沒有啟動
netstat -an | grep 21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 如果看到以上信息,證明ftp服務已經開啟。
通過yum來安裝vsftpd
yum -y install vsftpd
設置為開機啟動
chkconfig vsftpd on
我們去掉配置文件vsftpd.conf 裏面以下
anon_upload_enable=YES
anon_mkdir_write_enable=YES
兩項前面的#號,就可以完成匿名用戶的配置,此時匿名用戶既可以登錄上傳、下載文件。記得修改配置文件後需要重啟服務。
忘記ftp密碼修改方法:
登錄服務器
cd /etc/vsftpd
vi vsftpd.conf
找到對應的ftp用戶名 (如果用戶名也忘記了 那麽 cd /etc 然後cat passwd 查看用戶和對應的管理目錄)
passwd ftp用戶名(回車)
service vsftpd restart
建用戶,命令行狀態下,在root用戶下:
運行命令:
useradd -d /home/test test
//增加用戶test,並制定test用戶的主目錄為/home/test
運行命令:
passwd test
//為test設置密碼,運行後輸入兩次相同密碼
更改用戶相應的權限設置:
運行命令:
usermod -s /sbin/nologin test
//限定用戶test不能telnet,只能ftp
運行命令:
usermod -s /sbin/bash test
//用戶test恢復正常
運行命令:
usermod -d /test test
//更改用戶test的主目錄為/test
限制用戶只能訪問/home/test,不能訪問其他路徑
修改/etc/vsftpd/vsftpd.conf如下:
chroot_list_enable=YES # (default follows) chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
編輯上面的內容
第一行:chroot_list_enable=YES //限制訪問自身目錄
第三行:編輯vsftpd.chroot_list。根據第三行說指定的目錄,找到chroot_list文件。(因主機不同,文件名也許略
有不同)
編輯vsftpd.chroot_list,將受限制的用戶添加進去,每個用戶名一行
如果需要允許用戶修改密碼,但是又沒有telnet登錄系統的權限:
運行命令:
usermod -s /usr/bin/passwd test
//用戶telnet後將直接進入改密界面
設置上傳權限
chmod 777 -R /home
要添加模塊和開放21端口才能提供ftp訪問。
1.添加ip_conntrack_ftp 模塊
[[email protected] ~]# vi /etc/sysconfig/iptables-config
添加下面一行
IPTABLES_MODULES="ip_conntrack_ftp"
2.打開21端口
[[email protected] ~]# vi /etc/sysconfig/iptables
添加
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
3.重啟iptables使新的規則生效
[[email protected] ~]# service iptables restart
到此,應該是可以了,若軟件測試連接過程中,在用戶驗證的時候出現了錯誤503,應該是selinux設置的問題:可以用下面的命令檢查
[[email protected] ~]#getsebool -a |grep ftp allow_ftpd_anon_write --> off allow_ftpd_full_access --> off allow_ftpd_use_cifs --> off allow_ftpd_use_nfs --> off allow_tftp_anon_write --> off ftp_home_dir --> off ftpd_connect_db --> off ftpd_disable_trans --> off ftpd_is_daemon --> on httpd_enable_ftp_server --> off
這是selinux的問題,我們只要打開ftp_home_dir的值開啟為on:,allow_ftpd_full_access也一同開啟即可。
[[email protected] ~]#setsebool -P ftp_home_dir 1 [[email protected] ~]#setsebool -P allow_ftpd_full_access 1
linux ftp