1. 程式人生 > >細說ftp伺服器的搭建部署及許可權管理

細說ftp伺服器的搭建部署及許可權管理

摘要:

FTP File TransferProtocol(檔案傳輸協議)的英文簡稱,中文簡稱為“文傳協議”。用於Internet上的控制檔案的雙向傳輸。同時,它也是一個應用程式(Application)。基於不同的作業系統有不同的FTP應用程式,而所有這些應用程式都遵守同一種協議以傳輸檔案。在FTP的使用當中,使用者經常遇到兩個概念:"下載"Download)和"上傳"Upload)。"下載"檔案就是從遠端主機拷貝檔案至自己的計算機上;"上傳"檔案就是將檔案從自己的計算機中拷貝至遠端主機上。用Internet語言來說,使用者可通過客戶機程式向(從)遠端主機上傳(下載)檔案。FTP是檔案傳輸協議的英文縮寫,用來上傳、下載、覆蓋、刪除伺服器上的檔案。FileZilla軟體就是採用FTP的原理。

實驗目的:

       在Linux中搭建一個ftp伺服器,以供兩個工作小組保管檔案使用,禁用匿名。第一個小組使用ftp1賬號,工作目錄在:/var/ftp/ftp1;第二個小組使用ftp2賬號,工作目錄在:/var/ftp/ftp2ftp1允許的登入,可以離開自己的工作目錄並且可以訪問其他使用者的檔案;ftp2不允許登入。

一、安裝vsftpd

[[email protected] ~]# yum install -y vsftpd
[[email protected] ~]# rpm -qa | grep vsftpd
vsftpd-2.2.2-11.el6_4.1.x86_64

二、設定啟動級別

[[email protected] ~]# service vsftpd start
[[email protected] ~]# chkconfig --level 35 vsftpd on
[[email protected] ~]# chkconfig vsftpd --list

三、建立使用者並修改密碼

[[email protected] ~]# mkdir /var/ftp/ftp1
[[email protected] ~]# mkdir /var/ftp/ftp2
[[email protected] ~]# chown -R ftp1:ftp1 /var/ftp/ftp1
[

[email protected] ~]# chown -R ftp2:ftp2 /var/ftp/ftp2
[[email protected] ~]# adduser ftp1 -s /sbin/nologin -d /var/ftp/ftp1
[[email protected] ~]# adduser ftp2 -s /sbin/nologin -d /var/ftp/ftp2    (/sbin/nologin表示使用者不允許登入,通過ftp可以連線)

四、vsftpd配置

[[email protected] ~]# vim /etc/vsftpd/vsftpd.conf
chroot_local_user=YES    #設定只能訪問自己的目錄
chroot_list_enable=YES   #啟用chroot_list
chroot_list_file=/etc/vsftpd/chroot_list  #chroot_list指定哪些使用者可以訪問工作目錄之外檔案

anonymous_enable=NO    #禁止匿名使用者登入
userlist_enable=YES    #允許本地使用者登入
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list    #user_list指定哪些使用者可以登陸ftp伺服器

五、檢查配置情況(粗體為修改部分)

[[email protected] ~]# cat /etc/vsftpd/vsftpd.conf |grep -v '#'
[[email protected] ~]# grep -v '#' /etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

listen=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

userlist_enable=YES
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list

六、新增不允許登陸的使用者,一行一個使用者名稱

[[email protected] ~]# vi /etc/vsftpd/ftpusers
# Users that are not allowed to login via ftp
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody

七、新增允許登陸的使用者,一行一行使用者名稱;

在這裡,新增允許登入的使用者,如題所說的,我們允許ftp1使用者登入,那麼我們就新增ftp1使用者就可以了

[[email protected] ~]# vi /etc/vsftpd/user_list
# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
root
bin
daemon
adm
lp
sync
shutdown
halt
mail
news
uucp
operator
games
nobody
ftp1

八、新增可以切換到工作目錄之外的使用者:預設情況下,如果我們不指定此列表,那麼每個使用者互相不能訪問其他使用者的資料夾,只能限制在自己的工作目錄。我們希望ftp1使用者可以訪問到其他使用者的工作目錄,那麼在這裡新增ftp1使用者

[[email protected] ~]# vim /etc/vsftpd/chroot_list
ftp1

兩種方式的具體表現區別為:

1、如果我們沒有新增的話,通過pwd命令,顯示為:
ftp> pwd
257 "/"
2、如果添加了的話,顯示為以下形式,如果是這個情況,那麼就可以cd到上層目錄,然後訪問其他目錄了。
ftp> pwd
257 "/var/ftp/ftp1"

