Linux’da (Ubuntu) bir kullanıcı eklemek ve bu kullanıcıyı sadece /home/kullanıcı klasörü altına ftp kullanarak erişimi olsun istiyorum. Başka klasörlere erişimi olmasın istiyorum. Nasıl yapabilirim?
comments
1 references
// Comments are closed.
Asıl amacım bit kullanıcıyı FTP uygulaması kullanarak sadece bir klasöre dosya yükleyebileceği şekle getirmekdi. Biraz zorladı ama hallettik. Aşamalar aşağıda.
Önce FTP bağlantısı yapacak kullanıcılar için bir group oluşturuyoruz.
# addgroup ftpgroup
Daha sonra kullanıcıların erişeceği bir klasör açalım
# mkdir -p /ftpusers/chroot
Sonra bu klasörü root olarak sahipliğini değiştirelim
# chown root:root /ftpusers/chroot/
Şimdi kullanıcımızı açalım
# adduser hasscript –no-create-home
# mkdir /ftpusers/chroot/hasscript
# chown hasscript:ftpgroup /ftpusers/chroot/hasscript/
# chmod 700 /ftpusers/chroot/hasscript/
Şimdi kullanıcımızı groubumuza ekleyelim
# usermod -G ftpgroup hasscript
Şimdiye kadar herşey iyi gittiyse güzel, keza ben çok uğraştım.
Şimdi de ssh ile gelen istekleri sadece sftp alması için grubumuzu özelleştiriyoruz. Bunu /etc/ssh/sshd_config dosyası içinden yapıyoruz. Basitçe aşağıdaki kodları yapıştırsak tamamdır.
Subsystem sftp internal-sftp
Match Group ftpgroup
ChrootDirectory /ftpusers/chroot/
ForceCommand internal-sftp
X11Forwarding no
AllowTcpForwarding no
Şu an herşey tamam. systemctl restart sshd diyerek ssh sunucusunu restart ediyoruz.
Bu aşamada artık test etme kaldı.
ssh [email protected] ile bağlantığımız zaman aşağıdaki hatayı almamız gerekiyor.
This service allows sftp connections only.
Şimdi de sftp [email protected] dediğimiz zaman ise
sftp>
satırı ile karşılaşırsak olay tamam. Filezilla gibi bir uygulama üzerinden upload deneyebilirsiniz.
Birsürü kaynak içinden benim kullandığım en açıklayıcı kaynak aşağıdaki adres.
http://www.tecmint.com/restrict-sftp-user-home-directories-using-chroot/