文件傳輸

1导盅、前言

一般來說荧降,你不可能在服務(wù)器上編寫php代碼之類的髓窜,這樣既不安全捍岳,也很難回退版本之類的槐瑞,而且還會有相當(dāng)?shù)难舆t掀亩。所以一般我們都是本地編寫厉颤,然后上傳到服務(wù)器美旧。
上傳到服務(wù)器的方式有很多種鼎文,接下來本章節(jié)主要介紹幾種上傳到服務(wù)器的方法渔肩。同時,我也會接下來幾個章節(jié)主要介紹我們的Git服務(wù)器部署以及配置拇惋。

2. SCP傳輸文件

SCP是簡單的文件傳輸命令周偎,因為是加密的,所以很安全蚤假,內(nèi)網(wǎng)傳輸速度快栏饮。

# 1、本地   ---文件-->   遠(yuǎn)程服務(wù)器
# 格式:
$ scp [-P 端口號] <本地文件路徑>  <遠(yuǎn)程服務(wù)器用戶名>@<遠(yuǎn)程服務(wù)器ip地址>:<要上傳到遠(yuǎn)程服務(wù)器的文件位置>
### 如:
$ scp /usr/local/nginx/html/50x.html root@139.xxx.xxx.xxx:/home/guest/scp
root@139.xxx.xxx.xxx's password:       #輸入密碼
# 50x.html           100%  537     6.8KB/s   00:00  
##### 傳輸成功 ####

# 2磷仰、遠(yuǎn)程服務(wù)器  ---文件-->   本地
# 格式:
$ scp [-P 端口號] [遠(yuǎn)程服務(wù)器用戶名]@[遠(yuǎn)程服務(wù)器ip地址]:[遠(yuǎn)程服務(wù)器文件路徑]  [本地文件路徑]
### 如:
$ scp root@139.xxx.xxx.xxx:/home/guest/scp/50x.html /tmp
root@139.xxx.xxx.xxx's password:    #輸入密碼
# 50x.html        100%  537    12.2KB/s   00:00     
##### 下載成功 #####

# 3袍嬉、 本地    ---文件夾-->  遠(yuǎn)程服務(wù)器
$ scp [-P 端口號] -r [本地文件夾路徑]  [遠(yuǎn)程服務(wù)器用戶名]@[遠(yuǎn)程服務(wù)器ip地址]:[要上傳到遠(yuǎn)程服務(wù)器的文件位置]

# 4、遠(yuǎn)程服務(wù)器  ---文件夾--> 本地
$ scp [-P 端口號] -r [遠(yuǎn)程服務(wù)器用戶名]@[遠(yuǎn)程服務(wù)器ip地址]:[遠(yuǎn)程服務(wù)器文件夾路徑]  [本地文件路徑]

3. sftp文件傳輸

類似ftp傳輸文件灶平,但是比ftp更加安全

$sftp root@139.xxx.xxx.xxx              # 通過sftp連接到遠(yuǎn)程服務(wù)器
root@139.xxx.xxx.xxx's password:        # 輸入登錄密碼
Connected to 139.xxx.xxx.xxx.           # 已連接到遠(yuǎn)程服務(wù)器
sftp> put <本地文件路徑> <遠(yuǎn)程文件路徑>     # 上傳文件
sftp> get <遠(yuǎn)程文件路徑> <本地文件路徑>     # 下載文件

4. ftp傳輸文件

1.部署FTP文件服務(wù)器
2.FTP服務(wù)器主要下載組件vsftpd(Very Secure FTP)
3.FTP服務(wù)端口(21端口用于連接伺通,20端口)

1、配置安裝啟動Ftp

1逢享、 下載vsftpd

$yum search vsftpd
$yum install vsftpd

2罐监、 修改配置開機啟動

###配置文件位于 /etc/vsftpd/ 詳細(xì)參數(shù)見Tips
$chkconfig --level 35 vsftpd on    #開機啟動

3、啟動ftp服務(wù)

$service vsftpd start
#或:
$systemctl start vsftpd.service

2瞒爬、配置文件詳解

配置文件路徑: /etc/vsftpd
配置文件夾主要有三個文件(sh文件不算):

  • ftpusers
  • user_list
  • vsftpd.conf
1. ftpusers

禁止使用ftp的用戶列表弓柱,即FTP黑名單

2. user_list

禁止或者允許使用ftp的用戶列表沟堡,分兩種情況:

  1. 如果vsftpd.conf配置文件userlist_deny=YES,則用戶列表里的用戶禁止登陸(默認(rèn))
  2. 如果vsftpd.conf配置文件userlist_deny=NO,則用戶列表里的用戶允許登錄
3. vsftpd.conf內(nèi)容詳解:
# 默認(rèn)配置文件地址 /etc/vsftpd/vsftpd.conf

### 監(jiān)聽
listen_address=ip_addr                  # 指定監(jiān)聽的ip地址
listen_port=21                          # 監(jiān)聽的端口位置(默認(rèn)FTP端口21)
listen=NO                               # 開啟ipv4監(jiān)聽
listen_ipv6=YES                         # 開啟piv6監(jiān)聽

### 用戶
#nopriv_user=ftpsecure                  # 指定vsftp服務(wù)運行的賬戶,默認(rèn)是ftp
local_root=/home/ftp                    #所有用戶(除匿名用戶)根目錄
write_enable=YES                        # 是否允許用戶寫文件

####### 本地用戶
local_enable=YES                        # 是否允許本地用戶登錄
local_umask=022                         # 設(shè)置本地用戶生成文件的掩碼為022(若不設(shè)置為077)
#local_max_rate = 300                    # 本地用戶最大傳輸速度(Byts/s)

