當前位置:首頁 » 雲伺服器 » 烏班圖系統怎麼搭建本地伺服器

烏班圖系統怎麼搭建本地伺服器

發布時間: 2022-09-13 06:42:12

⑴ ubuntu系統 下怎麼樣搭建 DNS伺服器怎麼樣搭建Web伺服器DHCP急求...

UBUNTU 安裝php

考慮到前不久在這兒測試Wordpress主題的慘痛經歷,俺決定自己建一個web平台來先在本機測試

本來想在openSUSE中安裝,但想想apt- get這幾鍵俺按得比較多,就先在Ubuntu中下手
按照 Unofficial Ubuntu 6.06 (Dapper Drake) linux Starter Guide的步驟來

一、安裝Apache2
sudo apt-get install apache2
然後在Firefox中打開:
http://localhost/
提示成功

二、安裝PHP5
sudo apt-get install php5
sudo apt-get install libapache2-mod-php5(根據俺的實際測試,這一步似乎不用做了,在上一步已經安裝好了,不過還是建議你/paste一下這條命令)
sudo /etc/init.d/apache2 restart

測試PHP5是否安裝成功
sudo gedit /var/www/testphp.php
在裡面寫入
然後在Firefox中打開:
http://localhost/testphp.php
應該能看到下面的畫面,很長的,俺截了一下
php5.png
看完後把testphp.php刪掉,可能會有安全風險

三、安裝Mysql
sudo apt-get install mysql-server

MySql 初始只允許本機(127.0.0.1)連接,如果想多台機子使用或者向Internet開放的話,編輯/etc/mysql/my.cnf
sudo gedit /etc/mysql/my.cnf
找到
bind-address = 127.0.0.1
用#注釋掉,象這樣
#bind-address = 127.0.0.1

MySql 默認沒有設置root密碼,本機的root用戶也沒有密碼,有風險是吧,這樣
mysqladmin -u root password your-new-password
mysqladmin -h root@local-machine-name -u root -p password your-new-password(這里我怎麼也連接不上mysql伺服器,最後在mysql-admin裡面改的)
sudo /etc/init.d/mysql restart

安裝MYSQL Administrator
sudo apt-get install mysql-admin
安裝好後在Gnome-應用程序-系統工具-MySQL Administrator

這里俺遇到了一個問題,就是運行MySQL Administrator後,點擊User Administrator後,整個MySQL Administrator掛死,最後還是解決了,方法見後面

安裝MYSQL for Apache HTTP Server
sudo apt-get install libapache2-mod-auth-mysql
sudo apt-get install php5-mysql
sudo apt-get install phpmyadmin

要讓PHP與MySql一起工作,編輯
sudo gedit /etc/php5/apache2/php.ini
取消對;extension=mysql.so的注釋,象這樣

extension=mysql.so


保存文件,然後
sudo /etc/init.d/apache2 restart

測試:
http://localhost/phpmyadmin

這里俺能修改用戶,新增用戶等等,回過頭來解決前面提到的點擊User Administrator後,整個MySQL Administrator掛死的問題,見下面的網址:
MySQL Administrator hangs after pressing User Administration Icon
高手們解決的辦法不一,主要的方法:
在終端中:
export DEBUG_DONT_SPAWN_FETCHES=1
mysql-admin
這樣就能順利修改用戶了

⑵ 怎麼在ubuntu10.04下搭建ftp伺服器

Ubuntu自帶的FTP伺服器是vsftpd
1、安裝vsftpd

sudo apt-get install vsftpd
安裝了之後會在/home/下建立一個ftp目錄。這時候你可以試著訪問下ftp://IP地 址。應該可以看到一個空白內容的ftp空間。
默認設置下匿名用戶可以下載,但不能寫入或是上傳
2、設置 vsftpd.conf文件
現在我們要讓匿名用戶無法訪問,並且得輸入linux上的用戶密碼後才能訪問到他們自己目錄里的內容。
首先找到設置vsftpd的文件,位置在/etc/vsftpd.conf
sudo gedit /etc/vsftpd.conf

