Linux下Vsftpd的系統(tǒng)架構(gòu)
環(huán)境:linux as 3.0 + vsftpd -1.2.0-4的系統(tǒng)架構(gòu),是在獨(dú)立服務(wù)器環(huán)境!
1. 配置本地組訪問的FTP
首先創(chuàng)建用戶組 test和FTP的主目錄
- groupadd test
- mkdir /tmp/test
然后創(chuàng)建用戶
- useradd -G test –d /tmp/test –M usr1
注:
G:用戶所在的組;d:表示創(chuàng)建用戶的自己目錄的位置給予指定;M:不建立默認(rèn)的自家目錄,也就是說在/home下沒有自己的目錄
useradd –G test –d /tmp/test –M usr2
接著改變文件夾的屬主和權(quán)限
chown usr1.test /tmp/test ----這表示把/tmp/test的屬主定為usr1
chmod 750 /tmp/test ----7表示wrx 5表示rx 0表示什么權(quán)限都沒有
這個(gè)實(shí)驗(yàn)的目的就是usr1有上傳、刪除和下載的權(quán)限,而usr2只有下載的權(quán)限沒有上傳和 刪除的權(quán)限,當(dāng)然啦大家別忘了我們的主配置文件vsftpd.conf,要確定local_enable=yes、write_enable=yes、 chroot_local_usr=yes這三個(gè)選項(xiàng)是有的哦!
2. 配置獨(dú)立FTP的服務(wù)器的非端口標(biāo)準(zhǔn)模式進(jìn)行數(shù)據(jù)連接
這個(gè)非常容易:在VSFTPD.CONF中添加
Listen_port=33333
就可以了啦!
3. 配置單獨(dú)的虛擬FTP,使用虛擬FTP用戶,并使建立的四個(gè)帳戶中有不同的權(quán)限
(兩個(gè)有讀目錄的權(quán)限,一個(gè)有瀏覽、上傳、下載的權(quán)限,一個(gè)有瀏覽、下載、刪除和改文件名的權(quán)限)
A:配置網(wǎng)卡
第一塊網(wǎng)卡地址是10.2.3.4 掩碼是255.255.0.0
ifconfig eth0:1 211.131.4.253 netmask 255.255.255.0 up
B:寫入/etc/sysconfig中(為了重起后IP地址不會(huì)丟失)
cd /etc/sysconfig/network-scripts
cp ifcfg-eth0 ifcfg-eth0:1
vi ifcfg-eth0:1在其中修改內(nèi)容如下
- DEVICE=eth0:1
- BROADCAST=211.131.4.255
- HWADDR=該網(wǎng)卡的MAC地址
- IPADDR=211.131.4.253
- NETMASK=255.255.255.0
- NETWORK=211.131.4.0
- onBOOT=yes
- TYPE=Ethernet
wq推出
C:進(jìn)入vsftpd.conf所在的文件夾
cp vsftpd.conf vsftpd2.conf
修改vsftpd.conf添加以下信息
Listen_address=10.2.3.4
修改vsftpd2.conf添加以下信息
Listen_address=211.131.4.253
Ftpd_banner=this is a virtual ftp test
到此虛擬的FTP服務(wù)器建立好了
D:建立logins.txt
vi /tmp/logins.txt
添加入下信息:
longlei------------用戶名
longlei------------密碼
zhangweibo
zhangweibo
jinhui
jinhui
lxp
lxp
格式要按照我的來哦,一個(gè)用戶名,一個(gè)密碼啦
F:建立訪問者的口令庫文件,然后修改其權(quán)限
db_load –T –t hash –f /tmp/logins.txt /etc/vsftpd_login.db
G:進(jìn)如/etc/pam.d/中創(chuàng)建ftp.vu
在此文件中添加如下信息
- auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
- account required /lib/security/pam_userdb.so db=/etc/vsftpd_login
H:在/var/ftp/創(chuàng)建目錄并改變其屬性和它的屬主
- useradd -d /var/ftp/test qiang
- chmod 700 /var/ftp/test
在目錄中添加test_file測試文件
I:進(jìn)入vsftpd2.conf修改其中的信息
- Listen_yes
- Anonymous_enable=no
- Local_enable=yes
- Write_enable=no
- Anon_upload_enable=no
- Anon_mkdir_write_enable=no
- Anon_other_write_enable=no
- Chroot_local_user=yes
- Guest_enable=yes----------起用虛擬用戶
- Guest_username=qiang------將虛擬用戶映射為本地用戶
- Listen_port=5555
- Max_client=10
- Max_per_ip=1
- Ftpd_banner=this is a virtual server and users
- Pam_service_name=ftp.vu
注:在主配置文件中給的權(quán)限越低,在后面分用戶管理的時(shí)候?qū)碜o(hù)的權(quán)限劃分的空間就越大,因?yàn)橹髋渲梦募罡叩南拗品?wù)先讀主配置文件,然后再讀用戶的配置文件
重起服務(wù),到此虛擬USER就建好了
J:在VSFTPD.CONF所在的目錄中創(chuàng)建virtaul文件目錄
并在文件目錄中創(chuàng)建以你用戶名命名的配置文件
Longlei zhangweibo jinhui lxp
在longlei中添加:
- Anon_world_readable_only=no
在lxp中添加
- Anon_world_readable_only=no
這樣此兩個(gè)用戶就有了瀏覽目錄的權(quán)限了
在jinhui中添加
- Anon_world_readable_only=no
- Write_enable=yes
- Anon_upload_enable=yes
此用戶就有了上傳、下載和瀏覽的權(quán)限
在zhangweibo中添加
- Anon_world_readable_only=no
- Write_enable=yes
- Anon_upload_enable=yes
- Anon_other_write_enable=yes
此用戶就有了上傳、下載、刪除文件目錄、修改文件名和瀏覽的權(quán)限
K:修改vsftpd2.conf
加入user_config_dir=/vsftpd.conf所在的目錄/virtual
重起服務(wù)器
下面是VSFTPD.CONF中的所有配置信息
- Anonymous_enable=yes (允許匿名登陸)
- Dirmessage_enable=yes (切換目錄時(shí),顯示目錄下.message的內(nèi)容)
- Local_umask=022 (FTP上本地的文件權(quán)限,默認(rèn)是077)
- Connect_form_port_20=yes (啟用FTP數(shù)據(jù)端口的數(shù)據(jù)連接)*
- Xferlog_enable=yes (激活上傳和下傳的日志)
- Xferlog_std_format=yes (使用標(biāo)準(zhǔn)的日志格式)
- Ftpd_banner=XXXXX (歡迎信息)
- Pam_service_name=vsftpd (驗(yàn)證方式)*
- Listen=yes (獨(dú)立的VSFTPD服務(wù)器)*
- Anon_upload_enable=yes (開放上傳權(quán)限)
- Anon_mkdir_write_enable=yes (可創(chuàng)建目錄的同時(shí)可以在此目錄中上傳文件)
- Write_enable=yes (開放本地用戶寫的權(quán)限)
- Anon_other_write_enable=yes (匿名帳號可以有刪除的權(quán)限)
- Anon_world_readable_only=no (放開匿名用戶瀏覽權(quán)限)
- Ascii_upload_enable=yes (啟用上傳的ASCII傳輸方式)
- Ascii_download_enable=yes (啟用下載的ASCII傳輸方式)
- Banner_file=/var/vsftpd_banner_file (用戶連接后歡迎信息使用的是此文件中的相關(guān)信息)
- Idle_session_timeout=600(秒) (用戶會(huì)話空閑后10分鐘)
- Data_connection_timeout=120(秒) (將數(shù)據(jù)連接空閑2分鐘斷)
- Accept_timeout=60(秒) (將客戶端空閑1分鐘后斷)
- Connect_timeout=60(秒) (中斷1分鐘后又重新連接)
- Local_max_rate=50000(bite) (本地用戶傳輸率50K)
- Anon_max_rate=30000(bite) (匿名用戶傳輸率30K)
- Pasv_min_port=50000 (將客戶端的數(shù)據(jù)連接端口改在Pasv_max_port=60000 50000—60000之間)
- Max_clients=200 (FTP的最大連接數(shù))
- Max_per_ip=4 (每IP的最大連接數(shù))
- Listen_port=5555 (從5555端口進(jìn)行數(shù)據(jù)連接)
- Local_enble=yes (本地帳戶能夠登陸)
- Write_enable=no (本地帳戶登陸后無權(quán)刪除和修改文件)
這是一組
- Chroot_local_user=yes (本地所有帳戶都只能在自家目錄)
- Chroot_list_enable=yes (文件中的名單可以調(diào)用)
- Chroot_list_file=/任意指定的路徑/vsftpd.chroot_list (前提是chroot_local_user=no)
這又是一組
- Userlist_enable=yes (在指定的文件中的用戶不可以訪問)
- Userlist_deny=yes
- Userlist_file=/指定的路徑/vsftpd.user_list
又開始單的了
- Banner_fail=/路徑/文件名 (連接失敗時(shí)顯示文件中的內(nèi)容)
- Ls_recurse_enable=no
- Async_abor_enable=yes
- one_process_model=yes
- Listen_address=10.2.2.2 (將虛擬服務(wù)綁定到某端口)
- Guest_enable=yes (虛擬用戶可以登陸)
- Guest_username=所設(shè)的用戶名 (將虛擬用戶映射為本地用戶)
- User_config_dir=/任意指定的路徑/為用戶策略自己所建的文件夾 (指定不同虛擬用戶配置文件的路徑)
又是一組
- Chown_uploads=yes (改變上傳文件的所有者為root)
- Chown_username=root
又是一組
- Deny_email_enable=yes (是否允許禁止匿名用戶使用某些郵件地址)
- Banned_email_file=//任意指定的路徑/xx/
又是單的
- Pasv_enable=yes ( 服務(wù)器端用被動(dòng)模式)
- User_config_dir=/任意指定的路徑//任意文件目錄 (指定虛擬用戶存放配置文件的路徑)
【編輯推薦】