疑難雜症
vsftpd 是「very secure ftp daemon」的縮寫,安全性是它的乙個最大的特點。vsftpd 是乙個 unix 類作業系統上執行的伺服器的名字,它可以執行在諸如 linux、bsd、solaris、 hp-unix等系統上面,是乙個完全免費的、開放源**的ftp伺服器軟體,支援很多其他的 ftp 伺服器所不支援的特徵。
比如:非常高的安全性需求、頻寬限制、良好的可伸縮性、可建立虛擬使用者、支援ipv6、速率高等。
vsftpd是一款在linux發行版中最受推崇的ftp伺服器程式。特點是小巧輕快,安全易用。
①vsftpd 是以一般身份啟動服務,所以對於 linux 系統的使用許可權較低,對於linux 系統的危害就相對的減低了。此外, vsftpd 亦利用 chroot() 這個函式進行改換根目錄的動作,使得系統工具不會被vsftpd 這支服務所誤用;實驗環境:②任何需要具有較高執行許可權的 vsftpd 指令均以一支特殊的上層程式( parent process ) 所控制 ,該上層程式享有的較高執行許可權功能已經被限制的相當的低,並以不影響linux 本身的系統為準;
③所有來自 clients 端,想要使用這支上層程式所提供的較高執行許可權之vsftpd 指令的需求,均被視為『不可信任的要求』來處理,必需要經過相當程度的身份確認後,方可利用該上層程式的功能。例如chown(), login 的要求等等動作;
④此外,上面提到的上層程式中,依然使用 chroot() 的功能來限制使用者的執行許可權。
實驗目的:
學會搭建簡單的vsftp服務
[root@localhost ~]# yum install -y vsftpd*
[root@localhost ~]# rpm -qa | grep vsftpd
vsftpd-3.0.2-22.el7.x86_64
[root@localhost ~]#
[root@localhost ~]# vim /etc/vsftpd/vsftpd.conf # 在檔案末尾,新增下面引數
# 如果某使用者被限制在其家目錄下,那麼該使用者的家目錄不能再具有寫許可權,否則會報錯。
# 推薦在主配置檔案中新增下面的配置。防止出現錯誤 500 oops: vsftpd: refusing to run with writable root inside chroot()
allow_writeable_chroot=yes
注:配置檔案中的chroot*一類引數,可以有效的限制使用者活動的目錄。從而提公升了安全性。
小插曲,講述chroot_list_enable 與 chroot_local_list 相愛相殺的故事。
分別是以下幾種情況:
當chroot_list_enable=no,chroot_local_user=yes時
所有的使用者,禁止切換到其他目錄。
當chroot_list_enable=no,chroot_local_user=no時
所有的使用者,可以切換到其他目錄。
當chroot_list_enable=yes,chroot_local_user=yes時
chroot_list中使用者,可以切換目錄。未在檔案中的使用者,禁止切換目錄。
當chroot_list_enable=yes,chroot_local_user=no時
chroot_list中使用者,禁止切換目錄。未在檔案中的使用者,可以切換目錄。
[root@localhost ~]# useradd -s /sbin/nologin -d /home/test test
[root@localhost ~]# passwd test
changing password for user test.
new password:
bad password: the password is shorter than 8 characters
retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]#
[root@localhost ~]# setenforce 0 # 關閉selinux
[root@localhost ~]# firewall-cmd --permanent --add-service=ftp # 讓防火牆放行ftp服務
success
[root@localhost ~]# firewall-cmd --reload # 重啟防火牆
success
[root@localhost ~]# systemctl start vsftpd # 啟動vsftpd服務
[root@localhost ~]# systemctl status vsftpd # 檢視vsftpd服務的狀態
● vsftpd.service - vsftpd ftp daemon
loaded: loaded (/usr/lib/systemd/system/vsftpd.service; disabled; vendor preset: disabled)
active: active (running) since wed 2020-02-05 02:21:51 est; 10min ago
process: 28584 execstart=/usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf (code=exited, status=0/success)
main pid: 28585 (vsftpd)
cgroup: /system.slice/vsftpd.service
└─28585 /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf
feb 05 02:21:51 localhost.localdomain systemd[1]: starting vsftpd ftp daemon...
feb 05 02:21:51 localhost.localdomain systemd[1]: started vsftpd ftp daemon.
[root@localhost ~]#
匿名登入
開啟cmd,輸入 ftp ip 進行連線,輸入使用者名稱:anonymous, 密碼:直接敲回車。
如下圖,成功登入
本地使用者登入
重複剛才連線的操作,輸入使用者名稱(剛剛建立的本地使用者test):test,密碼:你設定的,回車登入。
如下圖,成功登入
注:乙個非常簡單的ftp伺服器就搭建完成了。
虛擬使用者登入
詳情請移步到這篇 vsftpd虛擬使用者配置。
關於vsftpd本地使用者登入出現 530報錯 的問題,請看這篇。530報錯問題
vsftpd伺服器的搭建
趁熱把自己搭建vsftpd的過程寫下來。我用的系統是fc13,安裝vsftpd yum install vsftpd 第一步 vim login.txt userone onepasswd usertwo twopasswd wq第二步 db load t t hash f login.txt et...
NFS伺服器搭建(基礎篇)
客戶端疑難雜症 nfs 是 network file system 的縮寫,即網路檔案系統。功能是讓客戶端通過網路訪問不同主機上磁碟裡的資料,主要用在類unix系統上實現檔案共享的一種方法。nfs version 4 nfsv4 works through firewalls and on the ...
利用vsftpd搭建ftp伺服器
昨天在實驗室內網的一台機器上搭建了乙個ftp伺服器,方便大家共享檔案。這個ftp server要滿足的要求是 有多個使用者,使用乙個共用目錄,每個人都能上傳檔案,但是只能對屬於自己的檔案進行修改 刪除 伺服器雖然在內網的機器上,但是要求在整個校園內都可以方便的訪問。首先,在這台內網機器上建立乙個資料...