伺服器的配置
1. 匿名伺服器的連接(獨立的伺服器)

在/etc/vsftpd/vsftpd.conf配置文件中添加如下幾項:
Anonymous_enable=yes (允許匿名登陸)

Dirmessage_enable=yes (切換目錄時,顯示目錄下.message的內容)
Local_umask=022 (FTP上本地的文件許可權,默認是077)
Connect_form_port_20=yes (啟用FTP數據埠的數據連接)*
Xferlog_enable=yes (激活上傳和下傳的日誌)

Xferlog_std_format=yes (使用標準的日誌格式)
Ftpd_banner=Moonlight Ftp Server (歡迎信息)
Pam_service_name=vsftpd (驗證方式)*
Listen=yes (獨立的VSFTPD伺服器)*

功能:只能連接FTP伺服器,不能上傳和下傳

註:其中所有和日誌歡迎信息相關連的都是可選項,打了星號的無論什麼帳戶都要添加,是屬於FTP的基本選項

2. 開啟匿名FTP伺服器上傳許可權

在配置文件中添加以下的信息即可:
Anon_upload_enable=yes (開放上傳許可權)
Anon_mkdir_write_enable=yes (可創建目錄的同時可以在此目錄中上傳文件)
Write_enable=yes (開放本地用戶寫的許可權)
Anon_other_write_enable=yes (匿名帳號可以有刪除的許可權)

3. 開啟匿名伺服器下傳的許可權
在配置文件中添加如下信息即可:
Anon_world_readable_only=no
註:要注意文件夾的屬性,匿名帳戶是其它(other)用戶要開啟它的讀寫執行的許可權
(R)讀-----下傳 (W)寫----上傳 (X)執行----如果不開FTP的目錄都進不去

4.普通用戶FTP伺服器的連接(獨立伺服器)
在配置文件中添加如下信息即可:
Local_enble=yes (本地帳戶能夠登陸)
Write_enable=no (本地帳戶登陸後無權刪除和修改文件)
功能:可以用本地帳戶登陸vsftpd伺服器,有下載上傳的許可權
註:在禁止匿名登陸的信息後匿名伺服器照樣可以登陸但不可以上傳下傳

5. 用戶登陸限制進其它的目錄,只能進它的主目錄
設置所有的本地用戶都執行chroot
Chroot_local_user=yes (本地所有帳戶都只能在自家目錄)
設置指定用戶執行chroot
Chroot_list_enable=yes (文件中的名單可以調用)
Chroot_list_file=/任意指定的路徑/vsftpd.chroot_list
注意:vsftpd.chroot_list 是沒有創建的需要自己添加,要想控制帳號就直接在文件中加帳號即可

6. 限制本地用戶訪問FTP

Userlist_enable=yes (用userlistlai 來限制用戶訪問)

Userlist_deny=no (名單中的人不允許訪問)

Userlist_file=/指定文件存放的路徑/ (文件放置的路徑)

註:開啟userlist_enable=yes匿名帳號不能登陸

7. 安全選項

