A. 怎麼向centos伺服器中上傳文件
你首先得先去網上下載一個叫securecrt的軟體,然後讓crt能連得上你的centos伺服器,就是可以ssh。這個比較簡單,你可以網路。接著重點來了,securecrt聯通centos後,你可以先在centos系統下安裝一個上傳下載軟體,命令很簡單。yum install lrzsz -y 安裝完畢後,你再執行rz -y,他就會跳出一個securecrt文件選擇窗口,再將你要上傳的文件選擇出來,點擊ok就可以將文件上傳到你centos系統里了
B. centos怎麼上傳文件
使用Vsftpd服務傳輸文件。
你可以配置一個vsftpd服務,具體步驟參考如下:
[root@linuxprobe ~]# yum install vsftpd -y
Loaded plugins: langpacks, proct-id, subscription-manager
………………省略部分輸出信息………………
=
iptables防火牆管理工具中默認禁止了ftp傳輸協議的埠號,因此咱們在正式配置vsftpd服務程序前還需要清空一下iptables防火牆的默認策略,並將當前已經被清理的防火牆策略狀態保存下來:
[root@linuxprobe ~]# iptables -F
[root@linuxprobe ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
vsftpd服務程序的主配置文件(/etc/vsftpd/vsftpd.conf)中參數總共有123行左右,但大多數都是以#(井號)開頭的注釋信息,咱們可以用grep命令的-v參數來過濾並反選出沒有包含#(井號)的參數行,也就是把所有的注釋信息都過濾掉,這樣再通過輸出重定向符寫會到原始的主配置文件名稱中即可:
[root@linuxprobe ~]# mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
[root@linuxprobe ~]# grep -v "#" /etc/vsftpd/vsftpd.conf_bak > /etc/vsftpd/vsftpd.conf
[root@linuxprobe ~]# cat /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
l
劉遄老師給同學們整理出了vsftpd服務程序的主配置文件中常用的參數及作用介紹,您現在只要簡單的瀏覽一下,接下來的實驗中如果不明白再過來查閱就可以。
編輯
參數 作用
listen=[YES|NO] 是否以獨立運行的方式監聽服務。
listen_address=IP地址 設置要監聽的IP地址。
listen_port=21 設置FTP服務的監聽埠。
download_enable=[YES|NO] 是否允許下載文件。
userlist_enable=[YES|NO]
userlist_deny=[YES|NO] 是否啟用「禁止登陸用戶名單」。
max_clients=0 最大客戶端連接數,0為不限制。
max_per_ip=0 同一IP地址最大連接數,0位不限制。
anonymous_enable=[YES|NO] 是否允許匿名用戶訪問。
anon_upload_enable=[YES|NO] 是否允許匿名用戶上傳文件。
anon_umask=022 匿名用戶上傳文件的umask值。
anon_root=/var/ftp 匿名用戶的FTP根目錄。
anon_mkdir_write_enable=[YES|NO] 是否允許匿名用戶創建目錄。
anon_other_write_enable=[YES|NO] 是否開放匿名用戶其他寫入許可權。
anon_max_rate=0 匿名用戶最大傳輸速率(位元組),0為不限制。
local_enable=[YES|NO] 是否允許本地用戶登陸FTP。
local_umask=022 本地用戶上傳文件的umask值。
local_root=/var/ftp 本地用戶的FTP根目錄。
chroot_local_user=[YES|NO] 是否將用戶許可權禁錮在FTP目錄,更加的安全。
local_max_rate=0 本地用戶最大傳輸速率(位元組),0為不限制。
11.2 Vsftpd服務程序
vsftpd作為更加安全的FTP文件傳輸協議的服務程序,可以讓用戶分別通過匿名開放、本地用戶和虛擬用戶三種身份驗證方式來登陸到FTP伺服器上面,匿名開放是一種最不安全的驗證模式,任何人都可以無需密碼驗證就登陸到FTP服務端主機,本地用戶是通過Linux系統本地的帳號密碼信息進行的驗證模式,這種模式相比較匿名開放模式來說比較安全,配置起來也十分簡單,不過如果被駭客暴力破解出FTP帳號信息,也就可以通過這個口令登陸到咱們的伺服器系統中了,從而完全控制整台伺服器主機,最後的虛擬用戶是相比較最為安全的驗證模式,需要為FTP傳輸服務單獨建立用戶資料庫文件,虛擬出用來口令驗證的帳戶信息,這些帳號是在伺服器系統中不存在的,僅供FTP傳輸服務做驗證使用,因此這樣即便駭客破解出了帳號口令密碼後也無法登錄到咱們的伺服器主機上面,有效的降低了破壞范圍和影響。
ftp命令是用來在命令行終端中對ftp傳輸服務進行控制連接的客戶端工具,咱們需要先手動的安裝一下這個ftp客戶端工具,以便於接下來的實驗中校驗效果:
[root@linuxprobe ~]# yum install ftp
Loaded plugins: langpacks, proct-id, subscription-manager
………………省略部分輸出信息………………
Installing:
ftp x86_64 0.17-66.el7 rhel 61 k
Transaction Summary
================================================================================
Install 1 Package
Total download size: 61 k
Installed size: 96 k
Is this ok [y/d/N]: y
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : ftp-0.17-66.el7.x86_64 1/1
Verifying : ftp-0.17-66.el7.x86_64 1/1
Installed:
ftp.x86_64 0:0.17-66.el7
Complete!
11.2.1 匿名訪問模式
vsftpd服務程序中匿名開放是一種最不安全的驗證模式,任何人都可以無需密碼驗證就登陸到FTP服務端主機,這種模式一般只用來保存不重要的公開文件,尤其是在生產環境中更要注意不放敏感文件,當然也非常推薦用咱們第八章中學習的防火牆管理工具(例如Tcp_wrappers)將vsftpd服務程序的允許訪問主機范圍設置為企業內網,這樣還算能夠保證基本的安全性。
vsftpd服務程序默認已經開啟了匿名訪問模式,咱們需要做的就是進一步允許匿名用戶的上傳、下載文件的許可權,以及讓匿名用戶能夠創建、刪除、更名文件的許可權,這些許可權對於匿名用戶來講非常的危險,咱們只是為了練習Linux系統中vsftpd服務程序的配置能力,十分不推薦在生產環境中使用,匿名用戶的許可權參數及介紹:
編輯
參數 作用
anonymous_enable=YES 允許匿名訪問模式。
anon_umask=022 匿名用戶上傳文件的umask值。
anon_upload_enable=YES 允許匿名用戶上傳文件
anon_mkdir_write_enable=YES 允許匿名用戶創建目錄
anon_other_write_enable=YES 允許匿名用戶修改目錄名或刪除目錄
[root@linuxprobe ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
確認參數填寫正確後保存並退出vsftpd服務程序的主配置文件,還需要重啟vsftpd服務程序來讓新的配置服務參數生效,並且同學們在生產環境中或者紅帽RHCSA、RHCE、RHCA認證考試中也請記得一定要把配置過的服務程序加入到開機啟動項中,以保證下次伺服器重啟後依然能夠為用戶正常提供ftp文件傳輸服務:
[root@linuxprobe ~]# systemctl restart vsftpd
[root@linuxprobe ~]# systemctl enable vsftpd
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service
這樣咱們就可以在客戶端上面使用ftp命令連接到遠程的FTP伺服器上面了,FTP服務的匿名開放模式的帳號統一為anonymous,密碼為空。匿名模式登陸到FTP伺服器後默認所在位置為/var/ftp目錄,咱們可以切換至裡面的pub目錄中,然後嘗試創建一個新的目錄文件來檢驗是否已經有了寫入許可權:
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): anonymous
331 Please specify the password.
Password:此處敲擊回車即可
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir files
550 Permission denied.
剛剛咱們已經把iptables防火牆策略清空,而且也在vsftpd服務程序的主配置文件中添加了允許匿名用戶創建目錄和寫入文件的許可權,那麼為什麼還會被拒絕呢?建議同學們先不要往下面看,思考後用自己的方法嘗試解決下這個問題,長期這樣您的Linux系統排錯能力就一定會練出來的。
回想起前面操作的細節,咱們FTP服務的匿名開放模式是默認登陸到了/var/ftp目錄中,查看下這個目錄的許可權後才發現原來只有root管理員用戶才有寫入許可權的,怪不得會提示寫入出錯呢,咱們只需要把目錄的所有者身份改成系統帳戶ftp即可,這樣就應該可以了吧~
[root@linuxprobe ~]# ls -ld /var/ftp/pub
drwxr-xr-x. 3 root root 16 Jul 13 14:38 /var/ftp/pub
[root@linuxprobe ~]# chown -Rf ftp /var/ftp/pub
[root@linuxprobe ~]# ls -ld /var/ftp/pub
drwxr-xr-x. 3 ftp root 16 Jul 13 14:38 /var/ftp/pub
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): anonymous
331 Please specify the password.
Password:此處敲擊回車即可
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir files
550 Create directory operation failed.
又報錯了!!此時再次使用ftp命令登入到FTP伺服器主機後依然會提示寫入操作失敗,但細心的同學一定發現報錯信息已經產生了變化,在剛剛沒有寫入許可權的時候提示說許可權拒絕(Permission denied.)所以咱們懷疑是許可權的問題,但現在是提示創建目錄的操作失敗(Create directory operation failed.)那麼咱們同學應該也能馬上意識到是SELinux服務在限制這個操作了吧,查看下所有與ftp相關的SELinux域策略有那些吧:
[root@linuxprobe ~]# getsebool -a | grep ftp
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
根據策略的名稱和經驗可以猜測出是哪一條規則策略,咱們在設置的時候請記得使用-P參數來讓配置過的策略永久生效,保證在伺服器重啟後依然能夠順利寫入文件,咱們可以分別嘗試下創建目錄文件、對文件進行改名以及刪除目錄文件等等操作。最後,恭喜同學們完成了這個實驗課程,建議您在進行一次實驗課程前還原虛擬機到最初始的狀態,以免多個配置參數之間產生沖突。
[root@linuxprobe ~]# setsebool -P ftpd_full_access=on
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): anonymous
331 Please specify the password.
Password:此處敲擊回車即可
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> cd pub
250 Directory successfully changed.
ftp> mkdir files
257 "/pub/files" created
ftp> rename files database
350 Ready for RNTO.
250 Rename successful.
ftp> rmdir database
250 Remove directory operation successful.
ftp> exit
221 Goodbye.
11.2.2 本地用戶模式
本地用戶模式是通過Linux系統本地的帳號密碼信息進行的驗證方式,這種模式相比較匿名開放模式來說比較安全,不過如果被駭客暴力破解出FTP帳號信息,也就可以通過這個口令登陸到咱們的伺服器系統中了,從而完全控制整台伺服器主機。本地用戶模式配置起來十分簡單,而且既然本地用戶模式確實要比匿名開放模式更加的安全,因此推薦既然開啟了本地用戶模式,就把匿名開放模式給關閉了吧~咱們對本地用戶模式需要使用的許可權參數及介紹如下表:
編輯
參數 作用
anonymous_enable=NO 禁止匿名訪問模式。
local_enable=YES 允許本地用戶模式。
write_enable=YES 設置可寫入許可權。
local_umask=022 本地用戶模式創建文件的umask值。
userlist_deny=YES 參數值為YES即禁止名單中的用戶,參數值為NO則代表僅允許名單中的用戶。
userlist_enable=YES 允許「禁止登陸名單」,名單文件為ftpusers與user_list。
[root@linuxprobe ~]# vim /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
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
當咱們確認參數信息已經填寫正確就可以保存退出了,要想讓新的配置參數生效還要記得重啟一下vsftpd服務程序,並且在剛剛實驗後還原了虛擬機的同學還請記得再把配置的服務加入到開機啟動項中,讓咱們的vsftpd服務程序在重啟後依然能夠正常使用。
[root@linuxprobe ~]# systemctl restart vsftpd
[root@linuxprobe ~]# systemctl enable vsftpd
ln -s '/usr/lib/systemd/system/vsftpd.service' '/etc/systemd/system/multi-user.target.wants/vsftpd.service
按道理來說咱們現在就已經可以使用本地用戶登陸到FTP伺服器中了,但使用root用戶登陸後會提示如下的錯誤信息:
[root@linuxprobe ~]# ftp 192.168.10.10
Connected to 192.168.10.10 (192.168.10.10).
220 (vsFTPd 3.0.2)
Name (192.168.10.10:root): root
530 Permission denied.
Login failed.
ftp>
在咱們輸入root管理員用戶的密碼前就已經提示被拒絕了,看來有什麼東西再禁止著用戶登陸,這是因為咱們vsftpd服務程序目錄中默認存在著兩個文件(ftpusers或user_list),這兩個文件叫做禁止用戶名單,不知道同學們有沒有看過一個叫做「死亡筆記」的日本電影,裡面就提到有一個黑色封皮的小本本,任何人的名字寫進去都會死亡,其實咱們在配置的這個vsftpd服務程序的禁止文件也有類似的功能,只要裡面寫有某個用戶的名字,那麼就不再允許這個用戶登陸到咱們的FTP伺服器上面。
具體步驟參考文檔:http://www.linuxprobe.com/chapter-11.html,可以部署一個vsftpd服務
C. 本地怎麼傳送文件到VM中的centos
這個是在VM設置的,centos里無桌面也是可以啊,centos里不要做什麼設置的。我用的ubuntu 里裝的VM,然後在VM里又裝的ubuntu,進VM的ubuntu的字元界面是可以進入共享文件夾的,一般共享文件夾是掛在虛擬機的/mnt/hgfs/下的。
D. 如何傳文件到虛擬機centos
1 首先,打開計算機管理,點擊設備管理器,然後右擊添加過時硬體,根據向導點一步;
2 我們分別按照圖片上的選項選擇好,點下一步;
3 我們在控制面板找到網路和共享中心,點擊進去,在左上角,找到"更改適配器",這里把網路連接的名字改成了「虛擬機網路連接」;
4 在「虛擬機網路連接」上右鍵屬性,找到「Internet協議版本4」雙擊,然後填寫如下設置;
5 然後我們打開vmware虛擬機,選擇 編輯/虛擬機網路編輯器,刪除所有的網路,然後我們點擊"添加網路",選擇橋連接模式;
6 在虛擬機上,右鍵選擇「設置」,在網路適配器上選擇我們配置的自定義模式;
7 進入linux命令行界面,用root用戶登錄,然後輸入vi/etc/sysconfig/network-scripts/ifcfg-eth0,把文件中的ip等信息修改為如圖,然後重新啟動客戶機;
8 啟動完之後,再次以root用戶登錄,分別執行service iptables stop ,chkconfig iptables off,目的是關閉linux防火牆;
9 我們打開Flashftp軟體(使用x-shell連接也行),新建站點,配置好,點擊確定,成功鏈接上本地虛擬機linux系統.
E. linux centos之間互傳文件
第一台上安裝個上網代理比如squid
第二台配置yum.conf
添加proxy=http://第一台內網ip:代理埠
現在第二台就可以正常通過yum上網安裝軟體了。
F. 如何傳文件到虛擬機centos
一種方式是把centos看作一台實際的機器,啟動ftp服務,然後在windows上把文件以FTP方式來回傳送。
另外一種,是在宿主機(HOST)上將一個目錄share出來,設置只讀或者讀寫,然後在centos虛擬機里把宿主機的共享目錄掛載(mount)上去,這樣就可以windows和centos互相交流文件了。
G. CentOS 安裝rz和sz命令 lrzsz
在伺服器上傳或下載文件時,除了使用傳統的 FTP 方式,也可以嘗試使用 Xshell 結合 lrzsz 套件作為另一種高效且便捷的傳輸方案。
lrzsz 是一個 Unix 通信套件提供的 X、Y 和 ZModem 文件傳輸協議,專門針對 Windows 和 CentOS 伺服器之間的文件交換需求。要安裝 lrzsz,只需在 CentOS 伺服器上執行命令 yum -y install lrzsz。程序會自動完成安裝過程。
在實際操作中,使用 lrzsz 傳輸文件的步驟如下:
一、安裝 lrzsz
確保在使用 lrzsz 前先完成安裝步驟,這一步通常在 CentOS 伺服器上執行上述命令即可完成。
二、上傳文件
執行命令 rz,程序將打開一個文件選擇窗口。在這里,您可以選擇要上傳的本地文件。選擇文件後,點擊確認即可將文件上傳到伺服器上。
三、下載文件
使用命令 sz 可以開始下載文件。同樣地,程序會打開一個文件選擇窗口,讓您可以從伺服器上選擇要下載的文件。完成選擇後,點擊確認即可將文件下載到本地。
需要注意的是,lrzsz 命令在 Putty 等類似終端模擬器的界面中無法使用,因此建議在 Xshell 等支持本地文件選擇功能的界面中進行操作。
通過 lrzsz 的使用,您可以輕松實現 CentOS 伺服器與 Windows 系統之間的文件上傳與下載,提供了一種簡單且高效的文件交換方式。