Ssh çalışırken "Bu hesap şu anda kullanılamıyor" hatası


46

SSH bağlantısı kurmaya çalıştığımda bir hata oluşuyor:

$ ssh -p 22 www-data@x.x.x.x 
This account is currently not available

Yanıtlar:


59

This account is currently not available.Hatayı alıyorsunuz çünkü kullanıcının kabuğu www-dataayarlanmış /usr/sbin/nologinve çok iyi bir nedenle ayarlanmış. www-dataNormal kabuk kullanımı için tasarlanmamış, web sunucusu tarafından kullanılan özel bir kullanıcı / grup olarak giriş yapmamalısınız .

EDIT : Bu hak vermek özellikle kötü bir fikirdir . Apache kök izinleriyle çalışacak olsaydı, kendi grubuna sahip olmazdı. Bunu yaparak, büyük güvenlik delikleri yaratıyorsunuz. Uyarıldın.sudowww-data


5
Bu çok yapıcı değil. Sence bu cevabı daha iyi hale getirmek için hangi bilgileri eklemeliyim?
kraxor

4
@ kraxor doğrudur, ancak root olarak giriş yapabilirsiniz ve / usr / sbin / nologin 'ı / etc / passwd' den / bin / bash 'e değiştirebilir ve bu kullanıcı kabuk erişimine izin verir. Bunu web sunucum gibi hızlı bir ikili dosya çalıştırırken yaparım. www-data genellikle nginx / apache için ayrılmıştır, dolayısıyla oturum açma durumu yoktur.
mühendisDave

4
@RyanNerd "Sıçanlara güvenlik ihlali ile ilgili bir $$ vermemek" sizin seçiminiz. Docker'da bile her şeyi root olarak çalıştırmak önerilmez . Elbette Apache'yi çalışacak şekilde çalıştırabilir rootveya bir giriş kabuğu ekleyebilirdiniz www-data, ancak bu bir şişeyi kırarak bir şişe şarap açmak gibi bir şey çünkü bir mantar vida kullanamayacak kadar tembel ve dikkatsizsiniz.
kraxor

@ kraxor, liman işçisi bağlantınız güncel değil. HER ŞEY Docker'da hala root tarafından sahip olunan ve hala bir problem .
RyanNerd

Benim de benzer bir dava var. LibreOffice'i başsız modda, bir PHP betiği tarafından dokümanları dönüştürmek için çağrılabildiği ve dosyaları diske www-data olarak yazabildiğinden, bu dosyaların daha sonra www-data tarafından silinmesi gerektiğinden çalıştırmak istiyorum. Bir PHP betiği) onları temizlemek için. Bu (Ubuntu'nun önceki sürümlerinde çalışan, başsız bir LibreOffice'i kullanıcı www verileri olarak başlatmak) ve bunun önceki sürümlere göre bir güvenlik iyileştirmesi olduğunu biliyorum.
ywarnier

56

Www-data kullanıcısı üzerinden SSH üzerinden oturum açmaya izin vermek diğerleriyle aynı fikirdeyken, normal bir kullanıcıyla giriş yaptıktan sonra, www'nin ayarladığı izinlerle aynı anda birden fazla komut çalıştırmak yararlı olabilir. veri kullanıcısı Bu durumda biri koşabilir

sudo su -l www-data -s /bin/bash

ve dosyalarınıza www-data kullanıcısı olarak erişebileceksiniz.


2
Bir daemon / hizmet kullanıcısı için hata ayıklama izinleri için çok kullanışlıdır
jmng

günümü kurtardın, teşekkürler! Başlangıç ​​betiği kullanılmadığı için perl-fcgi servisinin başlatılmasında sorun -s /bin/bash
yaşadım

-1

Sormam gereken ilk soru şudur: Bunu yaparak neyi başarmaya çalışıyorsunuz?

kraxor% 100 doğrudur, Apache / Nginx kullanıcısını kullanarak, hiçbir zaman sunucunuza ssh gönderememeniz gerekir. Bunu yapmak, yarım beyin hücresi olan her bilgisayar korsanını sunucunuza davet eder.

Bu kullanıcı olarak bir komut dosyası veya bir program çalıştırmanız gerekiyorsa, deneyebilirsiniz sudo -u www-data yourscriptveya chowndosya üzerinde geçici olarak oturum açma ayrıcalıklarına sahip bir kullanıcı olabilir. Bu hesaba bu tür bir erişime izin vermek sadece kötü bir fikirdir.


6
Bunun, su -girişi devre dışı bırakılmış hesaplarda işe yaramadığını bilmelisiniz .
sorin,

Hangi hesap devre dışı bırakıldı? Hesabın devre dışı bırakıldığına dair hiçbir şey yok
TheStarvingGeek

1
Passwd'de Nologin'e sahip olmak, engelli giriş yapmak anlamına gelir :)
sorin

1
Engelli bir hesap değil, bir hizmet hesabıdır, altındaki komutları çalıştırabilirsiniz
TheStarvingGeek

Sunucum bu ayrımı biliyor gibi görünmüyor @TheStarvingGeek
LovesTha
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.