Idle_session_timeout=600(秒) (用戶會話空閑後10分鍾)
Data_connection_timeout=120(秒) (將數據連接空閑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 (將客戶端的數據連接埠改在
Pasv_max_port=60000 50000—60000之間)
Max_clients=200 (FTP的最大連接數)
Max_per_ip=4 (每IP的最大連接數)
Listen_port=5555 (從5555埠進行數據連接)

8. 查看誰登陸了FTP,並殺死它的進程

ps –xf |grep ftp
kill 進程號
最後重啟動服務
sudo /etc/init.d/vsftpd restart

⑶ 使用ubuntu 怎麼搭建伺服器

如果想用Ubuntu作為網站的伺服器,一些基本的服務是必備的。本文對環境的搭建做一個簡單的整理。
Appach

Apache是世界使用排名第一的Web伺服器軟體。它可以運行在幾乎所有廣泛使用的計算機平台上,由於其跨平台和安全性被廣泛使用,是最流行的Web伺服器端軟體之一。
安裝
sudo apt-get install apache2

大概5M左右,安裝完成後伺服器會自動啟動
在瀏覽器里輸入http://localhost或者是http://127.0.0.1或者輸入IP,如果看到了It works!,那就說明Apache就成功的安裝了,Apache的默認安裝,會在/var下建立一個名為www的目錄,這個就是Web目錄了,所有要能過瀏覽器訪問的Web文件都要放到這個目錄里。
如果更改配置重新啟動命令如下:
sudo /etc/init.d/apache2 restart

到這里,如果只是單純的跑一些靜態網頁的話這兒就夠了,只需要將設計的html文件放入/var/www目錄即可
到這里我遇到一個問題沒解決就是根目錄下的二級目錄無法訪問,重新安裝多次,都是同樣的問題。

PHP
PHP支持同樣是很多網站必備之一,安裝命令如下:
sudo apt-get install libapache2-mod-php5 php5

需要下載6M左右安裝包。安裝擴展:
sudo apt-get install libapache2-mod-php5 php5

Mysql
sudo apt-get install mysql-server mysql-client

需要下載26M左右的安裝包,等待安裝完成,彈出設定密碼界面:

輸入資料庫root密碼,按tab鍵選擇確定。接下來會要求重復密碼,重復同樣操作。
資料庫安裝完成後,為了方便管理和操作,繼續安裝phpmyadmin。
sudo apt-get install phpmyadmin

需要下載6M左右的安裝包,安裝完成後進入設置界面,

⑷ 我自己的ubuntu系統電腦如何做成伺服器

如果只是臨時訪問,或者訪問量不大,

可以使用ubuntu自帶的python臨時搭建一個http伺服器:

在終端輸入以下命令即可:注意大小寫與空格

cd/home/network
sudopython-mSimpleHTTPServer80

按CTRL + Z 可停止這個http伺服器

⑸ 怎麼搭建本地Ubuntu鏡像伺服器

一.需求分析
最近公司軟體Team 有個需求是這樣的:能不能在區域網搭建一個Ubuntu 鏡像伺服器,
這樣作的好處是可以節省Ubuntu某些常用工具的安裝時間。
二.部署過程
2.1 測試環境
目前在公司內有一台能連接到外網的Ubuntu機器, IP : 192.168.8.173 ,
Ubuntu版本為Ubuntu 9.04 i686。
2.2 搭建步驟
為了創建Ubuntu mirror 伺服器,最少需要60G硬碟空間,Ubuntu每個版本都有32 bit
和64 bit兩個版本,有兩組deb包。當然可以創建Ubuntu一個版本的32 bit 和64 bit 的
鏡像伺服器,也可以創建全部版本的鏡像。
這里使用sohu 公司的mirror地址作為本地Ubuntu Source 伺服器,使用sohu的原因是:
1. sohu的Ubuntu Source 伺服器速度相當快
2. sohu 的ubuntu Source 伺服器每天會和Ubuntu官方伺服器同步一次,這樣可以保
證我們使用的是最新的軟體包。
修改方式如下:
root@ms ~: cat /etc/apt/sources.list
deb http://mirrors.sohu.com/ubuntu/ jaunty main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ jaunty-security main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ jaunty-updates main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ jaunty-proposed main restricted universe multiverse
deb http://mirrors.sohu.com/ubuntu/ jaunty-backports main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ jaunty main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ jaunty-security main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ jaunty-updates main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ jaunty-proposed main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu/ jaunty-backports main restricted universe multiverse
安裝下面工具:
root@ms ~: apt-get install apt-mirror
root@ms ~: apt-get install apache2
下面就構建Ubuntu 9.04 32bit 的本地Ubuntu mirror 伺服器為例子,來說明如何配置:
修改配置文件:
root@ms ~: cat /etc/apt/mirror.list
############# config ##################
#
# set base_path /var/spool/apt-mirror
#
# set mirror_path $base_path/mirror
# set skel_path $base_path/skel
# set var_path $base_path/var
# set cleanscript $var_path/clean.sh
# set defaultarch
# set postmirror_script $var_path/postmirror.sh
set run_postmirror 0
set nthreads 20
set _tilde 0
#
############# end config ##############
deb-i386 http://mirrors.sohu.com/ubuntu jaunty main restricted universe multiverse
deb-i386 http://mirrors.sohu.com/ubuntu jaunty-security main restricted universe multiverse
deb-i386 http://mirrors.sohu.com/ubuntu jaunty-updates main restricted universe multiverse
#deb http://mirrors.sohu.comubuntu jaunty-proposed main restricted universe multiverse
#deb http://mirrors.sohu.comubuntu jaunty-backports main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu jaunty main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu jaunty-security main restricted universe multiverse
deb-src http://mirrors.sohu.com/ubuntu jaunty-updates main restricted universe multiverse
#deb-src http://mirrors.sohu.com/ubuntu jaunty-proposed main restricted universe multiverse
#deb-src http://mirrors.sohu.com/ubuntu jaunty-backports main restricted universe multiverse
#clean http://archive.ubuntu.com/ubuntu
備註:
deb-i386 http:// 表示下載32 bit 版本的deb 軟體
deb http:// 表示下載64bit 版本的deb 軟體
jaunty 表示Ubuntu 9.04的代號
設置完成後,輸入下面命令:
root@ms ~: apt-mirror
這時系統會啟動20個線程運行wget 到 http://mirrors.sohu.com/Ubuntu 下面下載相應的
deb包。時間比較的長,該命令執行完成後,/var/spool/apt-mirror目錄下就有了所有需
要的deb包和相應的配置文件。
由於我是從sohu下載的,所以實際的文件在 :
/var/spool/apt-mirror/mirror/mirrors.sohu.com/ubuntu 目錄下。
這樣,本地就有了所有Ubuntu Source 伺服器所需要的文件,然後開啟相應的服務:
這里使用apache2作為Web伺服器,默認根目錄在/var/www/,所以可以在該目錄下做
個鏈接,如下所示:
root@ms ~: cd /var/www
root@ms ~: ln /var/spool/apt-mirror/mirror/mirrors.sohu.com/ubuntu -s
開啟web服務:
root@ms ~: apache2ctl start
打開瀏覽器輸入下面地址即可看到和sohu mirror一樣的頁面:
http://192.168.8.173/ubuntu
同時也可以使用crontab進行每天的更新,修改配置文件:
root@ms ~: cat /etc/cron.d/apt-mirror
#
# Regular cron jobs for the apt-mirror package
#
#0 4 * * * apt-mirror /usr/bin/apt-mirror > /var/spool/apt-mirror/var/cron.log
把命令前面的「#」去掉即可,這樣系統會自動使用apt-mirror去和sohu伺服器更新。
最後,我們所要做得就是在客戶端的機器上修改更新源配置文件,將地址改成本地
mirror伺服器的地址即可,如下所示:
root@ms ~: cat /etc/apt/sources.list
deb http://192.168.8.173/ubuntu/ jaunty main restricted universe multiverse
deb http://192.168.8.173/ubuntu/ jaunty-security main restricted universe multiverse
deb http://192.168.8.173/ubuntu/ jaunty-updates main restricted universe multiverse
deb http://192.168.8.173/ubuntu/ jaunty-proposed main restricted universe multiverse
deb http://192.168.8.173/ubuntu/ jaunty-backports main restricted universe multiverse
deb-src http://192.168.8.173/ubuntu/ jaunty main restricted universe multiverse
deb-src http://192.168.8.173/ubuntu/ jaunty-security main restricted universe multiverse
deb-src http://192.168.8.173/ubuntu/ jaunty-updates main restricted universe multiverse
deb-src http://192.168.8.173/ubuntu/ jaunty-proposed main restricted universe multiverse
deb-src http://192.168.8.173/ubuntu/ jaunty-backports main restricted universe multiverse
執行「apt-get update」來重建本地索引,這樣以後就會使用本地的Mirror 伺服器進行更新

⑹ 如何在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
最後經過測試,能實現文件的上傳與下載,

⑺ 怎麼在ubuntu創建git伺服器

首先這里我們安裝openssh-server openssh-client,如果你用的是VPS之類的一般都默認安裝好了,不過運行一個這個命令不會有錯的,如果有安裝就會提示已安裝。
sudo apt-get -y install openssh-server openssh-client

安裝git,在這個核心軟體,不可或缺。
sudo apt-get -y install git

添加gitolite用戶和同名用戶組,加上--system參數,用戶就不會在登陸界面顯示。
sudo adser --system --shell /bin/sh --group --disabled-password --home /home/gitolite gitolite

生成ssh key,一路回車下來。
ssh-keygen -t rsa

將你當前用戶的ssh pub key復制到/tmp下備用,由於我用的是桌面版在同一台機器上。
cp ~/.ssh/id_rsa.pub /tmp/ubuntugege.pub
如果你是ssh遠程登陸到伺服器上安裝,就要把你本地的key復制到遠程的機器上
scp ~/.ssh/id_rsa.pub gitolite.server:/tmp/ubuntugege.pub

安裝gitolite,在ubuntu中已經集成了,不用自己去下載。
sudo apt-get -y install gitolite

切換到gitolite用戶環境中,因為我要以gitolite用戶身份去初始化安裝。
sudo su - gitolite

執行初始化安裝gitolite。
gl-setup /tmp/ubuntugege.pub

把管理庫gitolite-admin克隆過來就可以開始gitolite用戶及代碼庫的管理了,如果不能克隆,那麼就說明初始化的ssh pub key錯了,如圖就是成功了。

⑻ Ubuntu 16.04 搭建 NFS 文件共享伺服器

伺服器端需要安裝 nfs-kernel-server 軟體包:
$ sudo apt-get update
$ sudo apt-get install nfs-kernel-server

默認情況下,NFS 伺服器上定義了某個共享目錄,則該目錄及其子目錄下的所有文件都可被訪問。
出於對安全的考慮,客戶端任何需要 超級用戶 (即 root 用戶,UID=0 & GID=0)許可權的文件操作都默認映射到 UID=65534 和 GID=65534 的用戶,即 Ubuntu 系統中的 nobody:nogroup。
例如客戶端使用 root 許可權在掛載的共享目錄中創建文件時,該文件的 屬主 屬組 自動變為 nobody:nogroup ,而非 root:root

sudo mkdir -p /var/nfs/gernel
sudo mkdir -p /var/nfs/public
sudo chown nobody:nogroup /var/nfs/gernel

為了使 NFS 伺服器定義的共享文件可被指定的客戶端主機訪問,需要在伺服器端的 /etc/exports 文件中添加對應的記錄。
該文件的格式如下:
Directory Host(Options ...) Host(Options) #comment
關於 /etc/exports 文件的詳細語法格式可參考 man exports 。

文件示例:

列出 nfs 伺服器上的共享目錄

創建掛載點
sudo mkdir -p /mnt/nfs/gernel
sudo mkdir -p /mnt/nfs/public
sudo mkdir -p /mnt/nfs/starky

掛載遠程目錄
sudo mount 192.168.56.102:/var/nfs/gernel /mnt/nfs/gernel
sudo mount 192.168.56.102:/var/nfs/public /mnt/nfs/public
sudo mount 192.168.56.102:/home/starky /mnt/nfs/starky

許可權測試

NFS 的許可權設定基於 Linux 文件系統的許可權管理,即客戶端掛載遠程共享目錄後,會把它們當成本地磁碟目錄一樣對待,也是根據文件的屬主(組)及其對應的許可權設定來限制訪問。
gernel 目錄的屬主(組)為 nobody:nogroup(65534:65534),所以雖然該目錄為讀寫許可權,非 root 用戶無法執行新建操作。而 root 用戶由於 NFS 默認的安全機制,會自動映射到 nobody:nogroup。
由於我在客戶端和服務端都有一個名為 starky 的用戶,且它們的 UID:GID 都為1000:1000,所以服務端的 /home/starky 目錄可以直接被客戶端的 starky 用戶訪問。且由於 no_root_squash 選項,通過 sudo 命令創建的文件其屬主仍為 root(而不會再映射為 nobody)。
當然這會導致一些安全問題,比如多個客戶端同時都有 UID(GID)為1000的用戶(不管用戶名是什麼),則這些用戶會共享服務端 /home/starky 目錄里的文件許可權。

可編輯 /etc/fstab 文件令掛載共享目錄的 mount 操作成為系統的固定配置(手動輸入的 mount 命令屬於臨時掛載,重啟會自動卸載),使得系統重啟後可以自動掛載遠程文件系統。 /etc/fstab 文件的示例內容如下:

/etc/exports 文件的格式為: Directory Host(Options ...) Host(Options) #comment
其中的 Host 項用來指定可訪問對應共享目錄的主機,其格式可分為以下幾種:

傳輸協議
最初的 NFSv2 由於性能原因使用 UDP 協議,雖然 NFS 添加了自己的 包序列重組 錯誤檢查 功能,但 UDP 和 NFS 都不具備 阻塞控制 演算法,所以在大型的互聯網路環境中缺乏足夠的性能。
NFSv3 提供了 UDP 和 TCP 協議之間的選擇。NFSv4 只能使用 TCP 協議。
隨著 CPU,內存等硬體設備和網路傳輸速度的提高,最初由於性能需求而傾向 UDP 協議的選擇也變得不再必要。

State
NFSv2 和 NFSv3 是 無狀態 的連接,服務端不會跟蹤客戶端對共享目錄的掛載情況,而是使用 "cookie" 來記錄一次成功的掛載。"cookie" 不會因為伺服器重啟而刪除,可以用來在伺服器掛掉之後保留客戶端的連接信息。
NFSv4 是 有狀態 的連接,客戶端和服務端都會維護文件操作紀錄及文件鎖的狀態。所以不再需要 "cookie" 的使用。

文件鎖
早期版本的 NFS 協議(v2 & v3)由於是 無狀態 的連接,它們並不清楚哪些主機正在使用哪些文件。但是文件鎖的實現又需要獲取狀態信息。所以早期協議中的文件鎖是獨立於 NFS 實現的。
而 NFSv4 將文件鎖的實現整合到了核心協議中,雖然此舉增加了復雜度,但同時也解決了早期版本中的很多問題。
但是為了兼容使用 V2 和 V3 協議的客戶端,獨立的 locked statd 守護進程仍舊需要。

安全相關
NFS 協議最初在設計時並不關注安全性,NFSv4 通過引入對更強大的安全服務和身份驗證的支持,加強了該協議的安全性。

傳統的 NFS 協議大多使用 AUTH_SYS 驗證方式,基於 UNIX 的用戶和組標識。在這種方式下,客戶端只需要發送自己的 UID 和 GID 並與伺服器上的 /etc/passwd 文件內容作對比,以決定其擁有怎樣的許可權。
所以當多個客戶端存在 UID 相同的用戶時,這些用戶會擁有相同的文件許可權。更進一步,擁有 root 許可權的用戶可以通過 su 命令切換到任意 UID 登錄,伺服器會因此給予其對應 UID 的許可權。
為了防止上面的問題出現,伺服器可選擇使用更健壯的驗證機制比如 Kerberos 結合 NFS PRCSEC_GSS。

NFS 共享目錄的訪問控制基於 /etc/exports 文件中定義的主機名或 IP 地址。但是客戶端很容易針對其身份和 IP 地址造假,這也會導致一些安全問題。
NFSv4 只使用 TCP 作為自己的傳輸協議,而且通常只開放 2049 埠進行數據傳輸。在配置防火牆時,除了放開 2049 埠的限制外,還要時刻注意數據傳輸的源地址和目標地址。

win10 系統默認不能掛載 NFS 共享目錄,需要進入 控制面板 - 程序 - 程序和功能 - 啟用或關閉 Windows 功能 ,勾選上 NFS 服務

UNIX and Linux System Administration Handbook, 4th Edition
How to Mount an NFS Share Using a Windows 10 Machine

⑼ 如何在ubuntu中安裝設置ftp伺服器

FTP伺服器是平時應用最為廣泛的服務之一。VSFTP是Very Secure
FTP的縮寫,意指非常安全的FTP服務。VSFTP功能強大,通過結合本地系統的用戶認證模塊及其多功能的配置項目,可以快速有效的搭建強大的多用戶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文件就可以賦予其訪問其他目錄的許可權!

19、userlist_file、userlist_enable、userlist_deny
這個組合用於指示用戶可否訪問FTP服務。
其中,userlist_file默認是/etc/vsftpd.user_list,該文件定義一個用戶列表。
若userlist_enable設置為YES,userlist_deny設置為NO,則只有userlist_file所指定的文件裡面的用戶列表裡面的用戶可以訪問FTP。
若userlist_enable設置為YES,userlist_deny設置為YES,則userlist_file所指定的文件裡面的用戶列表裡面的用戶都被拒絕訪問FTP。
若userlist_enable設置為NO,userlist_deny設置為YES,則這個列表沒有實際用處,起不到限制的作用!因為所有用戶都可訪問FTP。
建議設置:userlist_enable與userlist_deny都設置為YES。這樣則userlist_file所指定的文件裡面的用戶列表裡面的用戶都被拒絕訪問FTP。
好處:只需將某用戶帳號加入到userlist_file所指定文件裡面的用戶列表,就可以起到暫時凍結該用戶的功能!

20、user_config_dir
指定一個目錄用於存放針對每個用戶各自的配置文件,比如用戶kkk登錄後,會以該用戶名建立一個對應的配置文件。
比如指定user_config_dir=/etc/vsftpd_user_conf,
則kkk登錄後會產生一個/etc/vsftpd_user_conf/kkk的文件,這個文件保存的配置都是針對kkk這個用戶的。可以修改這個文件而
不用擔心影響到其他用戶的配置。

二、我的VSFTP的配置方案
#首先要安裝VSFTP。源碼編譯或軟體包安裝都可以。
#以下方案實現以下功能:
#1、鎖定用戶在/home/ftp默認目錄活動,
#
並保留/etc/vsftpd.chroot_list文件裡面的用戶列表可訪問其他目錄。
#2、具備暫時凍結FTP用戶的功能,將需暫停的用戶名加入到/etc/vsftpd.usr_list即可。
#
#設置配置文件:
#復制以下文件並保存為/etc/vsftpd.conf
#新建兩文件:touch /etc/vsftpd.chroot_list
#
touch /etc/vsftpd.user_list
#新建目錄:mkdir /home/ftp
#新建群組:addgroup ftp
#修改/home/ftp屬性:chown ftp:ftp /home/ftp
#新增FTP用戶: adser --shell /bin/false --home /home/ftp
your_usr_name
#把需要開通FTP的用戶名加入到ftp群組:usermod -aG ftp your_usr_name
#注意:
#如果你的/etc/shells裡面沒有包含/bin/false,則你用上述的方法建立的用戶將法訪問#FTP,解決方法:編輯/etc/shells,加入/bin/false這行。
#
# Example config file /etc/vsftpd.conf
listen=YES
#listen_ipv6=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
#anon_upload_enable=YES
#anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
#chown_uploads=YES
#chown_username=whoever
#xferlog_file=/var/log/vsftpd.log
#xferlog_std_format=YES
#idle_session_timeout=600
#data_connection_timeout=120
#nopriv_user=ftpsecure
#async_abor_enable=YES
#ascii_upload_enable=YES
#ascii_download_enable=YES
#ftpd_banner=Welcome to blah FTP
service.
#deny_email_enable=YES
#banned_email_file=/etc/vsftpd.banned_emails
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
#ls_recurse_enable=YES
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
anon_root=/home/ftp
local_root=/home/ftp
userlist_file=/etc/vsftpd.user_list
userlist_enable=YES
userlist_deny=YES

三、回答前面提到的問題

1、如何添加FTP用戶?
設置local_enable為YES可以開放系統用戶訪問FTP。
在系統裡面添加用戶,將shell設置為/bin/false,並將其家目錄若設置為/home/ftp或者其他目錄。這樣就可以建立只訪問FTP而無法登錄shell環境的用戶。
注意:可以新建一個ftp組,把/home/ftp的所有者設為ftp,群組也設為ftp。然後所有新添加的FTP用戶只需加入到FTP群組就可以具有對/home/ftp的訪問許可權了。這樣也方便管理用戶量比較大的FTP系統。如:
sudo addgroup ftp #如果有了就不用添加
sudo chown ftp:ftp /home/ftp #如果改過了就不用再改
sudo adser --shell /bin/false --home /home/ftp user1
#添加用戶user1
sudo usermod -aG ftp
user1 #把用戶user1加入到ftp組
這樣便可以通過用戶名user1來訪問FTP服務了。

2、如何臨時凍結某FTP用戶?
將userlist_enable與userlist_deny都設置為YES。這樣userlist_file所指定的文件裡面的用戶列表裡面的用戶都
被拒絕訪問FTP。只需將某用戶帳號加入到userlist_file所指定文件裡面的用戶列表,就可以起到暫時凍結該用戶的功能!如需重新開通使用權
限,則只需從該文件中去掉相應的用戶名。

3、FTP用戶登入後的默認目錄?是否可以改變?
可以通過local_root、anon_root來指定相應的默認目錄。

4、如何鎖定FTP用戶可訪問的目錄范圍?
將chroot_local_user與chroot_list_enable都設置為YES。這樣就只有chroot_list_file所指定的文件
裡面的用戶列表可以訪問默認目錄以外的目錄,而列表以外的用戶則被限定在各自的默認目錄活動!如果某些特定用戶需要訪問其他目錄的許可權,只需將其用戶名寫
入chroot_list_file文件就可以賦予其訪問其他目錄的許可權!

5、FTP用戶可以有哪些訪問許可權?可否上傳文件?
設置write_enable可以開啟全局的寫許可權。這樣FTP用戶就可以在本地帳號管理系統允許的范圍內進行寫操作了

⑽ 如何用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之後就可以使用上面新創建的賬號訪問:)

熱點內容
辦公伺服器什麼系統好 發布:2025-01-11 23:50:06 瀏覽:346
boat伺服器怎麼開 發布:2025-01-11 23:48:57 瀏覽:484
安卓手機視頻怎麼快進 發布:2025-01-11 23:46:18 瀏覽:353
電腦的項目怎麼連接遠端伺服器 發布:2025-01-11 23:45:25 瀏覽:852
sql語句between 發布:2025-01-11 23:45:14 瀏覽:327
王者安卓轉換蘋果系統會損失什麼 發布:2025-01-11 23:45:13 瀏覽:737
安卓手機漲價怎麼辦 發布:2025-01-11 23:27:17 瀏覽:712
三消游戲伺服器搭建 發布:2025-01-11 23:20:01 瀏覽:246
c語言的函數不可單獨進行編譯 發布:2025-01-11 23:12:33 瀏覽:18
怎麼查信用卡查詢密碼 發布:2025-01-11 23:11:08 瀏覽:572