最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解CentOS7安裝配置vsftp搭建FTP

 更新時(shí)間:2017年01月22日 10:37:59   作者:小弟調(diào)調(diào)  
這篇文章主要介紹了詳解CentOS7安裝配置vsftp搭建FTP,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧

安裝配置vsftpd做FTP服務(wù),我們的Web應(yīng)用使用git管理進(jìn)行迭代,公共文件軟件存儲(chǔ)使用開(kāi)源網(wǎng)盤(pán)Seafile來(lái)管理,基本夠用。想不到FTP的使用的場(chǎng)景,感覺(jué)它好像老去了,雖然現(xiàn)在基本沒(méi)有用到這個(gè)工具,但剛好公司公司刷一個(gè)硬件需要使用FTP來(lái)下載配置文件,于是研究使用了一下,記錄了一下使用過(guò)程。

安裝

在安裝前查看是否已安裝vsftpd

# 查看是否已安裝 方法一
[root@localhost ~]# rpm -q vsftpd
vsftpd-3.0.2-21.el7.x86_64

# 查看是否已安裝 方法二
[root@localhost ~]# vsftpd -v
vsftpd: version 3.0.2

# 安裝 vsftpd
[root@localhost ~]# yum -y install vsftpd

查看位置

[root@localhost ~]# whereis vsftpd
vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz

啟動(dòng)vsftpd服務(wù)

systemctl start vsftpd.service

關(guān)閉firewall和SELinux

setenforce 0  # 設(shè)置SELinux 成為permissive模式 (關(guān)閉SELinux)
setenforce 1  # 設(shè)置SELinux 成為enforcing模式  (開(kāi)啟SELinux)

# 或者修改配置
vi /etc/selinux/config
# SELINUX=enforcing
# 注釋掉
# SELINUXTYPE=targeted
# 注釋掉
SELINUX=disabled
# 增加
:wq! #保存退出
setenforce 0

或者設(shè)置SELinux

getsebool -a | grep ftp
setsebool -P ftpd_full_access on
systemctl stop firewalld.service
#停止firewall
systemctl disable firewalld.service
#禁止firewall開(kāi)機(jī)啟動(dòng)

如果你不愿意關(guān)閉防火墻,需要防火墻添加FTP服務(wù)。

firewall-cmd --permanent --zone=public --add-service=ftp
firewall-cmd --reload

修改配置文件

配置文件/etc/vsftpd/vsftpd.conf

anonymous_enable=NO    # 不允許匿名訪問(wèn),禁用匿名登錄
chroot_local_user=YES   # 啟用限定用戶在其主目錄下
use_localtime=YES     # 使用本地時(shí)(自行添加)
chroot_list_enable=YES
local_enable=YES      # 允許使用本地帳戶進(jìn)行FTP用戶登錄驗(yàn)證
allow_writeable_chroot=YES # 如果啟用了限定用戶在其主目錄下需要添加這個(gè)配置,解決報(bào)錯(cuò) 500 OOPS: vsftpd: refusing to run with writable root inside chroot()
xferlog_enable=YES     # 啟用上傳和下載的日志功能,默認(rèn)開(kāi)啟。
local_umask=022      # 設(shè)置本地用戶默認(rèn)文件掩碼022
# FTP上本地的文件權(quán)限,默認(rèn)是077,不過(guò)vsftpd安裝后的配置文件里默認(rèn)是022