####### 匿名用戶
anonymous_enable=YES                    # 是否允許匿名登錄
anon_upload_enable=YES                  # 是否允許匿名用戶上傳文件                  
anon_mkdir_write_enable=YES             # 是否允許匿名用戶創(chuàng)建和寫文件
#anon_max_rate = 300                     # 匿名用戶最大傳輸速度(Byts/s)

####### 虛擬用戶
userlist_enable=YES                     # 僅僅user_list里的用戶可以訪問
#userlist_deny=YES

# email用戶
#deny_email_enable=YES                  # 是否拒絕banned_email_file里面的email地址登錄
#banned_email_file=/etc/vsftpd/banned_emails    # 默認(rèn)banned_email_file路徑

###權(quán)限

chown_uploads=YES                       # 是否具備上傳權(quán)限矢空,用戶由chown_username指定
chown_username=whoever

#chroot_local_user=YES                  # 限制所有本地用戶只能在自家目錄
#chroot_list_enable=YES                 # 指定不能離開用戶目錄的用戶
#chroot_list_file=/etc/vsftpd/chroot_list   # 默認(rèn)的chroot_list文件位置



###日志
xferlog_enable=YES                      # 是否開啟上傳下載日志
xferlog_file=/var/log/xferlog           # 日志位置
xferlog_std_format=YES                  # 標(biāo)準(zhǔn)日志格式


###超時操作
idle_session_timeout=600               # 設(shè)置用戶600(s)后沒有操作的話,連接中斷
data_connection_timeout=120            # 設(shè)置用戶120(s)后沒有進行數(shù)據(jù)連接航罗,連接中斷


###系統(tǒng)設(shè)置
ftpd_banner=Welcome to blah FTP service.# 用戶連接服務(wù)器后顯示的消息

#async_abor_enable=YES                  # 是否允許客戶端使用sync等命令

ascii_upload_enable=YES                 # 是否允許上傳二進制文件
ascii_download_enable=YES               # 是否允許下載二進制文件
dirmessage_enable=YES                   # 當(dāng)切換到目錄時,是否顯示該目錄下的.message隱藏文件的內(nèi)容

#ls_recurse_enable=YES                  # 是否允許使用ls -R等操作
pam_service_name=vsftpd                 # 設(shè)置PAM認(rèn)證服務(wù)的配置文件名稱屁药,該文件存放在/etc/pam.d/ 
tcp_wrappers=YES                        # 在vsftpd中是否使用TCP_Wrappers遠(yuǎn)程訪問控制機制粥血,默認(rèn)YES

connect_from_port_20=YES                # 是否使用20端口傳輸數(shù)據(jù)(主動模式)

4、PAM認(rèn)證酿箭,實現(xiàn)虛擬賬號登錄FTP服務(wù)器(推薦)
#安裝組件包
$yum install db4* -y

坑:

坑1. 匿名用戶開啟上傳文件遇到的坑

開啟上傳文件复亏,需要先在配置文件中設(shè)置

write_enable=YES
anon_upload_enable=YES
anon_mkdir_write_enable=YES

但是,設(shè)置完配置文件并重啟后缭嫡,并不能上傳文件缔御,還需要額外的設(shè)置:

# 1.觀察是否開啟SeLinux功能
$getsebool             
      #兩種結(jié)果:
          #1.顯示"usage:  getsebool -a or getsebool boolean...",說明已開啟
          #2.顯示 "getsebool:  SELinux is disabled",說明已關(guān)閉

# 2.開啟Selinux(如果已開啟跳過)
$vim /etc/selinux/config
把selinux=disable   改為  selinux=1
#開啟后需要重啟電腦

# 3.查看ftp設(shè)置
$getsebool -a | grep ftp
  #顯示內(nèi)容如下:

ftp_home_dir --> off
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
sftpd_anon_write --> off
sftpd_enable_homedirs --> off
sftpd_full_access --> off
sftpd_write_ssh_home --> off
tftp_anon_write --> off
tftp_home_dir --> off

4.設(shè)置SeLinux上ftp操作

$setsebool -P allow_ftpd_anon_write on
$setsebool -P allow_ftpd_full_access on

FTP 文件上傳還有點問題械巡,待定

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末刹淌,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子讥耗,更是在濱河造成了極大的恐慌有勾,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件古程,死亡現(xiàn)場離奇詭異蔼卡,居然都是意外死亡,警方通過查閱死者的電腦和手機挣磨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門雇逞,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人茁裙,你說我怎么就攤上這事塘砸。” “怎么了晤锥?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵掉蔬,是天一觀的道長。 經(jīng)常有香客問我矾瘾,道長女轿,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任壕翩,我火速辦了婚禮蛉迹,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘放妈。我一直安慰自己北救,他們只是感情好荐操,可當(dāng)我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著珍策,像睡著了一般淀零。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上膛壹,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天,我揣著相機與錄音唉堪,去河邊找鬼模聋。 笑死,一個胖子當(dāng)著我的面吹牛唠亚,可吹牛的內(nèi)容都是我干的链方。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼灶搜,長吁一口氣:“原來是場噩夢啊……” “哼祟蚀!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起割卖,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤前酿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后鹏溯,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體罢维,經(jīng)...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年丙挽,在試婚紗的時候發(fā)現(xiàn)自己被綠了肺孵。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡颜阐,死狀恐怖平窘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情凳怨,我是刑警寧澤瑰艘,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站猿棉,受9級特大地震影響磅叛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜萨赁,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一弊琴、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧杖爽,春花似錦敲董、人聲如沸紫皇。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽聪铺。三九已至,卻和暖如春萄窜,著一層夾襖步出監(jiān)牢的瞬間铃剔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工查刻, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留键兜,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓穗泵,卻偏偏與公主長得像普气,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子佃延,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內(nèi)容