Genel Bakış
Bir sunucunun belirli kullanıcıları kısıtlaması ve yalnızca belirli dizinlere erişime izin vermesi gerektiğinden, bu gereksinim birçok senaryoda nispeten yaygın olmalıdır. İşte bir çözüm.
Aşağıdakiler, sftp kullanıcı grubunu yalnızca belirtilen dizine (/ projects / tms_prod) sftp bağlantısı ile sınırlar ve ssh bağlantısı yalnızca sftp bağlantısını kabul etmesini ister.
Programın özel süreci aşağıdaki gibidir:
1. Kullanıcılar ve dizinler oluşturun:
mkdir -p / projeler / groupadd sftp # Yeni grup useradd -g sftp -s / bin / false tms -d / projects / tms_prod # Yeni kullanıcı passwd tms chown root: sftp / projects / # ana dizinin kullanıcı ve grubunu değiştirin chmod 755 / projects / # Ana dizin yetkilendirmesi mkdir -p / projects / tms_prod # Kullanıcılar için alt dizinler oluşturun chown tms: sftp / projects / tms_prod # Alt dizinin kullanıcı ve grubunu değiştirin chmod 755 / projects / tms_prod # alt dizin yetkilendirmesi
2. sshd_config'i yapılandırın
Alt sistem sftp internal-sftp # Sistemle birlikte gelen dahili-sftp'yi kullanmak için sftp hizmetini kullanmayı belirtin #Match Kullanıcı tms Maç Grubu sftp ChrootDirectory / projeler / X11 Yönlendirme yok #Forbid X11 yönlendirme AllowTcpForwarding no # tcp iletimini yasaklar ForceCommand internal-sftp # sftp komutunu belirtin, ssh bağlantısı yapılamıyor
Not:
1. ChrootDirectory tarafından baştan sistem kök dizinine kadar belirtilen dizinin sahibi yalnızca kök olabilir
2. ChrootDirectory tarafından belirtilen dizinin, sistem kök dizinine ulaşana kadar grup yazma izinlerine sahip olmasına izin verilmez.
3. ssh hizmetini yeniden başlatın:
hizmet sshd yeniden başlatma
4. Test doğrulaması
ek:
1. Alt sistem sftp / usr / lib / openssh / sftp-server daha çok internal-sftp'dir İkisi arasındaki fark nedir?
Basitçe söylemek gerekirse, varsayılan sftp işlemi ayrı bir ikili dosya ile başlatılır: / usr / lib / openssh / sftp-server, oysa internal-sftp ek bir işlemi başlatmak için harici bir ikili dosyaya ihtiyaç duymaz ve sshd sürecine entegre edilmiştir.
/ Usr / lib / openssh / sftp-server ile karşılaştırıldığında, internal-sftp aşağıdaki avantajlara sahiptir:
1) İyi performans, ek işlemlere gerek yok;
2) Güvenlik iyidir, kullanıcı oturum açma kabuğu gerekmez ve ChrootDirectory sftp davranışının etkin olduğu dizini kısıtlamak için kullanılabilir;
3) sftp sunucusunun varlığı esas olarak geriye dönük uyumluluk içindir.
2. ChrootDirectory dizini
Genellikle sorun ChrootDirectory dizininde olacaktır.Bu yerdeki dizin doğrudan hedef dizine yapılandırılamaz ve üst düzeyine yapılandırılması gerekir; yani, / A / B / C'nin C dizinini chroot etmek için C'ye okuyup yazabilmelidir, Bu nedenle, C dizini ROOT dizini olamaz ve B chrootlanır.
Faydalı bulursanız, lütfen iletmeye yardım edin! Daha sonra daha fazla devop ve DBA içeriği paylaşacağım ve ilgilenen arkadaşlar buna dikkat edebilir ~
-
- MySQL veritabanı komut satırı yapısını paylaşın: mycli
-
- Çok iş parçacıklı bir Linux indirme aracı paylaşın - axel
-
- 2020'deki sahte strateji burada! İki "13 günlük" tatil yapabilirsiniz
-
- Üretim veritabanının ikinci genişlemesini hatırlayın: Rac + ASM disk grubu genişletme-Aix sistemi
-
- Bir Jiangsu şirketi LeTV'ye borçludur ve Hammer Technology Luo Yonghao "yükseklik sınırını" kaldırmak için şimdiden 1 milyon ödedi.
-
- QKL123 piyasa analizi
-
- SQLSERVER veritabanına dayalı verimli dizin oluşturun
-
- Cumartesi avantajları! Mikro hizmet operasyon ve bakım savaşı, Kendinizi Tekrar Etmeyin
-
- Ma Sichun bu sabah sıcak aranan selülit fotoğraflarına yanıt verdi: Xiao Ma resim 3'te incelmeye karar verdi
-
- Mysql veritabanı varsayılan ayarlarının üç farklı görünümünü açıklayın
-
- İPad katili burada! Huawei, bugün 18: 08'de ön satış olan 3299 yuan'dan başlayan MatePad Pro'yu piyasaya sürdü
-
- MySQL'in eşzamansız çoğaltmasını, tam eşzamanlı çoğaltmayı ve yarı eşzamanlı çoğaltmayı tek bir makalede anlayın