虛擬用戶高級(jí)參數(shù)

  • 當(dāng)virtual_use_local_privs=YES 時(shí),虛擬用戶和本地用戶有相同的權(quán)限;
  • 當(dāng)virtual_use_local_privs=NO  時(shí),虛擬用戶和匿名用戶有相同的權(quán)限,默認(rèn)是NO。
  • 當(dāng)virtual_use_local_privs=YES,write_enable=YES時(shí),虛擬用戶具有寫(xiě)權(quán)限(上傳、下載、刪除、重命名)。
  • 當(dāng)virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=YES,anon_upload_enable=YES時(shí),虛擬用戶不能瀏覽目錄,只能上傳文件,無(wú)其他權(quán)限。
  • 當(dāng)virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_upload_enable=NO時(shí),虛擬用戶只能下載文件,無(wú)其他權(quán)限。
  • 當(dāng)virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_upload_enable=YES時(shí),虛擬用戶只能上傳和下載文件,無(wú)其他權(quán)限。
  • 當(dāng)virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_mkdir_write_enable=YES時(shí),虛擬用戶只能下載文件和創(chuàng)建文件夾,無(wú)其他權(quán)限。
  • 當(dāng)virtual_use_local_privs=NO,write_enable=YES,anon_world_readable_only=NO,anon_other_write_enable=YES時(shí),虛擬用戶只能下載、刪除和重命名文件,無(wú)其他權(quán)限。

匿名登錄

安裝完默認(rèn)情況下是開(kāi)啟匿名登錄的,對(duì)應(yīng)的是 /var/ftp 目錄,這時(shí)只要服務(wù)啟動(dòng)了,就可以直接連上FTP了。默認(rèn)用戶名是ftp,密碼是空的。如果你在配置里面配置了anonymous_enable=NO,匿名就無(wú)法登錄。

$ ftp 192.168.188.114

Connected to 192.168.188.114.
220 (vsFTPd 3.0.2)
Name (192.168.188.114:kennywang): ftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
229 Entering Extended Passive Mode (|||47867|).
150 Here comes the directory listing.
-rw-r--r--  1 0    0       12 Jan 18 06:31 README.md
drwxr-xr-x  2 0    0        6 Nov 05 19:43 pub
226 Directory send OK.

多用戶配置

多用戶配置需要自己手工添加配置,下面內(nèi)容到vsftpd.conf末尾

# 
# 

use_localtime=YES     # 使用本地時(shí)(自行添加)
listen_port=21
chroot_local_user=YES   # 啟用限定用戶在其主目錄下
idle_session_timeout=300

data_connection_timeout=120 # 數(shù)據(jù)連接超時(shí)時(shí)間
guest_enable=YES       # 設(shè)定啟用虛擬用戶功能
guest_username=ftpuser    # 指定虛擬用戶的宿主用戶 ftpuser(就是我們后面會(huì)新建這個(gè)用戶)
# guest_username=www
# 如果ftp目錄是指向網(wǎng)站根目錄,用來(lái)上傳網(wǎng)站程序,
# 可以指定虛擬用戶的宿主用戶為nginx運(yùn)行賬戶www,可以避免很多權(quán)限設(shè)置問(wèn)題 


user_config_dir=/etc/vsftpd/vuser_conf  # 虛擬用戶配置文件目錄
virtual_use_local_privs=YES # NO時(shí),虛擬用戶和匿名用戶有相同的權(quán)限,默認(rèn)是NO

pasv_min_port=10060     # 被動(dòng)模式最小端口號(hào)10060
pasv_max_port=10090     # 被動(dòng)模式最大端口號(hào)10090

accept_timeout=5
connect_timeout=1

創(chuàng)建宿主用戶

新建系統(tǒng)用戶ftpuser,用戶目錄為/home/vsftpd, 用戶登錄終端設(shè)為/bin/false(即使之不能登錄系統(tǒng))

# 方法一
# 創(chuàng)建用戶 ftpuser 指定 `/home/vsftpd` 目錄
useradd -g root -M -d /home/vsftpd -s /sbin/nologin ftpuser

# 設(shè)置用戶 ftpuser 的密碼
passwd ftpuser
# 把 /home/vsftpd 的所有權(quán)給ftpuser.root
chown -R ftpuser.root /home/vsftpd

# 方法二
useradd ftpuser -d /home/vsftpd -s /bin/false
chown ftpuser:ftpuser /home/vsftpd -R 

