Linux CentOS 7 安裝配置vsftp

  學習Linux時間不長,首次安裝了vsftp,按照網上的各類帖子嘗試配置,不過都沒打到預期,不是被拒絕鏈接,就是鏈接超時,總之就是各類問題啊。固然了,不是別人配置的不對,而是本身不是太懂Linux,選擇的配置參數彼此之間不知道哪裏起了衝突。linux

  因此結合本身的系統把安裝配置過程記錄下來,方便之後學習總結。shell

 

  一、 安裝vsftpdide

  # yum install vsftpd  學習

  【刪除指令 yum remove vsftp*】測試

 

  2.、查看是否已經安裝上了spa

  # yum list installed | grep vsftpdcode

  vsftpd.x86_64                           3.0.2-25.el7                   @base進程

 

  三、啓動vsftp,而且關閉防火牆以方便測試ip

  # systemctl start vsftpdci

  # systemctl stop firewalld

 

  四、剛安裝完vsftp後,/etc/vsftpd/下的文件ftpusers,user_list,vsftpd.conf,vsftpd_conf_migrate.sh。

  默認狀況下,vsftp是容許匿名鏈接的,即不輸入用戶名和密碼直接經過ip就能夠鏈接上。

  默認的鏈接目錄是/var/ftp/pub,而且只有550的權限。

 

  五、只作簡單修改,只爲能按預期鏈接ftp。只允指定用戶進行登陸而且只能訪問本身的home目錄

  chroot_local_user=NO  (用於指定用戶列表文件中的用戶是否容許切換到上級目錄)

  chroot_list_enable=YES  (設置是否啓用chroot_list_file配置項指定的用戶列表文件)

  chroot_list_file=/etc/vsftpd/chroot_list  (用於指定用戶列表文件,須要本身手動建立)

  hide_file = .*  (不顯示以點開頭的隱藏文件)

  

  而後使用系統的本地用戶進行登陸,鏈接不成功,提示以下錯誤:

  500 OOPS: chroot

  please specify the password

  解決方法:關閉SElinux;修改配置文件/etc/vsftpd/vsftpd.conf添加參數:allow_writeable_chroot=YES

  實現預期效果。

 

  六、臨時關閉Selinux方法

  # getenforce  //查看Selinux狀態

  Enforcing

  # setenforce 0 //臨時關閉Selinux,當即生效

  # getenforce

  Permissive

 

  七、新建FTP用戶

  useradd ftpuser -d /mnt/ftpfile -s /sbin/nologin

  passwd ftpuser

  chown -R ftpuser:ftpuser /mnt/ftpfile

  將ftpuser添加到chroot_list中,鏈接ftp,提示530 Login incorrect,鏈接失敗。可是建立的普通帳號就能夠正常登錄。

  解決方法:不少提供對系統非登陸訪問的守護進程(如FTP)會檢查用戶的登陸shell是否列在/etc/shells中,若是沒有列出,守護進程就會拒絕訪問(這正是您所須要的動做)。

  打開 /etc/shells後,發現確實沒有/sbin/nologin這一行,添加上再次登錄,成功。

相關文章
相關標籤/搜索