Linux下的 FTP

?

1.安裝vsftpd

yum install vsftpd

2.啟動/重啟/關閉vsftpd服務器
[root@localhost ftp]# /sbin/service vsftpd restart
Shutting down vsftpd: [ OK ]
Starting vsftpd for vsftpd: [ OK ]
?
OK表示重啟成功了.
啟動和關閉分別把restart改為start/stop即可.
如果是源碼安裝的,到安裝文件夾下找到start.sh和shutdown.sh文件,執行它們就可以了.

3.與vsftpd服務器有關的文件和文件夾
vsftpd服務器的配置文件的是: /etc/vsftpd/vsftpd.conf

vsftpd服務器的根目錄,即FTP服務器的主目錄:
[root@localhost ftp]# more /etc/passwd|grep ftp
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
?
這樣你就能看到FTP的服務器的目錄在/var/ftp處
如果你想修改服務器目錄的路徑,那么你只要修改/var/ftp到別處就行了

4.添加FTP本地用戶
有的FTP服務器需要用戶名和密碼才能登錄,就是因為設置了FTP用戶和權限.
FTP用戶一般是不能登錄系統的,只能進入FTP服務器自己的目錄中,這是為了安全.這樣的用戶就叫做虛擬用戶了.實際上并不是真正的虛擬用戶,只是不能登錄SHELL了而已,沒能力登錄系統.

/usr/sbin/adduser -d /opt/ftp -g ftp -s /sbin/nologin ftpuser

這個命令的意思是:
使用命令(adduser)添加ftpuser用戶,不能登錄系統(-s /sbin/nologin),自己的文件夾在(-d /opt/ftp)),屬于組ftp(-g ftp)
然后你需要為它設置密碼 passwd ftp
這樣就添加了一個FTP用戶了.下面的示例可以幫助你進入FTP服務器了.

要保證自己能讀寫自己的目錄,就要在配置文件vsftpd.conf里設置一下就可以讀寫了.
local_enable=yes
write_enable=yes
local_umask=022

5.匿名上傳下載
修改配置文件即可vsftpd.conf,確定有以下幾行,沒有自己添加進去就可以了.
anonymous_enable=yes
anon_upload_enable=yes
anon_mkdir_write_enable=yes
anon_umask=022

然后你可以新建一個文件夾,修改它的權限為完全開放,任何用戶就可以登錄這個文件夾,并上傳下載文件:
mkdir /var/ftp/guest
chmod 777 /var/ftp/guest

6.定制進入FTP服務器的歡迎信息
在vsftpd.conf文件中設置:
dirmessage_enable=yes
然后進入用戶目錄建立一個.message文件,輸入歡迎信息即可。

7.實現虛擬路徑
將某個目錄掛載到FTP服務器下供用戶使用,這就叫做虛擬路徑.
比如將gxl用戶的目錄掛載到FTP服務器中,供FTP服務器的用戶使用,使用如下命令即可:
[root@localhost opt]# mount –bind /home/gxl /var/ftp/pub #使用掛載命令
[root@localhost opt]# ls /var/ftp/pub
LumaQQ Screenshot.png 桌面

8.打開vsFTPd的日志功能
添加下面一行到vsftpd.conf文件中,一般情況下該文件中有這一行,只要把前面的注釋符號#去掉即可,沒有的話就添加,或者修改:
xferlog_file=/var/log/vsftpd.log

9.限制鏈接數,以及每個IP最大的鏈接數
修改配置文件中,例如vsftp最大支持鏈接數100個,每個IP能支持5個鏈接:
max_client=100
max_per=5

10.限制傳輸速度
修改配置文件中,例如讓匿名用戶和vsftd上的用戶(即虛擬用戶)都以80KB=1024*80=81920的速度下載
anon_max_rate=81920
local_max_rate=81920

11.將用戶(一般指虛擬用戶)限制在自家目錄
修改配置文件中,這樣用戶就只能訪問自己家的目錄了:
chroot_local_user=yes
如果只想某些用戶僅能訪問自己的目錄,其它用戶不做這個限制,那么就需要在chroot_list文件(此文件一般是在/etc/vsftpd/中)中添加此用戶.
編輯此文件,比如將test用戶添加到此文件中,那么將其寫入即可.一般的話,一個用戶占一行.
[root@localhost vsftpd]# cat chroot_list
ftpuser