# 如果虛擬用戶的宿主用戶為www,需要這樣設(shè)置
# www目錄是你應(yīng)用的目錄
chown www:www /home/www -R

刪除用戶 userdel ftpuser

建立虛擬用戶文件

touch /etc/vsftpd/vuser_passwd
# 編輯虛擬用戶名單文件:(
# 第一行賬號(hào),第二行密碼,注意:不能使用root做用戶名,系統(tǒng)保留)
vi /etc/vsftpd/vuser_passwd 
# 編輯內(nèi)容,下面是 vuser_passwd 內(nèi)容
wcj
123456
hss
123456
#保存退出

生成虛擬用戶數(shù)據(jù)文件

db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db
chmod 600 /etc/vsftpd/vuser_passwd.db

創(chuàng)建用戶配置

mkdir /etc/vsftpd/vuser_conf # 建立虛擬用戶個(gè)人vsftp的配置文件
cd /etc/vsftpd/vuser_conf   # 進(jìn)入目錄
touch hss wcj         # 這里創(chuàng)建兩個(gè)虛擬用戶配置文件

每一個(gè)文件配置文件都差不多,只是參數(shù)local_root不一樣。

local_root=/home/vsftpd/hss  # 用戶 hss 配置目錄,這個(gè)地方不一樣
write_enable=YES       # 允許本地用戶對(duì)FTP服務(wù)器文件具有寫(xiě)權(quán)限
anon_world_readable_only=NO
anon_upload_enable=YES    # 允許匿名用戶上傳文件(須將全局的write_enable=YES,默認(rèn)YES)
anon_mkdir_write_enable=YES  # 允許匿名用戶創(chuàng)建目錄
anon_other_write_enable=YES  # 允許匿名用戶刪除和重命名權(quán)限(自行添加)

創(chuàng)建用戶目錄

每個(gè)用戶目錄文件夾是有root用戶創(chuàng)建的,也就是上面local_root配置目錄,其權(quán)限應(yīng)設(shè)置為755。因?yàn)闄?quán)限的問(wèn)題在該文件夾內(nèi)無(wú)法直接上傳文件。而如果設(shè)置為777則無(wú)法訪問(wèn),這是由于vsftpd的安全性設(shè)置。解決上傳問(wèn)題的方法是在local_root文件夾內(nèi)新建一個(gè)upload的文件夾,權(quán)限設(shè)置為777,可將文件上傳到該文件夾。

mkdir -p /home/vsftpd/hss   # 每個(gè)用戶對(duì)于一個(gè)目錄,創(chuàng)建兩個(gè)目錄“hss”、“wcj”

# 下面是目錄結(jié)構(gòu)
/home/vsftpd
   ├── hss
   │  ├── filename.md
   │  └── upload
   └── wcj
     └── filename.md


# 賦予其權(quán)限
chmod -R 777 /var/vsftpd/hss/upload/

# 在/var/ftp下新建一個(gè)目錄來(lái)實(shí)現(xiàn)匿名用戶上傳
mkdir /var/ftp/upload

vsftpd中幾種用戶的區(qū)分:

本地用戶:用戶在FTP服務(wù)器擁有賬號(hào),且該賬號(hào)為本地用戶的賬號(hào),可以通過(guò)自己的賬號(hào)和口令進(jìn)行授權(quán)登錄,登錄目錄為自己的home目錄$HOME

虛擬用戶:用戶在FTP服務(wù)器上擁有賬號(hào),但該賬號(hào)只能用于文件傳輸服務(wù)。登錄目錄為某一特定的目錄,通??梢陨蟼骱拖螺d

匿名用戶:用戶在FTP服務(wù)器上沒(méi)有賬號(hào),登錄目錄為/var/ftp

最后重啟vsftpd服務(wù)器

systemctl restart vsftpd.service

服務(wù)運(yùn)維

systemctl restart vsftpd.service # 重啟服務(wù)
systemctl start vsftpd.service  # 啟動(dòng)服務(wù)
systemctl status vsftpd.service  # 服務(wù)狀態(tài)查看

