使隱藏資料夾不可見 sftp

使隱藏資料夾不可見 sftp

我的客戶需要 sftp 伺服器來共享文件,因此我在 amazon ec2 ubuntu 電腦上創建了 sftp 伺服器並添加了不同的用戶。

現在他們的需求是,當使用者透過winscp或其他客戶端登入sftp伺服器時,他們應該只能看到主目錄中自己的資料夾,其他資料夾對他們來說不應該是可見的。此外,在他們的主目錄中,他們不應該看到任何以點(.)開頭的檔案或資料夾。

這可能嗎?例如,請參閱下面的螢幕截圖鏈接,我只想讓我的客戶查看/訪問 Transcript 資料夾,僅此而已。

https://i.stack.imgur.com/kEHfW.png

答案1

謝謝大家,終於這個連結幫助我完成了我的任務。http://rmtheis.wordpress.com/2011/07/03/setting-up-an-sftp-site-on-amazon-web-services-ec2-creating-an-account-to-share-with-a-第三方並限制該帳戶僅允許sftp/

這由三個部分組成:

  • 在 EC2 上設置 sftp 站點
  • 建立一個新的使用者帳戶
  • 將新使用者帳號配置為唯讀 ftp,沒有 ssh 權限

這是為了與受信任的用戶之間傳輸檔案。我將此作為偶爾向客戶端發送非常大的文件的適當解決方案,使用專用於該任務的 EC2 執行個體。傳輸完成後,我關閉或刪除實例。

使用 Amazon Web Services EC2 設定伺服器,選擇 Ubuntu Amazon 系統映像 (AMI)。 (您可以使用以下命令找到 AMI http://cloud.ubuntu.com/ami/。您可能需要選擇符合免費套餐資格的產品,例如 ami-1aad5273)

ssh 進入伺服器:

ssh -i keyfile.pem [email protected]

安裝 vsftpd:

sudo apt-get install vsftpd

建立一個新使用者:

sudo adduser newusername

使用 AWS 管理主控台為第三方使用者產生新的金鑰對。

使用 puttygen,匯入新金鑰 (keyname.pem) 並複製其公鑰。

在伺服器上,為新使用者建立 .ssh 目錄:

sudo mkdir /home/newusername/.ssh

將公鑰貼到/home/newusername/.ssh/authorized_keys.

設定權限:

sudo chmod 700 /home/newusername/.ssh

sudo chmod 600 /home/newusername/.ssh/authorized_keys

sudo chown -R newusername:newusername /home/newusername/.ssh

從本機電腦測試新使用者的 sftp 登入:

sftp -o IdentityFile=newkeypair1.pem
[email protected]

為應限制僅使用 sftp 的使用者建立一個新群組:

sudo groupadd sftponly

sudo adduser newusername sftponly

編輯/etc/ssh/sshd_config子系統行並將其變更為:

Subsystem sftp internal-sftp

並將這些行添加到末尾/etc/ssh/sshd_config

Match group sftponly
ChrootDirectory /home/%u
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

設定權限,無需破壞 EC2 基於金鑰的身份驗證所需的檔案:

sudo chown root:root /home/newusername

sudo chown -R newusername:newusername /home/newusername/.ssh

sudo /etc/init.d/ssh restart

現在新用戶可以透過 sftp 連接,但不能透過 ssh 連接。將要共用的檔案放入 中/home/newusername,並將金鑰共用給使用者。

相關內容