❶ 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服務
❷ linux用紅帽安裝的,但是我通過smb傳送文件時,提示內存不足。下圖是df -k後的結果,怎麼解決
就一個根文件系統"/"?使用率100%了,沒剩餘空間,就相當於windows的C盤滿了
傳到別的文件系統里吧,要不就把根文件系統擴大
❸ linux redhat怎麼用xshell上傳本地文件
一、使用工具:xshell、linux redhat。
二、上傳步驟:
1、連接設置(linux客戶端)
三、注意事項:
1.正確填寫用戶名和密碼;
2.在ZMODEM 添加上圖設置
❹ 在紅帽linux 9中,我想實現將一個文件夾中的一個文件復制到另一個文件夾中,請問命令代碼是什麼
#後面為命令注釋
1:cd ~ #進入家目錄
2:mkdir abc def #創建目錄abc, def
3:cd abc #進入abc目錄
4:touch hello.c #創建hello.c,具體hello.c內容這里不做討論
5:cp hello.c ../def #復制hello.c到上個目錄層的def文件夾裡面
6:cd ../def #進入上級目錄的def目錄里
7:ls #查看hello.c是否在該目錄,結果肯定在的.
❺ 紅帽linux 怎麼把文件通過nfs共享出去,掛載到ftp伺服器的根目錄下
方法/步驟
登錄到要設置成 NFS 服務的那個伺服器上
設置 NFS 要共享的目錄,在命令行輸入 vi /etc/exports 後回車
進入 vi 的文件編輯窗口,按 i 鍵切換到編輯模式,輸入你想設置的目錄位置和許可權,如:/var/ftp *(rw,no_root_squash) ;說明:/var/ftp 為共享的目錄位置; *(rw,no_root_squash) *為任意IP都可以訪問 rw為可進行讀寫訪問 no_root_squash 為擁有這個目錄所有者的許可權。
確認輸入正確後,按 Esc 鍵,回到 vi 的命令模式,依次按 : (冒號) wq 鍵後回車保存並退出編輯。
使用 service nfs start 命令啟動 NFS 服務(在對 /etc/exports 做了任何修改後都需要重啟 NFS 服務,才可以使修改生效,重啟命令 service nfs restart)
至此,伺服器上面的設置完成了。
開始使用NFS服務的客戶端設置,首先還是先使用 PuTTY 登錄到要使用 NFS 的電腦上。(為了方便,我都是在一台電腦上操作的)
建立 NFS 要掛載位置的目錄(如果目錄已經存在忽略此步驟),加入我想掛載到 /var/ftp 這個目錄下,那麼我先用命令 mkdir /nfs/ftp 創建目錄,之後使用 ls /var -l 命令查看
掛載 NFS 共享,使用 mount -t nfs -o rw 192.168.109.130:/nfs/ftp /var/ftp 命令完成掛載
要想每次啟動機器的時候自動掛載,可使用命令 vi /etc/fstab 編輯,在最後面加上 192.168.109.130:/var/ftp /nfs/ftp nfs defaults 0 0 ,保存退出。這樣在每次啟動的時候就會自動掛載 192.168.109.130:/var/ftp 這個NFS 共享了。