1. 程式人生 > >阿裏雲中oss掛載到sftp

阿裏雲中oss掛載到sftp

阿裏雲中oss掛載到sftp

因為sftp必須得配置chroot目錄,那個目錄權限最大755而且必須所有者是root,普通用戶想要寫進去需要組權限有寫,讀,所以OSS要sftp chroot目錄下的一個目錄就可以了。



1.

groupadd sftp 創建sftp組 cop

useradd -g sftp -s /bin/false mysftp

passwd mysftp

sftp組的用戶的home目錄統一指定到/data/sftp下,按用戶名區分,這裏先新建一個mysftp目錄,然後指定mysftp的home為/data/sftp/mysftp copy

mkdir -p /data/sftp/mysftp

usermod -d /data/sftp/mysftp mysftp

vim /etc/ssh/sshd_config


vim /etc/ssh/sshd_config

找到如下這行,用#符號註釋掉,大致在文件末尾處。
# Subsystem sftp /usr/libexec/openssh/sftp-server

在文件最後面添加如下幾行內容,然後保存。


Subsystem sftp internal-sftp

Match Group sftp

ChrootDirectory /data/sftp/%u

ForceCommand internal-sftp

AllowTcpForwarding no

X11Forwarding no



設定Chroot目錄權限 copy

chown root:sftp /data/sftp/mysftp

chmod 755 /data/sftp/mysftp

建立SFTP用戶登入後可寫入的目錄


照上面設置後,在重啟sshd服務後,用戶mysftp已經可以登錄。但使用chroot指定根目錄後,根應該是無法寫入的,所以要新建一個目錄供mysftp上傳文件。這個目錄所有者為mysftp,所有組為sftp,所有者有寫入權限,而所有組無寫入權限。命令如下:


view plain copy

mkdir /data/sftp/mysftp/upload

chown mysftp:sftp /data/sftp/mysftp/upload

chmod 755 /data/sftp/mysftp/upload



重啟sshd服務

輸入命令重啟服務。


service sshd restart

驗證sftp環境

sftp [email protected]




2.http://docs-aliyun.cn-hangzhou.oss.aliyun-inc.com/assets/attach/32196/cn_zh/1496671412523/ossfs_1.80.2_centos7.0_x86_64.rpm?spm=5176.doc32196.2.3.5EHaIM&file=ossfs_1.80.2_centos7.0_x86_64.rpm


對於CentOS6.5及以上,安裝命令為:

yum localinstall your_ossfs_package


設置bucket name 和 AccessKeyId/Secret信息,將其存放在/etc/passwd-ossfs 文件中,註意這個文件的權限必須正確設置,建議設為640。

echo my-bucket:my-access-key-id:my-access-key-secret > /etc/passwd-ossfs
chmod 640 /etc/passwd-ossfs


OSS bucket mount到指定目錄。

ossfs my-bucket /data/sftp/mysftp/upload -ourl=my-oss-endpoint -ouid=0 -ogid=1001 -oumask=022 -o allow_other


-ouid=0(代表所有者) -ogid=1001 (sftp所屬主) -oumask=022(目錄權限755) -o allow_other(允許其他用戶)


阿裏雲中oss掛載到sftp