FTP命令

ftp> ascii # 設(shè)定以ASCII方式傳送文件(缺省值) 
ftp> bell  # 每完成一次文件傳送,報(bào)警提示. 
ftp> binary # 設(shè)定以二進(jìn)制方式傳送文件. 
ftp> bye  # 終止主機(jī)FTP進(jìn)程,并退出FTP管理方式. 
ftp> case # 當(dāng)為ON時(shí),用MGET命令拷貝的文件名到本地機(jī)器中,全部轉(zhuǎn)換為小寫(xiě)字母. 
ftp> cd   # 同UNIX的CD命令. 
ftp> cdup  # 返回上一級(jí)目錄. 
ftp> chmod # 改變遠(yuǎn)端主機(jī)的文件權(quán)限. 
ftp> close # 終止遠(yuǎn)端的FTP進(jìn)程,返回到FTP命令狀態(tài), 所有的宏定義都被刪除. 
ftp> delete # 刪除遠(yuǎn)端主機(jī)中的文件. 
ftp> dir [remote-directory] [local-file] # 列出當(dāng)前遠(yuǎn)端主機(jī)目錄中的文件.如果有本地文件,就將結(jié)果寫(xiě)至本地文件. 
ftp> get [remote-file] [local-file] # 從遠(yuǎn)端主機(jī)中傳送至本地主機(jī)中. 
ftp> help [command] # 輸出命令的解釋. 
ftp> lcd # 改變當(dāng)前本地主機(jī)的工作目錄,如果缺省,就轉(zhuǎn)到當(dāng)前用戶的HOME目錄. 
ftp> ls [remote-directory] [local-file] # 同DIR. 
ftp> macdef         # 定義宏命令. 
ftp> mdelete [remote-files] # 刪除一批文件. 
ftp> mget [remote-files]  # 從遠(yuǎn)端主機(jī)接收一批文件至本地主機(jī). 
ftp> mkdir directory-name  # 在遠(yuǎn)端主機(jī)中建立目錄. 
ftp> mput local-files # 將本地主機(jī)中一批文件傳送至遠(yuǎn)端主機(jī). 
ftp> open host [port] # 重新建立一個(gè)新的連接. 
ftp> prompt      # 交互提示模式. 
ftp> put local-file [remote-file] # 將本地一個(gè)文件傳送至遠(yuǎn)端主機(jī)中. 
ftp> pwd # 列出當(dāng)前遠(yuǎn)端主機(jī)目錄. 
ftp> quit # 同BYE. 
ftp> recv remote-file [local-file] # 同GET. 
ftp> rename [from] [to]   # 改變遠(yuǎn)端主機(jī)中的文件名. 
ftp> rmdir directory-name  # 刪除遠(yuǎn)端主機(jī)中的目錄. 
ftp> send local-file [remote-file] # 同PUT. 
ftp> status  # 顯示當(dāng)前FTP的狀態(tài). 
ftp> system  # 顯示遠(yuǎn)端主機(jī)系統(tǒng)類(lèi)型. 
ftp> user user-name [password] [account] # 重新以別的用戶名登錄遠(yuǎn)端主機(jī). 
ftp> ? [command] # 同HELP. [command]指定需要幫助的命令名稱。如果沒(méi)有指定 command,ftp 將顯示全部命令的列表。
ftp> ! # 從 ftp 子系統(tǒng)退出到外殼。 

關(guān)閉FTP連接

bye

exit

quit

下載文件

ftp> get readme.txt # 下載 readme.txt 文件
ftp> mget *.txt   # 下載 

上傳文件

ftp> put /path/readme.txt # 上傳 readme.txt 文件
ftp> mput *.txt      # 可以上傳多個(gè)文件

