Merhaba bu yazıda, öncelikle linux sunucu üzerine sftp kurulumu yapılacak. Kullanıcılara gerekli izinler verilecek.

Senaryoda, her kullanıcının kendine ait bir klasörü olacak. Aynı zamanda tüm organizasyon için 1 adet Ortak Alan olacaktır.
Kullanıcıların başkasının klasörüne yazma yetkisi bulunmayacaktır. Ortak Alan klasörüne herkesin okuma ve yazma yetkisi olacaktır.
SFTP Kurulumu bittikten sonra, Linux SFTP sunucusunun herhangi bir Windows makineye nasıl network map olarak ekleneceği gösterilecektir.

Öncelikle Linux makinenizi oluşturun. Ben kurulumlara Ubuntu 22.04 ile devam edeceğim.

Konsola bağlandıktan sonra update komutunu girin.

sudo apt update

Update geçildikten sonra, gelen paketleri upgrade edin.

sudo apt upgrade

SFTP için user oluşturun.

sudo adduser sercan

 

SFTP için klasör oluşturup, gerekli izinleri verin.

sudo mkdir -p /storage-server/sercan
sudo chmod 755 /storage-server
sudo chown root:root: /storage-server
sudo chown -R 755 /storage-server/sercan
sudo chown sercan:sercan /storage-server/sercan

SSH config ayarlarını değiştirin. Kullanıcı SSH yapıp shell’e bağlanırsa, bu güvenlik açığı olur. Kullanıcının yalnızca sftp ile bağlanabilmesi için gerekli kısıtlamaları sağlayın.

Match User sercan
  ForceCommand internal-sftp
  PasswordAuthentication yes
  ChrootDirectory /storage-server
  PermitTunnel no
  AllowAgentForwarding no
  AllowTcpForwarding no
  X11Forwarding no

WinSCP ile SFTP yapın.

SSH Key’i update edin.

SFTP ile sunucuya sorunsuz bağlanıldı.

Senaryo’ya göre Ortak Alan adında bir klasör oluşturun ve everyone yetkisi verin.

sudo mkdir -p /storage-server/OrtakAlan
chmod 777 -R /storage-server/OrtakAlan

SFTP bağlantısını yenilediğinizde kullanıcı klasörünün path’e geldiği görülecektir.

Yeni bir kullanıcı daha oluşturun.

sudo adduser ali

Kullanıcı için klasör oluşturup, gerekli izinleri verin.

sudo mkdir -p /storage-server/sercan
sudo chmod 755 /storage-server
sudo chown root:root: /storage-server
sudo chown -R 755 /storage-server/ali
sudo chown ali:ali /storage-server/ali

SSH config dosyasında kullanıcı için gerekli izinleri sağlayın.

Match User ali
  ForceCommand internal-sftp
  PasswordAuthentication yes
  ChrootDirectory /storage-server
  PermitTunnel no
  AllowAgentForwarding no
  AllowTcpForwarding no
  X11Forwarding no

SFTP bağlantısını yenilediğinizde kullanıcı klasörünün path’e geldiği görülecektir.

Sıra, SFTP sunucularının Network Map olarak Windows makinelere nasıl ekleneceğine geldi. 2 adet paket kurulumu yapacağız.
Öncelikle cmd’yi yönetici olarak çalıştırın. Ardından aşağıdaki kodu çalıştırıp, ekrana gelen paketi kurun.

winget install WinFsp.WinFsp

Aşağıdaki kodu çalıştırıp, bu paketide kurun.

winget install SSHFS-Win.SSHFS-Win

Bilgisayarım’a sağ tıklayıp daha sonra Map Network Drive’a tıklayın.

Sunucu bağlantısını yapacağınız kod bloğunu aşağıya yazıyorum. Ona göre düzenleyin.

\\sshfs\kullaniciadi@SunucuIpAdresi

Gerekli bilgileri girin.

SFTP Sunucu Network Map olarak başarıyla eklendi.

sercan kullanıcısıyla bağlandım, ali kullanıcısının klasöründe dosya oluşturmaya çalıştığımda yetki hatası vermektedir. Yani senaryo doğru çalışıyor.

sercan kullanıcısıyla bağlandım, kendi adıma tahsis edilmiş klasörde sorunsuz dosya oluşturabildim.