s3fs掛s3作為本地盤製作ftp使用

2022-08-10 01:51:22 字數 4396 閱讀 8970

安裝s3fs-fuser

#檢視當前系統版本

cat /etc/redhat-release

centos release 6.6 (final)

#檢視是否已經安裝vsftpd

rpm -qa | grep vsftpd

#如果沒有,就安裝,並設定開機啟動

yum -y install vsftpd

chkconfig vsftpd on

基於虛擬使用者的配置

所謂虛擬使用者就是沒有使用真實的帳戶,只是通過對映到真實帳戶和設定許可權的目的。虛擬使用者不能登入centos系統。

修改配置檔案

vi /etc/vsftpd/vsftpd.conf

#伺服器獨立執行

listen=yes

#設定不允許匿名訪問

anonymous_enable=no

#設定本地使用者可以訪問。注:如使用虛擬宿主使用者,在該專案設定為no的情況下所有虛擬使用者將無法訪問

local_enable=yes

#使使用者不能離開主目錄

chroot_list_enable=yes

ascii_upload_enable=yes

ascii_download_enable=yes

#pam認證檔名。pam將根據/etc/pam.d/vsftpd進行認證

pam_service_name=vsftpd

#設定啟用虛擬使用者功能

guest_enable=yes

#指定虛擬使用者的宿主使用者,centos中已經有內建的ftp使用者了

guest_username=ftp

#設定虛擬使用者個人vsftp的centos ftp服務檔案存放路徑。存放虛擬使用者個性的centos ftp服務檔案(配置檔名=虛擬使用者名稱)

user_config_dir=/etc/vsftpd/vuser_conf

#配置vsftpd日誌(可選)

xferlog_enable=yes

xferlog_std_format=yes

xferlog_file=/var/log/xferlog

dual_log_enable=yes

vsftpd_log_file=/var/log/vsftpd.log

#以下是我生產中的實際配置
listen=yes

listen_ipv6=no

anonymous_enable=no

local_enable=yes

write_enable=yes

local_umask=022

dirmessage_enable=yes

use_localtime=yes

xferlog_enable=yes

connect_from_port_20=yes

xferlog_file=/var/log/vsftpd.log

xferlog_std_format=yes

chroot_local_user=no   # 限制本地使用者在家目錄,設為yes為生效,此時,chroot_list_enable選項應該設為no

chroot_list_enable=yes  # 限制虛擬使用者家目錄,設為yes為生效,此時,chroot_local_user選項應該設為no,將需要限制的使用者寫入chroot_list檔案中,每行乙個使用者

chroot_list_file=/etc/vsftpd/chroot_list

chown_uploads=yes

chown_username=ftpuser

allow_writeable_chroot=yes

secure_chroot_dir=/var/run/vsftpd/empty

pam_service_name=vsftpd

# ftp ssl加密傳輸使用

rsa_cert_file=/etc/ssl/private/vsftpd.pem

rsa_private_key_file=/etc/ssl/private/vsftpd.pem

ssl_enable=yes

allow_anon_ssl=no

force_local_data_ssl=yes

force_local_logins_ssl=yes

ssl_tlsv1=yes

ssl_sslv2=yes

ssl_sslv3=yes

guest_enable=yes

guest_username=ftpuser

pam_service_name=vsftpd.virtual

user_config_dir=/etc/vsftpd/vu

pasv_enable=yes

pasv_min_port=10000

pasv_max_port=11000

進行認證

#安裝berkeley db工具,很多人找不到db_load的問題就是沒有安裝這個包

yum install db4 db4-utils

#建立使用者密碼文字,注意奇行是使用者名稱,偶行是密碼

vi /etc/vsftpd/vuser_passwd.txt

test

123456

#生成虛擬使用者認證的db檔案

db_load -t -t hash -f /etc/vsftpd/vuser_passwd.txt /etc/vsftpd/vuser_passwd.db

#編輯認證檔案,全部注釋掉原來語句,再增加以下兩句

vi /etc/pam.d/vsftpd

auth required pam_userdb.so db=/etc/vsftpd/vuser_passwd

account required pam_userdb.so db=/etc/vsftpd/vuser_passwd

#建立虛擬使用者配置檔案

mkdir /etc/vsftpd/vuser_conf/

#檔名等於vuser_passwd.txt裡面的賬戶名,否則下面設定無效

vi /etc/vsftpd/vuser_conf/test

#虛擬使用者根目錄,根據實際情況修改

guest_username=ftpuser

write_enable=yes

anon_world_readable_only=no

anon_upload_enable=yes

anon_mkdir_write_enable=yes

anon_other_write_enable=yes

local_root=/data/s3

virtual_use_local_privs=yes

anon_umask=022

設定ftp根目錄許可權

#最新的vsftpd要求對主目錄不能有寫的許可權所以ftp為755,主目錄下面的子目錄再設定777許可權

mkdir /data/ftp

chmod -r 755 /data

chmod -r 777 /data/ftp

#建立限制使用者訪問目錄的空檔案

touch /etc/vsftpd/chroot_list

#如果啟用vsftpd日誌需手動建立日誌檔案

touch /var/log/xferlog

touch /var/log/vsftpd.log

配置pasv模式(可選)

vsftpd預設沒有開啟pasv模式,現在ftp只能通過port模式連線,要開啟pasv預設需要通過下面的配置

開啟/etc/vsftpd/vsftpd.conf,在末尾新增

#開啟pasv模式

pasv_enable=yes

#最小埠號

pasv_min_port=40000

#最大埠號

pasv_max_port=40080

pasv_promiscuous=yes

#在防火牆配置內開啟40000到40080埠

-a input -m state --state new -m tcp -p -dport 40000:40080 -j accept

#重啟iptabls和vsftpd

service iptables restart

service vsftpd restart

現在可以使用pasv模式連線你的ftp伺服器了~

selinux和防火牆

該關閉的關閉,該放行的放行

#關閉selinux/iptables

sed -i '/selinux/s/enforcing/disabled/' /etc/selinux/config

setenforce 0

chkconfig iptables off

service iptables stop

ftp結合ssl參考: 

S3fs在EC2 Linux例項上掛載S3

在aws為使用者建立訪問金鑰並記錄金鑰id和私密 安裝s3fs 安裝必要的依賴包 yum install automake fuse fuse devel gcc c git libcurl devel libxml2 devel make openssl devel git clone cd s3...

CentOS安裝S3FS實現OBS桶掛載

1 安裝所需的一些工具 yum y install automake fuse fuse devel gcc c git libcurl devel libxml2 devel make openssl devel 2 轉殖 s3fs fuse 到本地git clone 3 編譯安裝 cd root...

s3儲存桶 s3可擴充套件的雲儲存

s3系統構架在dynamo之上,採取的並不是傳統的關聯式資料庫儲存方式,原因 s3基本概念 1.物件 s3的基本儲存單元 資料 元資料 資料型別任意 系統預設元資料 2 鍵 物件的唯一標示符 3 桶 儲存物件的容器 不能巢狀 在s3中名稱唯一 每個使用者最多建立100個桶 4 基本操作 根據amaz...