Ⅰ 如何在ubuntu中安裝設置ftp伺服器
首先我們考慮搭建FTP服務需要關注的都有哪些方面?比如我們最經常關注的有:
1、如何添加FTP用戶?
2、如何臨時凍結某FTP用戶?
3、FTP用戶登入後的默認目錄?是否可以改變?
4、如何鎖定FTP用戶可訪問的目錄范圍?
5、FTP用戶可以有哪些訪問許可權?可否上傳文件?
我們將帶著這些問題來探討如何配置VSFTP以達到預定目標。
一、主要配置選項
VSFTP的主配置文件是/etc/vsftpd.conf 。由於可配置的選項實在太多,無法一一詳談,只能截取比較常用的功能配置選項來加以說明。完整說明可參考man vsftpd.conf。
這里需要注意的是,每個配置選項都是由「配置項目名稱=配置值「所定義。在每個配置變數後,要緊跟等號,再緊跟設置的變數值。中間不允許出現空格之類的分隔符,否則導致配置錯誤,無法生效!
另外,如果需要開通上傳功能,則應注意用來登錄FTP的本地系統用戶對要操作的目錄需要具備寫許可權,否則無法上傳文件!
版本vsftpd: version 2.0.6
啟動VSFTPD:sudo /etc/init.d/vsftpd start
停止VSFTPD:sudo /etc/init.d/vsftpd stop
重啟VSFTPD:sudo /etc/init.d/vsftpd restart
以下為常用的配置選項:
1、listen=YES
若設置為YES,開啟監聽網路。
2、anonymous_enable
若設置為YES,則允許匿名用戶訪問;若設置為NO則拒絕匿名用戶訪問。
如果開啟的話,則可以通過用戶名ftp或者anonymous來訪問,密碼隨便。
3、local_enable
若設置為YES,則允許通過本地用戶帳號訪問;若設置為NO,則拒絕本地用戶帳號訪問。如果你拒絕了陌生人訪問,那麼這個必須設置為YES吧,否則誰能訪問你的FTP呢?
4、write_enable
若設置為YES,則開啟FTP全局的寫許可權;若設置為NO,則不開。
若為NO則所有FTP用戶都無法寫入,包括無法新建、修改、刪除文件、目錄等操作,也就是說用戶都沒辦法上傳文件!!
5、anon_upload_enable
若設置為YES,開啟匿名用戶的上傳許可權。前提是write_enable有開啟,並且用戶具有對當前目錄的可寫許可權。 若設置為NO,則關閉匿名用戶的上傳許可權。
6、anon_mkdir_write_enable
若設置為YES,開啟匿名用戶新建目錄的許可權。前提是write_enable有開啟,並且用戶具有對當前目錄的可寫許可權。 若設置為NO,則關閉匿名用戶新建目錄的許可權。
7、dirmessage_enable
若設置為YES,則可開啟目錄信息推送,也就是用戶登錄FTP後可以列出當前目錄底下的文件、目錄。 這個應該要開啟吧!
8、xferlog_enable
若設置為YES,則開啟登錄、上傳、下載等事件的日誌功能。應開啟!
9、xferlog_file=/var/log/vsftpd.log
指定默認的日誌文件,可指定為其他文件。
10、xferlog_std_format
若設置為YES,則啟用標準的ftpd日誌格式。可以不啟用。
11、connect_from_port_20
若設置為YES,則伺服器的埠設為20。
如果不想用埠20,可以另外通過ftp_data_port來指定埠號。
12、chown_uploads
若設置為YES,則匿名用戶上傳文件後系統將自動修改文件的所有者。
若要開啟,則chown_username=whoever也需指定具體的某個用戶,用來作為匿名用戶上傳文件後的所有者。
13、idle_session_timeout=600
不活動用戶的超時時間,超過這個時間則中斷連接。
14、data_connection_timeout=120
數據連接超時時間 。
15、ftpd_banner=Welcome to blah FTP service.
FTP用戶登入時顯示的信息 。
16、local_root=/home/ftp
指定一個目錄,用做在每個本地系統用戶登錄後的默認目錄。
17、anon_root=/home/ftp
指定一個目錄,用做匿名用戶登錄後的默認目錄。
18、chroot_local_user、 chroot_list_enable、chroot_list_file
這個組合用於指示用戶可否切換到默認目錄以外的目錄。
其中,chroot_list_file默認是/etc/vsftpd.chroot_list,該文件定義一個用戶列表。
若chroot_local_user 設置為NO,chroot_list_enable設置為NO,則所有用戶都是可以切換到默認目錄以外的。
若chroot_local_user 設置為YES,chroot_list_enable設置為NO,則鎖定FTP登錄用戶只能在其默認目錄活動,不允許切換到默認目錄以外。
若chroot_local_user 設置為YES,chroot_list_enable設置為YES,則chroot_list_file所指定的文件裡面的用戶列表都可以訪問默認目錄以外的目錄,而列表以外的用戶則被限定在各自的默認目錄活動。
若chroot_local_user設置為NO,chroot_list_enable設置為YES,則chroot_list_file所指定的文件裡面的用戶列表都被限定在各自的默認目錄活動,而列表以外的用戶則可以訪問默認目錄以外的目錄。
建議設置:chroot_local_user與chroot_list_enable都設置為YES。這樣就只有chroot_list_file所指定的文件裡面的用戶列表可以訪問默認目錄以外的目錄,而列表以外的用戶則被限定在各自的默認目錄活動!
好處:所有人都被限制在特定的目錄裡面。如果某些特定用戶需要訪問其他目錄的許可權,只需將其用戶名寫入chroot_list_file文件就可以賦予其訪問其他目錄的許可權!
Ⅱ 如何用ubuntu搭建ftp伺服器
sudo apt-get install vsftpd
命令執行過程中,安裝程序會給本地創建一個名為「ftp」的用戶組,命令執行完之後會自動啟動FTP服務。
可以使用「netstat -tl」命令檢查FTP埠有沒有已經打開,或者直接在瀏覽器里輸入「ftp://你的伺服器IP」(新安裝的vsftpd默認是可以匿名不需要密碼直接訪問),如果能直接連接到FTP伺服器,則安裝vsftpd算是大功告成。
開啟、停止、重啟vsftpd服務也很簡單:
service vsftpd start | stop | restart
新安裝的vsftpd默認是可以匿名訪問,如果只想給某一個用戶專門訪問某一目錄下的許可權,則需要修改vsftpd的配置了。
首先,創建一個專門用來訪問的用戶,例如叫「test」:
mkdir -p /home/test
useradd test -g ftp -d /home/test -s /sbin/nologin
設置密碼:
passwd test
修改vsftpd的配置文件「vi /etc/vsftpd.conf」:
#禁止匿名訪問
anonymous_enable=NO
#接受本地用戶
local_enable=YES
#可以上傳
write_enable=YES
#啟用在chroot_list_file的用戶只能訪問根目錄
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
在/etc/vsftpd.chroot_list添加受訪問目錄限制的用戶:
echo "test" >> /etc/vsftpd.chroot_list
安裝過程中遇到的一些問題:
「530 Login incorrect」
在 /etc/shells 最後一行添加「/sbin/nologin」
「500 OOPS: vsftpd: refusing to run with writable root inside chroot()」
啟用了chroot的話,根目錄要設置為不可寫
chmod a-w /home/test
OK,重啟vsftpd之後就可以使用上面新創建的賬號訪問:)
Ⅲ 如何在 Ubuntu 環境下搭建郵件伺服器
1.先決條件
每個域必須有一個DNS伺服器。建議不要使用Live域用於測試目的。在本教程中,將在實驗室環境中使用測試域example.tst。在這個假設域名的DNS伺服器應該在至少以下記錄。
example.tst的forward zone配置:
IN MX 10 mail.example.tst.
mail.example.tst. IN A 192.168.10.1
example.tst的Reverse zone配置:
192.168.10.1 IN PTR mail.example.tst.
在配置郵件伺服器的過程中,這些記錄可以根據系統的要求進行修改。
2.設置主機名
首先,必須在/etc/hostname和/etc/hosts文件中指定郵件伺服器的主機名。前者應僅包含主機名。
root@mail:~# vim /etc/hostname
mail
root@mail:~# vim /etc/hosts
## IP Fully Qualified Domain Name Hostname ##
192.168.10.1 mail.example.tst mail
增加用戶
每一個linux用戶,在默認情況下,系統會為其自動創建一個郵箱。這些用戶和郵箱將被用作電子郵件帳戶和它們各自的郵箱。創建一個用戶是很容易的。
root@mail:~# adser fourbyte
安裝和配置SMTP
服務: postfix
配置文件路徑 /etc/postfix/
執行腳本 /etc/init.d/postfix
日誌文件 /var/log/mail.log
埠 TCP/25
SMTP:安裝postfix
postfix是廣泛使用的SMTP伺服器之一,因為它是穩定的、輕量級的、可擴展的、高度可定製的。安裝postfix可以使用apt-get的完成。
root@mail:~# apt-get install postfix
在安裝過程中,需要指定電子郵件伺服器和域名的類型。
由於此郵件伺服器就會直接向目的地發送電子郵件,我們選擇Internet Site。
郵件伺服器的域名也需要配置,這可以從確保該郵件伺服器發送的所有郵件都有@ example.tst作為發件人域。
postfix的配置文件存儲在/etc/postfix目錄。下面的配置文件是非常重要的。他們中的一些可能不存在,因此需要手動創建。
transport:主要用於定義郵件如何被路由到特定的目標域。繞過DNS查詢可以是一個很好的例子。在這種情況下,人們可以發送到域XYZ.com的電子郵件直接通過IP地址XYYX不考慮任何DNS查詢的結果。
access:可用於安全目的,如阻止發件人/收件人和他們的域名。
aliases:用於定義用戶別名。例如,發送到userA的郵件可以由userB和userC接收。
main.cf:是postfix的配置文件。
SMTP:准備配置文件
差不多可以准備配置文件了。transport與aliases配置文件沒有默認提供,需要手動創建。
root@mail:~# cd /etc/postfix
root@mail:/etc/postfix# touch transport aliases
main.cf
首先需要備份main.cf然後再進行修改。根據下面的配置添加或修改配置文件。有關參數的更多詳細信息,請參閱官方README和配置手冊。
root@mail:/etc/postfix# vim main.cf
## the name of the server ##
myhostname = mail.example.tst
## alias definitions ##
alias_maps = hash:/etc/postfix/aliases
alias_database = hash:/etc/postfix/aliases
## transport definition ##
transport_maps = hash:/etc/postfix/transport
## myorigin defines the domain name for emails originated from this server. In this case, all outgoing mail should have '@example.tst' as sender domain ##
myorigin = example.tst
## mydestination parameter specifies what domains this machine will deliver locally, instead of forwarding to another machine. ##
mydestination = mail.example.tst, localhost.example.tst, localhost, hash:/etc/postfix/transport
## the smarthost address. Not used in this tutorial and will be covered in the future##
relayhost =
## the trusted sender networks. postfix will not forward mails originated from other subnets ##
mynetworks = 127.0.0.0/8 [::ffff:127.0.0.0]/104 [::1]/128 192.168.10.0/24
## mailbox size in bytes. 0 denotes no limit ##
mailbox_size_limit = 0
## postfix will listen on all available interfaces i.e. eth0, eth1, eth2 and so on ##
inet_interfaces = all
transport
郵件域example.tst被定義為在本地傳遞不需要任何DNS查詢。
root@mail:/etc/postfix# vim transport
example.tst local:
.example.tst local:
root@mail:/etc/postfix# postmap transport
aliases
假設所有發送到userA的所有電子郵件可以由userB接收,別名文件需要按如下所述進行修改。
Ⅳ 如何在Ubuntu上搭建和單片機進行數據交互的伺服器
我這里有簡單搭建思路給你參考。
1、在Ubuntu上我選擇MySQL資料庫。
2、後台語言選擇我用node.js你也可以選擇java或者Python什麼的(這主要用於把數據存入資料庫用)
3、單片機與Ubuntu數據傳輸方式,我選擇網路通訊。
這樣連接思路就是,單片機通過串口把數據發到網路模塊,網路模塊與Ubuntu伺服器用無線網路連接。
重點來了。Ubuntu系統的後台程序 使用WEBsocket監聽一個埠,等待單片機的網路模塊發來的數據。 這樣完成數據傳輸鏈。
Ⅳ 怎麼在ubuntu 上搭建ftp伺服器
方法/步驟1首先,更新軟體源,保證源是最新的,這樣有利於下面在線通過apt-getinstall命令安裝ftp。2使用sudoapt-getinstallvsftp命令安裝vsftp,安裝軟體需要root許可權,我們使用sudo來暫時獲齲3安裝好ftp後默認是會自動創建ftp用戶的
Ⅵ 如何搭建Ubuntu伺服器
這個就跟是一個系統的安裝,租用一台獨立伺服器以後,自己下載一個Ubuntu安裝.
伺服器租用
Ⅶ 怎麼在ubuntu中搭建nfs伺服器
1.1 搭建NFS伺服器
NFS(Network FileSystem,網路文件系統)是由SUN公司發展,並於1984年推出的技術,用於在不同機器,不同操作系統之間通過網路互相分享各自的文件。NFS設計之初就是為了在不同的系統間使用,所以它的通訊協議設計與主機及操作系統無關。
NFS分伺服器和客戶機,當使用遠端文件時只要用mount命令就可把遠端NFS伺服器上的文件系統掛載在本地文件系統之下,操作遠程文件與操作本地文件沒有不同。NFS伺服器所共享文件或目錄記錄在/etc/exports文件中。
嵌入式Linux開發中,會經常使用NFS,目標系統通常作為NFS客戶機使用,Linux主機作為NFS伺服器。在目標系統上通過NFS,將伺服器的NFS共享目錄掛載到本地,可以直接運行伺服器上的文件。在調試系統驅動模塊以及應用程序,NFS都是十分必要的,並且Linux還支持NFS根文件系統,能直接從遠程NFS root啟動系統,這對嵌入式Linux根文件系統裁剪和集成也是十分有必要的。
安裝nfs-kernel-server:
ky@ubuntu:~$ sudo apt-get install nfs-kernel-server
設置NFS-Server目錄。修改/etc/exports文件,在其中增加NFS伺服器目錄。 一個NFS伺服器可以共享多個NFS目錄,在/etc/exports文件中,每個目錄的設置獨佔一行,編寫格式如下:
NFS共享目錄路徑 客戶機IP或者名稱(參數1,參數2,...,參數n)
說明:
q NFS共享目錄可以是主機的任何一個目錄,為了方便使用,最好將許可權設置為777。
q 客戶機指的是可以訪問共享目錄的客戶機的IP或者主機名,可以是指定的IP或者主機名。如果使用IP,可以使用通配符。假如指定IP為192.168.1.x的客戶機可以訪問,可以寫成192.168.1.*,如果設置為*,則表示任何客戶機都可以訪問。
q 訪問參數可以是一個,也可以是多個,用逗號分開。可能的參數和說明如 REF _Ref286733518 \h 表 5. 所列。
表 STYLEREF 1 \s 5. SEQ 表 \* ARABIC \s 1 1 NFS設置參數和說明
參數
說明
ro
只讀訪問
rw
讀寫訪問
sync
所有數據在請求時寫入共享
async
nfs在寫入數據前可以響應請求
secure
nfs通過1024以下的安全TCP/IP埠發送
insecure
nfs通過1024以上的埠發送
wdelay
如果多個用戶要寫入nfs目錄,則歸組寫入(默認)
no_wdelay
如果多個用戶要寫入nfs目錄,則立即寫入,當使用async時,無需此設置
hide
在nfs共享目錄中不共享其子目錄
no_hide
共享nfs目錄的子目錄
subtree_check
如果共享/usr/bin之類的子目錄時,強制nfs檢查父目錄的許可權(默認)
no_subtree_check
不檢查父目錄許可權
all_squash
共享文件的UID和GID映射匿名用戶anonymous,適合公用目錄
no_all_squash
保留共享文件的UID和GID(默認)
root_squash
root用戶的所有請求映射成如anonymous用戶一樣的許可權(默認)
no_root_squash
root用戶具有根目錄的完全管理訪問許可權
anonuid=xxx
指定nfs伺服器/etc/passwd文件中匿名用戶的UID
anongid=xxx
指定nfs伺服器/etc/passwd文件中匿名用戶的GID
假定NFS共享目錄是/home/ky/nfs,允許所有客戶機訪問,/etc/exports文件可寫為:
/home/ky/nfs *(rw,sync,no_subtree_check, no_root_squash)
啟動NFS伺服器。啟動portmap(如果有必要)和nfs-kernel-server服務:
ky@ubuntu:~$ sudo service portmap start
ky@ubuntu:~$ sudo service nfs-kernel-server start
本地驗證NFS伺服器。將NFS伺服器目錄掛載到本機另外一個目錄下,可以看到掛載點目錄下可以看到NFS伺服器目錄中的文件。
ky@ubuntu:~$ ls /home/ky/nfs/
aaaa
ky@ubuntu:~$ sudo mount -t nfs 127.0.0.1:/home/ky/nfs /mnt
ke@ubuntu:~$ ls /mnt
aaaa
ky@ubuntu:~$ sudo umount /mnt/
用開發板驗證NFS伺服器是否可用。啟動開發板,進入系統,配置好開發板的IP地址後,用mount命令掛載NFS伺服器的NFS目錄:
target# mount -t nfs 192.168.1.3:/home/ky/nfs /mnt -o nolock
target# ls /mnt
kingyee
target# umount /mnt/
掛載成功後,可以在開發板的/mnt目錄下看到NFS伺服器上的文件。
說明,使用開發板與虛擬機安裝的客戶系統進行NFS掛載,需要將虛擬網卡設置為Bridged模式,並建議使用靜態IP地址。
如果在使用中需要增加新的NFS共享目錄,直接修改/etc/exports文件即可。修改該文件後,可以不用重啟NFS服務,用exportfs命令讀取/etc/exports文件,重新共享輸出。exportfs命令語法如下:
exportfs [-aruv]
選項說明:
-a:全部掛載(或卸載) /etc/exports的設置;
-r:重新掛載/etc/exports的設置;
-u:卸載某一個目錄;
-v:在輸出的時候,把共享目錄顯示出來。
如果NFS已經啟動,修改了/etc/exports文件,執行如下命令,新的設置即可生效:
ky@ubuntu:~$ exportfs -ra
Ⅷ 如何在ubuntu系統上建立一個ftp伺服器
工具/原料
Linux系統
Ubuntu/CentOS都可以
方法/步驟
1
1、更新源列表
打開」終端窗口」,輸入」sudo apt-get update」 回車--->輸入當前登錄用戶的管理員密碼,回車,等待該命令執行完成就可以了。如果不運行該命令,直接安裝vsftpd就會出現幾個軟體包無法下載。
2
2、安裝vsftpd
打開終端,輸入」sudo apt-get install vsftpd」 回車,安裝完成即可。
3、判斷vsftpd是否安裝成功
打開終端,輸入」sudo service vsftpd restart」 重啟vsftpd伺服器,回車後,vsftpd處於運行狀態,則安裝成功。
4、新建」/home/test」 目錄作為用戶主目錄
打開終端窗口,輸入」sudo mkdir /home/test」 回車,在輸入」sudo ls
/home」 回車,有一個test目錄,則用戶目錄創建成功。
5、新建用戶test並設置密碼
打開終端,輸入」sudo useradd –d /home/test –s /bin/bash test」 回車,新建用戶成功,在輸入」sudo passwd test」 設置test用戶的密碼(輸入兩次) 回車,密碼設置成功。
6、配置文件/etc/vsftpd.conf
打開終端,輸入」sudo vim /etc/vsftpd.conf」 回車,打開vsftpd文件,進入插入(編輯)模式向文件中追加」userlist_deny=NO
userlist_enable=YES userlist_file=/etc/allowed_users」 和 」seccomp_sandbox=NO」 設置文件中的」local_enable=YES」 保存退出即可。
7、新建/etc/allowed_users文件
打開終端,輸入」sudo vim /etc/allowed_users」 回車,輸入test,保存並退出即完成該文件的創建。
8、使用vim查看/etc/ftpusers文件中的內容
打開"終端窗口",輸入"sudo vim /etc/ftpusers" 回車-->打開這個文件後,檢查是否有test這個用戶名,若沒有,就直接退出。若有就刪除test用戶名,因為這個文件中記錄的是不能訪問FTP伺服器的用戶清單。
9、使用WinSCP登錄FTP伺服器
用test用戶名登錄linux,打開終端,在根目錄下新建文件ftpTestFile.txt和userTestDir目錄,便於測試。
10、使用WinSCP工具遠程登錄到FTP伺服器
打開WinSCP工具進入登錄界面,輸入FTP伺服器的IP(192.168.220.128)、用戶名(test)、密碼(123456)即可登錄到FTP伺服器,如圖可看到FTP根目錄下的文件。
11、測試文件的上傳與下載
將本地文件UploadFile.txt上傳到FTP伺服器
從FTP伺服器下載ftpTestFile.txt到本地
12、查看FTP伺服器是否存在上傳的文件
13
最後經過測試,能實現文件的上傳與下載,