12.綁定某個IP到vsFTPd
有時候要限制某些IP訪問服務器,只允許某些IP訪問,例如只允許192.168.0.33訪問這個FTP,同樣修改配置文件:
listen_address=192.168.0.33

?

配置vsftpd.conf
????????????????????????
?anonymous_enable=NO??????????? #禁止匿名
??????????????????? ???? local_enable=YES???????????????????????#允許本地登錄?
?????????????????? write_enable=YES??????????????????????? #允許寫,如需上傳,則必須?
?????????????????? local_umask=027????????????????????????#將上傳文件的權限設置為:777-local_umask?
?????????????????? anon_upload_enable=YES????????? #?允許虛擬用戶和匿名用戶上傳
?????????????????? anon_other_write_enable=YES?#允許虛擬用戶和匿名用戶修改文件名和刪除文件
?????????????????? dirmessage_enable=YES??????????
?????????????????? xferlog_enable=YES????????????????????? #打開日志記錄
?????????????????? connect_from_port_20=YES
?????????????????? xferlog_file=/var/log/vsftpd.log?????#日志存放位置?
?????????????????? xferlog_std_format=YES??????????????#標準日志格式?
?????????????????? idle_session_timeout=600????????#空閑連接超時?
?????????????????? data_connection_timeout=120
?????????????????? ftpd_banner=Welcome to ChinaRise FTP service?????? #歡迎信息
?????????????????? guest_enable=yes?????????????????????? #允許虛擬用戶
?????????????????? guest_username=vsftpdguest?#虛擬用戶使用的系統賬號?
?????????????????? virtual_use_local_privs=YES?????#虛擬用戶擁有本地系統權限

???????????????????chroot_local_user=NO??????????????
?????????????????? chroot_list_enable=YES?

?????????????????????#以上兩行將虛擬用戶限制在其目錄下,不能訪問其他目錄,或者直接用????????????????????????????
?????????????????? chroot_local_user=YES???????????????????????????????

?????????????????? listen=yes????????????????#監聽/被動模式?
?????????????????? listen_port=21??????? #監聽端口

???????????????????chroot_list_file=/etc/vsftpd/vsftpd.chroot_list??????? #虛擬用戶名單保存在文件/etc/vsftpd/vsftpd.chroot_list 中?
???????????????????
user_config_dir=/etc/vsftpd/vsftpd_user_conf????#每個虛擬用戶名的更加詳細的培植保存在/etc/vsftpd/vsftpd_user_conf 中

虛擬用戶其他設置

????? 在/etc/vsftpd/vsftpd.chroot_list 文件中寫入允許登陸的虛擬用戶名稱,每行一個
??????在/etc/vsftpd/vsftpd_user_conf?文件夾中創建一個以虛擬用戶用戶名命名的文件,
????? 寫入:?
local_root = /var/FTP/子目錄名
????? 然后在/var/FTP下創建一個對應的目錄即可

?

========================================================

CentOS下開通Ftp和Telnet服務

在安裝好CentOS以后,需要設置Ftp和Telnet服務文件,才能啟動Ftp和Telnet服務,可以通過遠程控制進行開啟。

1.1、進入終端命令模式,用root用戶登錄;

1.2、開啟ftp服務。

  cd /etc/xinetd.d ,編輯ftp服務的配置文件gssftp:

  vi gssftp ,將 修改兩項內容:

  (1)server_args = -l –a 去掉-a 改為server_args = -l

  (2)disable=yes改為disable=no

  (3)保存退出。

1.3、開啟telnet服務