狀態(tài)碼

  • 230 - 登錄成功
  • 200 - 命令執(zhí)行成功
  • 150 - 文件狀態(tài)正常,開(kāi)啟數(shù)據(jù)連接端口
  • 250 - 目錄切換操作完成
  • 226 - 關(guān)閉數(shù)據(jù)連接端口,請(qǐng)求的文件操作成功

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux下yum命令及軟件的安裝方式

    Linux下yum命令及軟件的安裝方式

    這篇文章主要介紹了Linux下yum命令及軟件的安裝方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • linux 觸摸屏驅(qū)動(dòng)編寫(xiě)

    linux 觸摸屏驅(qū)動(dòng)編寫(xiě)

    這篇文章主要介紹了linux 觸摸屏驅(qū)動(dòng)編寫(xiě),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-04-04
  • YUM解決RPM包安裝依賴關(guān)系及yum工具介紹本地源配置方法詳解

    YUM解決RPM包安裝依賴關(guān)系及yum工具介紹本地源配置方法詳解

    這篇文章主要介紹了YUM解決RPM包安裝依賴關(guān)系及yum工具介紹本地源配置方法詳解,本文給大家介紹的非常詳細(xì)具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-10-10
  • linux安裝Jenkins超詳細(xì)全過(guò)程

    linux安裝Jenkins超詳細(xì)全過(guò)程

    大家好,本篇文章主要講的是linux安裝Jenkins超詳細(xì)全過(guò)程,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • linux中的常用命令與快捷鍵介紹

    linux中的常用命令與快捷鍵介紹

    大家好,本篇文章主要講的是linux中的常用命令與快捷鍵介紹,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下,方便下次瀏覽
    2021-12-12
  • Linux中把用戶添加到組的4個(gè)方法總結(jié)

    Linux中把用戶添加到組的4個(gè)方法總結(jié)

    這篇文章主要給大家介紹了關(guān)于Linux中把用戶添加到組的4個(gè)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Linux具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • Ubuntu掛載3T硬盤(pán)或大于2T磁盤(pán)的方法

    Ubuntu掛載3T硬盤(pán)或大于2T磁盤(pán)的方法

    本篇文章主要介紹了Ubuntu掛載3T硬盤(pán)或大于2T磁盤(pán)的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-03-03
  • Linux系統(tǒng)用戶管理命令小結(jié)

    Linux系統(tǒng)用戶管理命令小結(jié)

    這篇文章主要介紹了Linux系統(tǒng)用戶管理命令小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • CentOS6.5與CentOS7 ssh修改默認(rèn)端口號(hào)的方法

    CentOS6.5與CentOS7 ssh修改默認(rèn)端口號(hào)的方法

    這篇文章主要介紹了CentOS6.5與CentOS7 ssh修改默認(rèn)端口號(hào)的方法,結(jié)合實(shí)例形式分別描述了CentOS6.5及CentOS7針對(duì)ssh修改默認(rèn)端口號(hào)的具體操作步驟、相關(guān)命令與使用技巧,需要的朋友可以參考下
    2018-04-04
  • Apache加速模塊mod_pagespeed安裝使用詳細(xì)介紹

    Apache加速模塊mod_pagespeed安裝使用詳細(xì)介紹

    這篇文章主要介紹了Apache加速模塊mod_pagespeed安裝使用詳細(xì)介紹,需要的朋友可以參考下
    2014-03-03

最新評(píng)論

洪江市| 双流县| 海南省| 乐平市| 新源县| 夹江县| 阿瓦提县| 新闻| 如东县| 巨野县| 德庆县| 桃园市| 定襄县| 冀州市| 苏尼特右旗| 齐齐哈尔市| 昌乐县| 怀仁县| 太仓市| 连山| 云和县| 涿鹿县| 武乡县| 高密市| 罗源县| 长子县| 白银市| 贵溪市| 新余市| 漠河县| 孝感市| 巴里| 林周县| 仙游县| 延川县| 陆河县| 塔河县| 晋宁县| 黄山市| 晋中市| 株洲县|