安裝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_passwdaccount 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=ftpuserwrite_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...