九、關閉防火牆

[[email protected] ~]# service iptables stop
[[email protected] ~]# chkconfig iptables off

十、禁用SELinux

[[email protected] ~]# vi /etc/selinux/config
SELINUX=disabled

[[email protected] ~]# getenforce
Disabled

十一、以下提供三種Windows訪問ftp伺服器方式

方式一、Windows客戶端通過新增“對映網路驅動器”:步驟如下

計算機->對映網路驅動器->連線到可用於儲存文件和圖片的網站->下一步->選擇自定義網路位置->輸入:ftp://192.168.56.101,下一步->輸入使用者名稱ftp1->鍵入網路位置的名稱(預設)->完成->輸入ftp1的密碼即可;

方式二、Windows客戶端通過cmd訪問;

方式三、新增FTP站點;

十二、對於Linux客戶端,需要安裝ftp

[[email protected] ~]# yum install -y ftp

[[email protected] ~]# ftp 192.168.56.101
Connected to 192.168.56.101 (192.168.56.101).
220 (vsFTPd 2.2.2)
Name (192.168.56.101:root): ftp1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,56,101,38,48).
150 Here comes the directory listing.
drwxr-xr-x    2 501      501          4096 Jun 08 01:34 11
drwxr-xr-x    2 501      501          4096 Jun 09 00:00 22
-rw-r--r--    1 501      501            11 Jun 08 00:44 aa.txt
226 Directory send OK.
ftp> pwd
257 "/var/ftp/ftp1"

Windows和Linux客戶端的命令一樣。

注意事項:

1、通過put和get命令,我們只能上傳和下載單個檔案,並不能操作整個資料夾,因此,對於資料夾的操作,我們可以先壓縮,再上傳和下載,下載路徑為客戶端當前目錄,所以在登陸ftp伺服器之前,先切換到合適路徑。更多命令請使用help檢視。
2、無論是在ftp工具還是對映網路驅動器,只能新建資料夾,而不能新建檔案,但是可以檔案和資料夾進行復制和貼上操作;
3、上傳所有以.txt結尾的檔案:ftp> mput *.txt
   下載所有以.txt結尾的檔案:ftp> mget *.txt
4、對於對映網路驅動器,不能直接雙擊開啟文字檔案,一般需要下載到本地進行相關操作;
5、請確保防火牆關閉;



相關推薦

細說ftp伺服器搭建部署許可權管理

