阿裏雲中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