1. 程式人生 > >linux ftp

linux ftp

vsftpd 下載文件 allow 登錄 rpm ins highlight inux number

檢查安裝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