Bir arkadaşıma makinemde yerel bir hesaba izin veriyorum, sadece SCP için. Hesabının kabuğunu /bin/true
, SCP'ye izin verirken hesabı sınırlandırabilir veya başka bir şekilde hesabı sınırlandırabilir miyim?
Bir arkadaşıma makinemde yerel bir hesaba izin veriyorum, sadece SCP için. Hesabının kabuğunu /bin/true
, SCP'ye izin verirken hesabı sınırlandırabilir veya başka bir şekilde hesabı sınırlandırabilir miyim?
Yanıtlar:
Bu kullanıcının kabuğunu rssh
veya scponly
bu amaçla tam olarak tasarlananları ayarlayabilirsiniz :
rssh, OpenSSH ile kullanım için kısıtlı bir kabuktur ve sadece scp ve / veya sftp'ye izin verir. Şimdi ayrıca rdist, rsync ve cvs için destek içeriyor.
scponly, uzak kullanıcılara uzaktan yürütme ayrıcalıkları sağlamadan hem yerel dosyaları okuma hem de yazma erişimi sağlamak isteyen sistem yöneticileri için alternatif bir 'kabuk'tur (tür).
Scp'yi çalıştırdığınızda, OpenSSH arka plan programı scp
, bu -f
seçeneği içeren bir işlemi başlatır . Sftp'yi çalıştırdığınızda, OpenSSH arka plan programı bir sftp-server
işlemi başlatır . Her iki durumda da, alt işlem kullanıcının kabuğuyla yürütülür, böylece kabuğun en azından bu komutları Bourne benzeri bir sözdizimi ile desteklemesi gerekir. Herhangi bir Bourne tarzı kabuk, csh'nin yapacağı gibi yapacaktır (Bence, alıntı kuralları ne sshd
kullandığı için yeterince uyumludur ). Rssh ve scponly bu komutlara izin verir ve başka hiçbir şey yapmaz. /bin/true
bu komutları bile çalıştırmazdım.
/bin/false
veya hiçbir şey yapmayan başka bir programa ayarlanmışsa , ne scp ne de sftp çalışmayacaktır. Her iki komut için, SSH arka plan programı, özel bir sunucu işlemini ( scp -f
veya sftp-server
) çalıştıran bir kabuk komutunu ateşler . Bourne tarzı bir kabuğa veya en azından yeterince yakın bir yaklaşıma ( rssh
sadece bu birkaç komutun girmesine izin verdiği gibi) ihtiyaç duyar .
Hayır yapmazsın. Gilles'un da belirttiği gibi, rssh bu konuda çok iyi çalışıyor, tıpkı olduğu gibi . Ayrıca bu konudaki tartışmaya bakınız .
/bin/false
çalışmayacak, ne de 644 ksh chmod .