Forum
Arkadaşlar, ftp user'ını bir folder'a hapsedebiliyoruz fakat, ssh user'ını bir folder'a nasıl hapsedebilirim.
#useradd -d /var/www/xyz.com.tr/musteri -s /bin/bash -g sshd musteri // musteri adında bir user oluşturdum, home folder'ını,grubunu ayarladım. musteri user'ını "/var/www/xyz.com.tr/musteri" içine hapsetmek istiyorum. musteri klasöründen başka bir yere gitmesini istemiyorum.
Yardımcı olursanız sevinirim.
Bu kullanıcının full shell erişim yetkisine sahip olmasını mı istiyorsun ? ve ya rsync ve ya sftp gibi dosya kopyalama protokollerine erişim olmasını mı istiyorsunuz?
Saygılar,
başlangıç script'ini " -s /bin/bash " verdim çünkü arkadaş dışarıdan ssh çekecek.
-d ile " /var/www/xyz.com.tr/musteri " home directory'sini belirledim. İlgili arkadaş bu folder'a sftp ile dosya atacak ama başka bir folder'a "cd .." ile erişemeyecek.
ssh user'ı home folder'a hapsetmek istiyorum. Google'a baktığım kadarıyla aşağıdakini önerdiler ama pratikte olmadı.
vi /etc/security/chroot.conf
# format:
# username_regex chroot_dir
#matthew /home
musteri /var/www/xyz.com.tr/musteri
Merhaba,
Eğer sadece dosya transfer protokolü olarak SFTP kullanacaksanız ,o zaman yapmanız gereken "Google" da scponly chroot ve ya rssh chroot aratarak istediğiniz bilgileri bulabilirsiniz.
Saygılar,
Arkadaşım teşekkürler, normal vsftpd kurdum, oradan paylaşım verdim. ama iptables ile ilgili bir sorunum var.
#service iptables stop // yaptığım zaman ftp bağlantım kuruluyor.
#vi /etc/sysconfig/iptables //da 21. port için rule var ama yinede iptables'i stop etmeden bağlantı kurulmuyor.
Normal
0
21
false
false
false
TR
X-NONE
X-NONE
/* Style Definitions */
table.MsoNormalTable
{mso-style-name:"Table Normal";
mso-tstyle-rowband-size:0;
mso-tstyle-colband-size:0;
mso-style-noshow:yes;
mso-style-priority:99;
mso-style-qformat:yes;
mso-style-parent:"";
mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
mso-para-margin-top:0cm;
mso-para-margin-right:0cm;
mso-para-margin-bottom:10.0pt;
mso-para-margin-left:0cm;
line-height:115%;
mso-pagination:widow-orphan;
font-size:11.0pt;
font-family:"Calibri","sans-serif";
mso-ascii-font-family:Calibri;
mso-ascii-theme-font:minor-latin;
mso-fareast-font-family:"Times New Roman";
mso-fareast-theme-font:minor-fareast;
mso-hansi-font-family:Calibri;
mso-hansi-theme-font:minor-latin;
mso-bidi-font-family:"Times New Roman";
mso-bidi-theme-font:minor-bidi;}
-A
RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
#vi /etc/vsftpd/vsftp.conf da "connect_from_port_20=YES" satırı var. 20'den bağlantı kuruyor. 20. port içinde accept yazıyorum ama stop yapmadan bağlantı kurulmuyor.
-A
RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A
RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
ftp yapmam için iptables'a hangi satırları yazmalıyım.
aradaki anlamsız code ların neden çıktığını bilmiyorum, edit edince görünmüyor, publish edince çıkıyor.
Merhaba,
SFTP bilinen FTP protokolüne benzer şekilde SSH kanal üzerinden bağlantı imkanı sağladığından varsayılan olarak port 22 kullanır.
Saygılar,
sftp ssh'ın bir alt servisi olduğu için 22. portu kullanıyor. Iptables da 22. port ile ilgili satır aşağıdaki gibi.
Benim şuan yaşadığım anlamsız sorun şu. Ftp için vsftpd servisini kullanıyorum. ftp 20 ve 21. portları kullanıyor. 20 connection 21 data transferi için. 20 ve 21. portlar için iptablesda satırlar olmasına rağmen iptables'ı stop etmeden makineye ftp yapamıyorum. Makineye bağlantı kurmaya çalıştığımda " Listing remote folder failed. " hatası veriyor. İşin tuaf tarafı 21. portu kontrol ettiğimde açık görünüyor. vsftpd servisi 21. portu dinliyor.
# netstat -tulpn | grep :21
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 1869/vsftpd
# netstat -tulpn | grep :20
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
Bu durumda ne yapmam gerekli. !!!!!!!!!!!!!!!!!!!
/etc/services altında FTP over SSL olarak port ne var? oradakileri birde iptables üzerinden izin veriniz.
Saygılar,
FTP over ssl olarak bir port yok.
# cat /etc/services | grep ssl // ssl ile ilgili bir satır yok.
#
# cat /etc/services | grep ftp // ftp ile ilgili portlar ,, 20 ve 21 iptables da izinli durumda.
ftp-data 20/tcp
ftp-data 20/udp
# 21 is registered to ftp, but also used by fsp
ftp 21/tcp
ftp 21/udp fsp fspd
tftp 69/tcp
tftp 69/udp
sftp 115/tcp
sftp 115/udp
tftp-mcast 1758/tcp
tftp-mcast 1758/udp
mtftp 1759/udp
venus-se 2431/udp # udp sftp side effect
codasrv-se 2433/udp # udp sftp side effectQ
#
paralelden unix.com danda takip ediyorum, bu işin sonu nereye çıkacak çok merak ediyorum.
O zaman FTP bağlantı yapman için sahip olduğun firewall 'un state-tracking desteklemesine ihtiyacı vardır.Bunun için netfilter ftp bağlantı tracking modülünün yüklü olduğundan emin olman gerekiyor.(nf_conntrack_ftp bu modül).Ayrıca, vsftpd.conf içinden pasv_min_port ve pasv_max_port ayarları tarafında vsftpd için FTP "passive mode" için min/max portları ayarlamalısın.
-firewall içinde bunları açtın mı ve bu portları aralıkları birbirine çok yakın olabilir.
Saygılar,