?
cd /etc/xinetd.d ,察看telnet服務的配置文件krb5-telnet的設置:$ {! b7 r0 A8 d. z?

   開啟telnet服務設置

   vi krb5-telnet ,

  (1)將disable=yes,改為disable=no,保存退出。

1.4、激活服務:

  telnet /ftp 是掛在 xinetd 底下的,所以自然只要重新激活 xinetd 就能夠將 xinetd 里頭的設定重新讀進來,所以剛剛設定的telnet /ftp自然也就可以被激活。

  激活目錄和命令:

  cd /etc/rc.d/init.d/

  service xinetd restart

  有時會提示命令不存在,需要加上命令的路徑

  [root@localhost init.d]# service xinetd resart

  bash: service: command not found

  [root@localhost init.d]# /sbin/service xinetd restart

??? 若提示xinetd: 未被識別的服務,則說明/etc/rc.d/init.d下無xinetd包

  [root@localhost init.d]# yum -y install xinetd*?? //下載xinetd包

??? [root@localhost init.d]# service xinetd resart??? //重新啟動FTP、Telnet服務

????這樣既可ftp登陸到服務器


增加用戶

[root@srsman]adduser?-d?/opt/btgup?-g?ftp?-s?/sbin/nologin?btgup

[ root@srsman]passwd?btgup
Changing?password?for?user?btgup.
New?password:
Retype?new?password:

passwd:?all?authentication?tokens?updated?successfully.



這樣就為系統增加了一個名為srsman,目錄指向為/opt/srsman的ftp用戶

Tips:很多朋友在增加用戶后ftp上服務器的時候總是提示

ftp服務器連接失敗,錯誤提示:


500?OOPS:?cannot?change?directory:/home/*******
500?OOPS:?child?died

當你看到以上提示時,試著在輸入以下命令解決


setsebool?-P?ftpd_disable_trans?1
service?vsftpd?restart

第一行中的-P參數是為了以后不需要每次開機都輸入這個命令

//===================================================================
修改vsftpd.conf文件:


user_config_dir=/etc/vsftpd/user_config_dir
#并在這個文件夾下面添加用戶名的文件
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

修改文件夾的讀寫權限:


chown?ftp?/var/ftp/upload
chmod?777?/var/ftp/upload

這樣就為系統增加了一個名為srsman,目錄指向為/opt/srsman的ftp用戶

Tips:很多朋友在增加用戶后ftp上服務器的時候總是提示

ftp服務器連接失敗,錯誤提示:


500?OOPS:?cannot?change?directory:/home/*******
500?OOPS:?child?died

當你看到以上提示時,試著在輸入以下命令解決


setsebool?-P?ftpd_disable_trans?1
service?vsftpd?restart

第一行中的-P參數是為了以后不需要每次開機都輸入這個命令

//===================================================================
修改vsftpd.conf文件:


user_config_dir=/etc/vsftpd/user_config_dir
#并在這個文件夾下面添加用戶名的文件
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

修改文件夾的讀寫權限:


chown?ftp?/var/ftp/upload
chmod?777?/var/ftp/upload

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387928.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387928.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387928.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python入門23 pymssql模塊(python連接sql server增刪改數據 )

增刪改數據必須connect.commit()才會生效 回滾函數 connect.rollback() 連接數據庫 dinghanhua sql server增刪改 import pymssqlserver 192.168.1.1 user user password 111111 database testdbconnect pymssql.connect(server server,user user,passwordpassword,da…

每個人都應該使用的Python 3中被忽略的3個功能

重點 (Top highlight)Python 3 has been around for a while now, and most developers — especially those picking up programming for the first time — are already using it. But while plenty of new features came out with Python 3, it seems like a lot of them ar…

iframe自適應高度

為什么需要使用iframe自適應高度呢?其實就是為了美觀,要不然iframe和窗口長短大小不一,看起來總是不那么舒服,特別是對于我們這些編程的來說,如鯁在喉的感覺。 首先設置樣式 body{margin:0; padding:0;} 如果不設置bod…

.Net轉Java自學之路—SpringMVC框架篇八(RESTful支持)

RESTful架構,REST即Representational State Transfer。表現層狀態轉換,就是目前最流行的一種互聯網軟件架構。它結構清晰、符合標準、易于理解、擴展方便,所以得到越來越多網站的采用。 RESTful其實就是一個開發理念,是對http的很…

沖刺第七天

今天任務進行情況:今天我們將我們的游戲導到界面形成可用的應用程序,并且進行調試與運行,讓同學試玩,發現了困難并加以改正。 遇到的困難及解決方法: 運行時發現游戲界面中UI的button和image的位置會隨分辨率的不同而發…

數據探查_數據科學家,開始使用探查器

數據探查Data scientists often need to write a lot of complex, slow, CPU- and I/O-heavy code — whether you’re working with large matrices, millions of rows of data, reading in data files, or web-scraping.數據科學家經常需要編寫許多復雜,緩慢&…

Node.js Streams:你需要知道的一切

Node.js Streams:你需要知道的一切 圖像來源 Node.js流以難以使用而聞名,甚至更難理解。好吧,我有個好消息 - 不再是這樣了。 多年來,開發人員在那里創建了許多軟件包,其唯一目的是簡化流程。但在本文中,我…

oracle表分區

1.表空間:是一個或多個數據文件的集合,主要存放的是表,所有的數據對象都存放在指定的表空間中;一個數據文件只能屬于一個表空間,一個數據庫空間由若干個表空間組成,其中包括:a.系統表空間:10g以前,默認系統表空間是System,10g包括10g以后,默認系統表空間是User,存放數據字典和視…

oracle異機恢復 open resetlogs 報:ORA-00392

參考文檔:ALTER DATABASE OPEN RESETLOGS fails with ORA-00392 (Doc ID 1352133.1) 打開一個克隆數據庫報以下錯誤: SQL> alter database open resetlogs; alter database open resetlogs * ERROR at line 1: ORA-00392: log 1 of thread 1 is being…

從ncbi下載數據_如何從NCBI下載所有細菌組件

從ncbi下載數據One of the most important steps in genome analysis is gathering the data required for downstream research. This sometimes requires us to have the assembled reference genomes (mostly bacterial) so we can verify the classifiers trained or bins …

shell之引號嵌套引號大全

萬惡的引號 這個能看懂你就出師了! 轉載于:https://www.cnblogs.com/theodoric008/p/10000480.html

oracle表分區詳解

oracle表分區詳解 從以下幾個方面來整理關于分區表的概念及操作: 表空間及分區表的概念表分區的具體作用表分區的優缺點表分區的幾種類型及操作方法對表分區的維護性操作 1.表空間及分區表的概念 表空間: 是一個或多個數據文件的集合,所有的數據對象都存…

線性插值插值_揭秘插值搜索

線性插值插值搜索算法指南 (Searching Algorithm Guide) Prior to this article, I have written about Binary Search. Check it out if you haven’t seen it. In this article, we will be discussing Interpolation Search, which is an improvement of Binary Search when…

其他命令

keys *這個可以全部的值del name 這個可以刪除某個127.0.0.1:6379> del s_set(integer) 1127.0.0.1:6379> keys z*(匹配)1) "z_set2"2) "z_set"127.0.0.1:6379> exists sex(integer) 0 127.0.0.1:6379> get a"3232…

建按月日自增分區表

一、建按月自增分區表: 1.1建表SQL> create table month_interval_partition_table (id number,time_col date) partition by range(time_col)2 interval (numtoyminterval(1,month))3 (4 partition p_month_1 values less than (to_date(2014-01-01,yyyy-mm…

#1123-JSP隱含對象

JSP 隱含對象 JSP隱含對象是JSP容器為每個頁面提供的Java對象,開發者可以直接使用它們而不用顯式聲明。JSP隱含對象也被稱為預定義變量。 JSP所支持的九大隱含對象: 對象,描述 request,HttpServletRequest類的實例 response&#…

按照時間,每天分區;按照數字,200000一個分區

按照時間,每天分區 create table test_p(id number,createtime date) partition by range(createtime) interval(numtodsinterval(1,day)) store in (users) ( partition test_p_p1 values less than(to_date(20140110,yyyymmdd)) ); create index index_test_p_id …

如果您不將Docker用于數據科學項目,那么您將生活在1985年

重點 (Top highlight)One of the hardest problems that new programmers face is understanding the concept of an ‘environment’. An environment is what you could say, the system that you code within. In principal it sounds easy, but later on in your career yo…

jmeter對oracle壓力測試

下載Oracle的jdbc數據庫驅動包,注意Oracle數據庫的版本,這里使用的是:Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production; 一般數據庫的驅動包文件在安裝路徑下:D:\oracle\product\10.2.…

集合里面的 E是泛型 暫且認為是object

集合里面的 E是泛型 暫且認為是object轉載于:https://www.cnblogs.com/classmethond/p/10011374.html