摘要: FTP 是File TransferProtocol(檔案傳輸協議)的英文簡稱,中文簡稱為“文傳協議”。用於Internet上的控制檔案的雙向傳輸。同時,它也是一個應用程式(Applicati

阿里雲CentOS搭建SVN伺服器許可權管理

  linux(centos)下SVN伺服器如何搭建?說到SVN伺服器,想必大家都知道,可以是在LINUX下如何搭建SVN伺服器呢?那麼今天給大家分享一下linux(centos)搭建SVN伺服器的思路!    雖然在windows上搭建SVN很簡單,但是效能卻不高,

搭建Git CentOS搭建Git伺服器許可權管理

CentOS搭建Git伺服器及許可權管理   宣告:本教程,僅作為配置的記錄,細節不展開,需要您有一點linux的命令基礎,僅作為配置參考。 1. 系統環境 系統: Linux:CentOS 7.2 64位 由於CentOS已經內建了OpenSSH,如果您的

CentOS搭建Git伺服器許可權管理

宣告:本教程,僅作為配置的記錄,細節不展開,需要您有一點linux的命令基礎,僅作為配置參考。 1. 系統環境 系統: Linux:CentOS 7.2 64位 由於CentOS已經內建了OpenSSH,如果您的系統沒有,請自行安裝。 檢視ssh版本 $ ssh

linux系統下修改資料夾目錄許可權FTP伺服器搭建

資料夾許可權問題 Linux、Fedora、Ubuntu修改檔案、資料夾許可權的方法差不多。很多人開始接觸Linux時都很頭痛Linux的檔案許可權問題。這裡告訴大家如何修改Linux檔案-資料夾許可權。以主資料夾下的一個名為cc的資料夾為例。 下面一步一步介紹如何修改許

在linux(CentOS)上搭建git伺服器和配置gitolite許可權管理

什麼是git伺服器?我覺得其實就是集中存放git倉庫的伺服器,只不過這些git倉庫要對外開放,讓其他人來連線和push程式碼。 當前伺服器上集中管理的git倉庫不是使用git init來建立的,而是使用git --bare init來建立的空白倉庫,建立很簡單,關鍵是如何管

Linux的Ftp伺服器搭建

FTP服務概述: FTP伺服器(File Transfer Protocol Server)是在網際網路上提供檔案儲存和訪問服務的計算機,它們依照FTP協議提供服務。 FTP(File Transfer Protocol: 檔案傳輸協議)作用: Internet 上用來傳送檔案的協議 常見FTP伺服器:

mysql常用運維命令許可權管理

1. /etc/init.d/mysqld start和mysql_safe --user=mysql &的啟動實質是一樣的 2. /etc/init.d/mysqld stop    一般不用的停止資料庫的方法      kill

ftp服務的部署登陸設定

FTP    FTP ( 檔案傳輸協議 ) 是 INTERNET 上仍常用的最老的網路協議 之一 , 它為系統提供了通過網路與遠端伺服器進行傳輸的簡單方法 • 在 RED HAT ENTREPRISE LINUX 6 中。 FTP 伺服器包的名 稱為 VSFTPD , 它代表 Very Se

檔案屬性許可權管理

一、許可權檢視 1.檔案許可權檢視       ls   -l     filename       ll      &n

ftp伺服器搭建(離線安裝vsftpd),配置

1.下載vsftp:http://rpmfind.net/linux/rpm2html/search.php?query=vsftpd(x86-64) 2.檢查是否已經安裝了vsftp rpm -qa | grep vsftpd 如果沒有提示則說明沒有安裝 如果提示版本號則說明已經安裝

Ubuntu 16.04 ftp伺服器搭建 匿名使用者

1. sudo apt-get install vsftpd 有詢問Yes的地方Yes就行。 無法安裝vsftpd 執行 sudo apt-get update 2.等待安裝完成,進入配置檔案目錄, cd /etc/ 3. 將配置檔案備份, sudo cp vsftpd.conf vsft

理解OpenShift(4):使用者許可權管理

理解OpenShift(1):網路之 Router 和 Route 理解OpenShift(2):網路之 DNS(域名服務) 理解OpenShift(3):網路之 SDN 理解OpenShift(4):使用者及許可權管理   OpenShift 支援 RBAC(Role Based Acc

mysql-資料(記錄)相關操作(增刪改查)許可權管理

一、介紹 在MySQL管理軟體中,可以通過SQL語句中的DML語言來實現資料的操作,包括 使用INSERT實現資料的插入 UPDATE實現資料的更新 使用DELETE實現資料的刪除 使用SELECT查詢資料以及。 二、插入資料 1. 插入完整資料(順序插入) 語法一:

Mongo 使用者建立許可權管理

Mongo版本3.0之前使用的是db.addUser(),但3.0之後使用的是db.createUser() 內建的角色:  資料庫使用者角色:read、readWrite;  資料庫管理角色:d

POI匯出時寫一份到ftp伺服器,一份下載給客戶端 ftp伺服器搭建(離線安裝vsftpd),配置 poi實現百萬級資料匯出 oi實現百萬級資料匯出

導語:   昨天接到專案經理這麼一個需求,讓我在POI匯出Excel的時候寫一份到我之前搭建的ftp伺服器上。所以就有了這篇部落格首先我們來分析下之前的業務邏輯:我們建立並構造了一個workbook,然後構建了一個OutputStream輸出流,然後我們把資料寫入輸出流中就可以被客戶端下載。   現在我們

樹莓派-FTP伺服器搭建與配置

1.安裝vsftpd sudo apt-get install vsftpd 2.啟用FTP服務 sudo service vsftpd start 3.編輯vsftpd的配置檔案,並自定義FTP位置 sudo nano /etc/vsftpd.conf 依照個人所需對以下選項進行定義,如需使用則

centos6.5下ftp伺服器搭建

搭建這個ftp伺服器,主要是用於將windows開發環境下打包的軟體及其他相關資源上傳到伺服器上。 主要的步驟先描述下,週末補充完整(以下內容是在參考網上教程操作後進行記錄的,當然要感謝網上大神們提供的資料)。 此次進行安裝的是vsftpd,vsftpd是linux下的其

Linux下FTP伺服器搭建與配置

環境檢查 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [[email protected] ~]# uname -r 2.6.32-696.el6.x86_64

Ubuntu FTP伺服器搭建(內網和公網)

1、安裝vsftpd # sudo apt-get install vsftpd 若提示Unable to locate package(未發現軟體包),則需要先更新源列表/etc/apt/source.list檔案。 Ubuntu源:http://wiki.ubuntu.org.cn/