Linux CentOS 7 安裝配置vsftp

2022-08-16 22:15:19 字數 2422 閱讀 9682

學習linux時間不長,首次安裝了vsftp,按照網上的各種帖子嘗試配置,不過都沒打到預期,不是被拒絕連線,就是連線超時,總之就是各種問題啊。當然了,不是別人配置的不對,而是自己不是太懂linux,選擇的配置引數彼此之間不知道**起了衝突。

所以結合自己的系統把安裝配置過程記錄下來,方便以後學習總結。

# yum install vsftpd  

【刪除指令 yum remove vsftp*】

# yum list installed | grep vsftpd

vsftpd.x86_64                           3.0.2-25.el7                   @base

# systemctl start vsftpd

# systemctl stop firewalld

# firewall-cmd --zone=public --add-port=21/tcp --permanent

在centos7中,防火牆為firewall,在開啟狀態下執行上面語句,返回success;重啟後規則生效。

--zone #作用域

--add-port=21/tcp #新增埠,格式為:埠/通訊協議

--permanent #永久生效

檢視當前開了哪些埠,其實乙個服務對應乙個埠,每個服務對應/usr/lib/firewalld/services下面乙個xml檔案。

# firewall-cmd --list-services

檢視已經開啟了哪些服務

# firewall-cmd --get-services

新增乙個服務到firewalld

# firewall-cmd --add-service=ftp  // 這樣新增的service當前立刻生效,但系統下次啟動就失效

# firewall-cmd --permanent --add-service=ftp  // 要永久開放乙個service,加上 --permanent

然後通過systemctl restart firewalld.service重啟防火牆就生效了

剛安裝完vsftp後,/etc/vsftpd/下的檔案ftpusers,user_list,vsftpd.conf,vsftpd_conf_migrate.sh。

預設情況下,vsftp是允許匿名連線的,即不輸入使用者名稱和密碼直接通過ip就可以連線上。

預設的連線目錄是/var/ftp/pub,並且只有550的許可權。

只做簡單修改,只為能按預期連線ftp。只允指定使用者進行登入並且只能訪問自己的home目錄

anonymous_enable=no  (禁止匿名登入)

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

實現預期效果。

# getenforce//檢視selinux狀態

enforcing

# setenforce 0//臨時關閉selinux,立即生效

# getenforce

permissive

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這一行,新增上再次登陸,成功。

9、備註

在實際生成過程中,按上述配置完畢後,不報錯誤,但是一直超時連線不上。修改了本地ftp的連線模式為port或者其他與伺服器配置對應的方式就成功了。

Linux CentOS7 安裝 配置 Redis

cd usr local wget tar xzvf redis 3.2.8.tar.gz 解壓完成後檢視當前目錄會多乙個redis 3.2.8資料夾 注意 可能會安裝命令 可直接安裝gcc,gcc中包含make命令 安裝make命令 yum y install make 安裝gcc yum y i...

Linux centos7 下安裝配置redis

剛開始redis安裝的最新版本6.0.1,導致後面會出現gcc的版本問題弄了好久,建議安裝舊點的版本 wget建議將redis安裝包放到opt目錄下 mv redis 5.0.8.tar.gz opt移動完成進入opt目錄 cd opt二 解壓安裝包tar zxvf redis 5.0.8.tar....

Linux Centos7安裝chrome瀏覽器

參考 1.配置yum源 在目錄 etc yum.repos.d 下新建檔案 google chrome.repo cd ect yum.repos.d vim google chrome.repo 寫入如下內容 google chrome name google chrome baseurl ena...