A. linux下的ftp服務如何架構
應該是用戶問題你是用匿名用戶登陸?
配置詳細的過程如下:
vsftpd.conf是vsftpd伺服器的主配置文件
/etc/vsftpd/vsftpd.conf
配置文件中所有的配置項都有相同的格式
anonymous_enable=YES
配置文件中的注釋行以「#」開始
配置文件的詳細幫助信息可查詢手冊頁
# man vsftpd.conf
vsftpd.conf的預設配置:
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
pam_service_name=vsftpd
userlist_enable=YES
listen=YES
tcp_wrappers=YES
vsftpd.ftpusers用於保存不允許進行FTP登錄的本地用戶帳號
# head -5 /etc/vsftpd.ftpusers
# Users that are not allowed to login via ftp
root
bin
daemon
adm
vsftpd.user_list文件具有對vsftpd伺服器更靈活的用戶訪問控制
/etc/vsftpd.user_list
使用vsftpd.user_list文件需要在主配置文件中進行設置
設置禁止vsftpd.user_list文件中的用戶登錄
userlist_enable=YES
userlist_deny=YES
設置只允許vsftpd.user_list文件中的用戶登錄
userlist_enable=YES
userlist_deny=NO
vsftpd伺服器提供匿名用戶登錄的功能
匿名用戶使用的登錄用戶名
anonymous
ftp
匿名FTP用戶登錄的口令通常是使用用戶的E-mail地址,在vsftpd中輸入任何字元串或直接回車都可以登錄
所有匿名用戶都登錄到相同的目錄中
/var/ftp
FTP伺服器的匿名登錄可用於構建公共的文件下載伺服器
伺服器啟動
# service vsftpd start
ftp命令登錄FTP伺服器的格式
# ftp 你設置的IP
匿名登錄
使用用戶名anonymous或ftp
登錄的FTP根目錄為系統目錄「/var/ftp」
本地用戶登錄
使用系統用戶帳號和口令登錄ftp伺服器
登錄FTP伺服器後的目錄為用戶宿主目錄,用戶可轉換到系統中的其他目錄
希望對你有幫助
B. 如何在linux伺服器中安裝ftp伺服器
在創建FTP伺服器之有先命令: ps -ef |grep vsftpd
查一下系統有沒有安裝vsftpd這個伺服器,如果出現如下圖所示的界面說明沒有安裝。
然後再執行:yum install vsftpd -y
進行在線安裝vsftpd這個服務。
安裝成功以後需要把匿名登陸的這個功能關閉了。
使用命令: vim /etc/vsftpd/vsftpd.conf
然後在里成找到:
anonymous_enable=NO
然後再查看一下vsftpd這個服務有沒有啟動。
使用命令: chkconfig --list
如果你如下圖所示一樣沒有啟動。
沒有啟動使用啟動:chkconfig --level 35 vsftpd on
再接下來就是創建用戶名。
創建用戶名:useradd jingyan
再然後就是創建密碼。
命令:passwd jingyan
再輸入兩次密碼就可以了。
最後重啟一下服務:service vsftpd start
如果出現啟動失敗則可以使用:/etc/rc.d/init.d/vsftpd restart
8
成功鏈接FTP伺服器上。
C. Linux搭建ftp在windows下這么訪問,需要怎麼設置
ping不通的話首先看看網卡,linux是虛擬機的話就換成僅主機或是橋接!在linux上做ftp服務,開啟服務!把它們換成一個網段,在客戶端ctrl+r運行!輸入ftp://ip(伺服器的)就可以了!要是匿名登錄上傳的話需要改配置文件,/etc/vsftpd/vsftpd.conf要記得起服務哦!!!1
D. linux搭建伺服器和ensp橋接
一、vsftp伺服器
1、將光碟掛載在/tmp/cdrom/目錄下面
mount/dev/cdrom/tmp/cdrom
2、首先測試在linux中是否安裝FTP服務
rpm-qa|grepvsftp
3、設置vsftpd服務開機啟動ntsysv
在終端中輸入ntsysv將vsftpd選中設置開機自動啟動
4、啟動vsftpd服務servicevsftpdstart啟動vsftpd服務
3、設置vsftpd服務開機啟動ntsysv
在終端中輸入ntsysv將vsftpd選中設置開機自動啟動4、啟動vsftpd服務servicevsftpdstart啟動vsftpd服務
5、查看21埠是否開啟netstat-an|grep21
6、給vsftpd添加運行級別
先查看chkconfig--listvsftpd
給予35的運行級別chkconfig--level35vsftpdon
①H3C 模擬器軟體:eNSP ;
②客戶端虛擬機:VMware Workstation(Win2000 OS)
註:虛擬機上裝Win2000 OS作為虛擬主機C1(測試用)
E. linux系統中怎樣配置ftp
Linux下配置VSftp伺服器步驟一、檢查是否安裝了vsftpd, rpm -qa |grep vsftp
Linux下配置VSftp伺服器步驟二、新建用戶
useradd test -g root -d /mpeg -s /sbin/nologin #該用戶僅用來支持FTP服務,因此不必讓他登錄系統
註:改變用戶的shell命令為usermod -s /sbin/nologin coship
Linux下配置VSftp伺服器步驟三、設置密碼
passwd test # 連續輸入兩次密碼
Linux下配置VSftp伺服器步驟四、修改SELinux參數
setsebool ftpd_disable_trans 1
service vsftpd restart
說明:如果不修改,連接時會提示
500 OOPS: cannot change directory:/mpeg
500 OOPS: child died
Linux下配置VSftp伺服器步驟五、修改/mpeg許可權
chmod 775 /mpeg
Linux下配置VSftp伺服器步驟六、設置/etc/vsftpd/vsftpd.conf
將anonymous_enable=NO,這樣可以限制匿名用戶登錄。
local_enable=YES #啟用本地用戶登錄
write_enable=YES #設置可以進行寫操作
local_umask=022 #設定上傳後文件的許可權掩碼
userlist_enable=YES #啟用用戶登錄控制
local_root=/mpeg (路徑自定義)#定義所有本地用戶的根目錄。當本地用戶登入時,將被更換到此目錄下。(注釋則訪問該用戶自己目錄)
否則訪問其它目錄時會提示:550 Failed to change directory.
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list #指出被鎖定在自家目錄中的用戶的列表文件。文件格式為一行一用戶。
注意:
當chroot_local_user=NO、chroot_list_enable=YES時,chroot_list中用戶為鎖定用戶,即他們除了自己的目錄,不可以訪問其他目錄。
當chroot_local_user=YES、chroot_list_enable=YES時,chroot_list中用戶為非鎖定用戶,他們可以訪問任何其他目錄。
Linux下配置VSftp伺服器步驟七、設置vsftpd自動啟動
chkconfig vsftpd on 或
運行ntsysv將vsftpd選上 或
echo "/usr/local/sbin/vsftpd &" >>/etc/rc.local
Linux下配置VSftp伺服器步驟八、如果出現不能訪問的現象可以將防火牆和SELinux停用
1、service iptables stop
2、編輯/etc/selinux/config將SELINUX設為disabled,即SELINUX=disabled
或終端里運行system-config-securitylevel-tui
或點擊「system"->"administration"->"security level and firewall對防火牆和SELinux進行設置
F. 求,在linux 中,搭建ftp伺服器的方法, 謝謝,
FTP不安全,萬不得已情況下,才可使用。
vsftp安全性相對較好
可採用sftp代替FTP
Linux另外常用的FTP:
proftp
vsftp
pureftp
下面以VSFTP為例:
安裝方式一:源碼包安裝
useradd -s /bin/false -d /var/ftp ftpvirtual
cd ......
make
make install
cp vsftpd.conf /etc
/usr/local/sbin/vsftpd & #啟動
安裝方式二:rpm安裝,推薦
rpm -ivh vsftpd-2.0.1-5.i386.rpm
或者 yum install vsftpd
/etc/init.d/vsftpd start
兩種方式安裝完成後,配置方法都一樣,下面開始講配置。
首先講主配置文件常見配置
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO #禁止匿名登錄
local_enable=NO #禁止本地用戶登錄
write_enable=YES #對本地用戶的寫許可權
local_umask=022 #本地用戶文件生成掩碼
dirmessage_enable=YES #顯示隱藏文件
xferlog_enable=YES #啟用上傳和下載日誌
connect_from_port_20=YES #伺服器將啟用FTP數據埠的連接請求
xferlog_std_format=YES #伺服器將使用標準的ftpd xferlog日誌格式
pam_service_name=vsftpd #設置PAM認證服務的配置文件名稱
userlist_enable=YES #設置文件中指定的用戶是否可以訪問vsftpd伺服器
listen=YES #FTP伺服器將處於獨立啟動模式
tcp_wrappers=YES #使用tcp_wrappers作為主機訪問控制方式
chroot_local_user=YES #將FTP本地用戶禁錮在宿主目錄中
chroot_list_enable=YES #將用戶禁錮在宿主目錄中
listen_address=192.168.0.2 #偵聽地址
pasv_enable=YES #是否允使用被動模式,默認是允許的。
pasv_min_port=10000 #指定使用被動模式時打開埠的最小值
pasv_max_port=10004 #指定使用被動模式時打開埠的最大值。
max_clients=100 #設置FTP伺服器所允許的最大客戶端連接數,值為0時表示不限制
max_per_ip=5 #同一IP地址允許的最大客戶端連接數,值為0時表示不限制,即線程
local_max_rate=500000 #設置本地用戶的最大傳輸速率,單位為bytes/sec,值為0時表示不限制
anon_max_rate=200000 #設置匿名用戶的最大傳輸速率,單位為bytes/sec,值為0表示不限制
use_localtime=YES #在vsftp之中的時間默認值是顯式GMT時間,因此我們會發現上面的時間與我們時寄存取的時間差八小時。改了這一項就好了。
listen_port=10021 改埠
one_process_model=NO yes可增加性能,增加負載,便降低安全,建議NO
nopriv_user=nobody 默認以nobody運行vsftp
對外服務,建議使用stand alone方式啟動,性能好。
僅內部人員,建議用super daemon啟動,修改如下:
listen=NO
……略
vsftp默認使用GMT時間,建議修改如下:
use_localtime=YES
/etc/vsftpd.ftpusers #保存不允許進行FTP登錄的本地用戶帳號,提高系統的安全性
/etc/vsftpd.user_list
#禁止vsftpd.user_list中的用戶
userlist_enable=YES
userlist_deny=YES
#僅允許vsftpd.user_list中的用戶
userlist_enable=YES
userlist_deny=NO
日誌:
vsftpd_log_file=/var/log/vsftpd.log
下面開始講vsftp四種「用戶認證」的方式
一、匿名用戶 ftp anonymous
/var/ftp 默認主目錄
在/etc/vsftpd/vsftpd.conf中:
anonymous_enable=YES
anon_upload_enable=YES
anon_other_write_enable=YES #可刪除
chmod -R 777 /var/ftp/pub/
修改/var/ftp/pub的SELinux許可權
執行以下命令,修改/var/ftp/pub這目錄的類型:
chcon -R -t ftpd_anon_rw_t /var/ftp/pub/
anon_root=/var/www/html/ftp #改匿名用戶的宿主目錄
二、本地用戶
默認支持,使用各自的宿主目錄。不安全
local_root=/opt #新增這一項,改成其他路徑
三、虛擬用戶 PAM文件方式 推薦
建立虛擬用戶口令庫文件
# cat logins.txt
mike
pwabcd
john
pw1234
生成vsftpd的認證文件
db_load -T -t hash -f logins /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd/vsftpd_login.db
新創建虛擬用戶所需的PAM配置文件
cat /etc/pam.d/vsftpd.vu
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
新創建虛擬用戶的系統用戶所要訪問的目錄並設置相應許可權
# useradd -s /bin/false -d /home/ftpsite ftpvirtual
# chmod 700 /home/ftpsite
#設置vsftpd.conf配置文件,支持虛擬用戶
guest_enable=YES
guest_username=ftpvirtual
pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/vsftpd_user_conf #添加用戶配置文件目錄設置
/etc/vsftpd/vsftpd_user_conf/mike (同名),這里沒有的設置默認按vsftpd.conf的設置執行
anon_world_readable_only=NO #可以瀏覽FTP目錄和下載文件
anon_upload_enable=YES #用戶可以上傳文件,等同於 write_enable=yes 允許上傳
anon_mkdir_write_enable=YES #具有建立和刪除目錄的權利
anon_other_write_enable=YES #具有文件改名和刪除文件的許可權
local_root=/data/userspace #設置虛擬用戶登錄後的主目錄
anon_max_rate=1024000 #以Bytes/s為單位,這里限8Mbit,范圍大概在80%到120%之間
四、虛擬用戶 mysql認證方式 推薦
1. mysql安裝見mysql筆記
2.1 openssl-0.9.8e 源程序預編譯時在日誌中可能出現md5.h "Present But Cannot Be Compiled的錯誤,卸載下面某些包可能解決問題。
cyrus-sals-sql cyrus-sasl-ntlm cyrus-sasl-gssapi cyrus-sasl-devel openldap-devel
然後移除系統可能自帶的:
mv /usr/bin/openssl /usr/bin/openssl.OFF
mv /usr/include/openssl /usr/include/openssl.OFF
ln -s /usr/local/ssl/bin/openssl /usr/bin/openssl
ln -s /usr/local/ssl/include/openssl /usr/include/openssl
配置庫文件搜索路徑
#echo "/usr/local/ssl/lib" >> /etc/ld.so.conf
#ldconfig -v
2.2 或者安裝openssl-0.9.8e的rpm包
3. pam_mysql-0.7RC1.tar.gz
#./configure --with-mysql=/usr/local/mysql --with-openssl=/usr/local/ssl
如果mysql是rpm安裝的,則不帶--with-mysql參數,如果openssl是rpm安裝的,參數為--with-openssl
make;make install
注意pam_mysql.so路徑,可能在/usr/lib/security/pam_mysql.so或/lib/security/pam_mysql.so
vi /etc/pam.d/vsftp.mysql #新建,僅兩行
auth required /lib/security/pam_mysql.so user=vsftpd passwd=123456 host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2
account required /lib/security/pam_mysql.so user=vsftpd passwd=123456 host=localhost db=vsftp table=users usercolumn=name passwdcolumn=passwd crypt=2
4.0 准備資料庫、表和數據
mysql> create database vsftp;
mysql> grant select on vsftp.* to vsftpd@localhost identified by '123456';
mysql> grant select on vsftp.* to [email protected] identified by '123456';
mysql> use vsftp;
mysql> create table users (
-> id int AUTO_INCREMENT NOT NULL,
-> name char(20) binary NOT NULL,
-> passwd char(48) binary NOT NULL,
-> primary key(id)
-> );
mysql> insert into users(name,passwd) values('hlc',password('hlc'));
mysql> insert into users(name,passwd) values('holly',password('holly'));
5.0 修改主配置文件
vi /etc/vsftpd/vsftpd.conf
guest_enable=YES
guest_username=vsftp
listen=YES
pam_service_name=vsftpd.mysql
以上完成了vsftp的配置,下面是補充:
dirmessage_enable=YES #設置歡迎語 在每個目錄下建立.message,寫入歡迎語即可。
db_load支持包(前面三個即可):
db4
db4-devel
db4-utils
db4-java
db4-tcl
Linux建議關閉selinux或征對FTP不做任何安全
setsebool -P -ftpd_disable_trans on
setsebool -P -allow_ftpd_full_access on
servie vsftpd restart
或者需要重啟伺服器
底下列出FTP訪問中所出現數字代碼的含意。
110 重新啟動標記應答。
120 服務在多久時間內ready。
125 數據鏈路埠開啟,准備傳送。
150 文件狀態正常,開啟數據埠。
200 命令執行成功。
202 命令執行失敗。
211 系統狀態或是系統求助響應。
212 目錄的狀態。
213 文件的狀態。
214 求助的訊息。
215 名稱系統類型。
220 新的聯機服務ready。
221 服務的控制埠關閉,可以注銷。
225 數據鏈接開啟,但無傳輸動作。
226 關閉數據埠,請求的文件操作成功。
227 進入passive mode。
230 用戶登錄。
250 請求的文件操作完成。
257 顯示目前的路徑名稱。
331 用戶名稱正確,需要密碼。
332 登入時需要帳戶信息。
350 請求的操作需要進一部的命令。
421 無法提供服務,關閉控制連結。
425 無法開啟數據鏈路。
426 關閉聯機,終止傳輸。
450 請求的操作未執行。
451 命令終止:有本地的錯誤。
452 未執行命令:磁碟空間不足。
500 格式錯誤,無法識別命令。
501 參數語法錯誤。
502 命令執行失敗。
503 命令順序錯誤。
504 命令所接的參數不正確。
530 未登入。
532 儲存文件需要賬戶登入。
550 未執行請求的操作。
551 請求的命令終止,類型未知。
552 請求的文件終止,儲存位溢出。
553 未執行請求的的命令,名稱不正確。
G. linux下怎麼安裝ftp伺服器
1、檢查安裝vsftpd軟體
使用如下命令#rpm -qa |grep vsftpd可以檢測出是否安裝了vsftpd軟體,
如果沒有安裝,使用YUM命令進行安裝。
2、啟動服務
使用vsftpd軟體,主要包括如下幾個命令:
啟動ftp命令#service vsftpd start
停止ftp命令#service vsftpd stop
重啟ftp命令#service vsftpd restart
3、vsftpd的配置
ftp的配置文件主要有三個,位於/etc/vsftpd/目錄下,分別是:
ftpusers 該文件用來指定那些用戶不能訪問ftp伺服器。
user_list 該文件用來指示的默認賬戶在默認情況下也不能訪問ftp
vsftpd.conf vsftpd的主配置文件
4、以匿名用戶為例,我們去掉配置文件vsftpd.conf 裡面以下
anon_upload_enable=YES
anon_mkdir_write_enable=YES
兩項前面的#號,就可以完成匿名用戶的配置,此時匿名用戶既可以登錄上傳、下載文件。記得修改配置文件後需要重啟服務。
5、非匿名賬戶的創建與使用
vsftpd服務與系統用戶是相互關聯的,例如我們創建一個名為test 的系統用戶,那麼此用戶在默認配置的情況下就可以實現登錄,如圖
登錄後在頁面創建名為「aa」的文件夾,同樣我們在伺服器test用戶 的home目錄里也可以看到相同的文件。
H. 如何在linux下開啟FTP服務
Linux下ftp服務可以通過搭建vsftpd服務來實現,以CentOS為例,首先查看系統中是否安裝了vsftpd,可以通過執行命令rpm -qa |grepvsftpd來查看是否安裝相應的包,如果沒有安裝那麼可以執行yum-yinstallvsftpd來安裝,安裝之後首先創建ftp用戶,比如ftp_test,命令如下:
useradd-s/sbin/nologin-d/home/ftp_testftp_test
目錄盡量不要選擇根目錄下,這里是/home/ftp_test,並且ftp_test這個目錄不要手動創建,否則許可權會有問題,執行命令的時候會自動創建,
現在可以看到上面的路徑是一個/,對於ftp用戶來說也就是根目錄了,只能在這個目錄下操作,而無法跳出這個目錄
以上就是vsftpd服務的基本搭建過程,實際使用時可以分配多個用戶
I. 如何在 linux 中搭建 FTP 服務
用VSFTP來架設FTP伺服器,VSFTP伺服器是目前最好的FTP伺服器軟體,優點是體積小,可定製強,效率高。
在安裝Linux時會有ftp SERVER這個選項 安裝的時候選中的話就把ftp功能給安裝上了。
安裝系統時沒有安裝也可以以後再進行安裝,步驟如下:
主菜單-->系統設置-->添加刪除應用-->選中ftp SERVER,點擊update;
展開彈出的界面看到需要安裝vsftpd-0:1.2.1-3E.1.i386;
單擊繼續 需要插入安裝盤-->OK
[root@mopx001 root]# cat /etc/redhat-release
Red Hat Enterprise Linux AS release 3 (Taroon Update 5)
檢查vsftpd rmp包是否已安裝
[root@mopx001 root]# rpm -qa|grep vsftpd
vsftpd-1.2.1-3E.1
啟動ftp服務
[root@mopx001 root]# /sbin/service vsftpd start
Starting vsftpd for vsftpd: [ OK ]
幾個重要的相關文件
[root@mopx001 etc]# ls vsf*
vsftpd.ftpusers vsftpd.user_list
vsftpd:
vsftpd.conf
文件的用處
vsftpd.ftpusers # Users that are not allowed to login via ftp
vsftpd.user_list # vsftpd userlist
vsftpd.conf # vsftp parameters config file
添加專門的ftp用戶
[root@mopx001 etc]# groupadd ftpadmin
[root@mopx001 etc]# useradd ftpadmin -g ftpadmin
[root@mopx001 etc]# passwd ftpadmin
Changing password for user ftpadmin.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@mopx001 etc]# vi vsftpd.user_list
添加ftpadmin用戶
設定使用者不得更改目錄。這樣做的目的也是基於安全性的考慮。
一般情況下,使用者的預設目錄為/home/username。
[root@mopx001 etc]# cd vsftpd
[root@mopx001 vsftpd]# vi vsftpd.conf
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
[root@mopx001 etc]# touch /etc/vsftpd.chroot_list
[root@mopx001 etc]# vi vsftpd.chroot_list
添加ftpadmin
取消anonymous登錄的功能。在vsftpd.conf文件中找到如下一行,並將其值改為「NO」
anonymous_enable=YES
重新vsFTPD伺服器。
[root@mopx001 vsftpd]# /etc/init.d/vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
測試
$ ftp 211.157.224.143
Connected to 211.157.224.143.
220 (vsFTPd 1.2.1)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (211.157.224.143:test): ftpadmin
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> put result3.txt
local: result3.txt remote: result3.txt
227 Entering Passive Mode (211,157,224,143,225,135)
150 Ok to send data.
226 File receive OK.
172427 bytes sent in 0.023 seconds (7.4e+03 Kbytes/s)
ftp> get temp.ls
local: temp.ls remote: temp.ls
227 Entering Passive Mode (211,157,224,143,31,50)
150 Opening BINARY mode data connection for temp.ls (0 bytes).
226 File send OK.
ftp>
至此配置成功~
J. linux怎麼搭建ftp伺服器
第一步:在 Ubuntu 中安裝 VSFTPD 伺服器
首先,我們需要更新系統安裝包列表,然後像下面這樣安裝 VSFTPD 二進制包:
$ sudo apt-get update
$ sudo apt-get install vsftpd
一旦安裝完成,初始情況下服務被禁用。因此,我們需要手動開啟服務,同時,啟動它使得在下次開機時能夠自動開啟服務