Kesalahan "Akun ini saat ini tidak tersedia" ketika mencoba melakukan ssh

46

Terjadi kesalahan saat saya mencoba membuat koneksi SSH:

$ ssh -p 22 [email protected] 
This account is currently not available
Mert Özoğul
sumber

Jawaban:

59

Anda mendapatkan This account is currently not available.kesalahan karena shell untuk pengguna www-datadiatur ke /usr/sbin/nologin, dan itu diatur untuk alasan yang sangat bagus. Anda tidak boleh login karena www-data, ini adalah pengguna / grup khusus yang digunakan oleh server web, tidak dimaksudkan untuk penggunaan shell biasa.

EDIT : Ini adalah ide yang sangat buruk untuk memberikan sudohak www-data. Jika Apache dimaksudkan untuk dijalankan dengan izin root, itu tidak akan memiliki grup itu sendiri. Dengan melakukan ini, Anda membuat lubang keamanan besar. Anda telah diperingatkan.

kraxor
sumber
5
Itu tidak terlalu konstruktif. Menurut Anda informasi apa yang harus saya tambahkan untuk membuat jawaban ini lebih baik?
kraxor
4
@ kraxor benar tetapi jika Anda harus, Anda dapat login sebagai root dan mengubah / usr / sbin / nologin di / etc / passwd ke / bin / bash dan itu akan memberikan akses shell pengguna. Saya melakukan ini ketika hanya menjalankan snap biner sebagai server web saya. www-data umumnya disediakan untuk nginx / apache di ubuntu karenanya tidak ada status login.
engineerDave
4
@RyanNerd Ini pilihan Anda untuk tidak "memberi tikus $ $$ tentang omong kosong keamanan". Menjalankan semuanya sebagai root tidak dianjurkan bahkan di dalam Docker. Anda tentu saja dapat mengkonfigurasi Apache untuk dijalankan sebagai root, atau menambahkan shell login www-data, tetapi itu seperti membuka sebotol anggur dengan memecahkan botol karena Anda terlalu malas dan ceroboh untuk menggunakan sekrup sumbat.
kraxor
@krax atau tautan Anda ke buruh pelabuhan kedaluwarsa. SEMUANYA masih dimiliki oleh root di Docker dan itu masih menjadi masalah .
RyanNerd
Saya punya kasus serupa. Saya ingin menjalankan LibreOffice dalam mode tanpa kepala dengan cara yang dapat dipanggil oleh skrip PHP untuk mengonversi dokumen dan dapat menulis file ke disk sebagai data-www karena file-file ini nantinya perlu dihapus oleh data-www (bagian dari skrip PHP) untuk membersihkannya. Ini (meluncurkan LibreOffice tanpa kepala sebagai data-pengguna www) digunakan untuk bekerja di versi Ubuntu sebelumnya, dan saya mengerti bahwa ini adalah peningkatan keamanan dari versi sebelumnya.
ywarnier
57

Meskipun saya setuju dengan yang lain bahwa mengizinkan masuk melalui SSH melalui pengguna data-www umumnya merupakan ide yang buruk, setelah Anda masuk dengan pengguna normal, mungkin berguna untuk menjalankan beberapa perintah secara bersamaan dengan izin yang ditetapkan dari www- pengguna data. Dalam hal ini, seseorang dapat berlari

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

dan Anda akan dapat mengakses file Anda sebagai pengguna data-www.

D. Scott Boggs
sumber
3
Sangat berguna untuk izin debugging untuk pengguna daemon / layanan
jmng
Anda baru saja menyelamatkan hari saya, terima kasih! Saya mengalami masalah memulai layanan perl-fcgi karena skrip startup tidak menggunakan-s /bin/bash
Couitchy
-1

Pertanyaan pertama yang harus saya tanyakan adalah, apa yang ingin Anda capai dengan melakukan ini?

kraxor 100% benar Anda seharusnya tidak pernah dapat ssh ke server Anda menggunakan pengguna Apache / Nginx Anda. Melakukan hal itu mengundang setiap peretas dengan setengah sel otak ke server Anda.

Jika Anda perlu menjalankan skrip atau program sebagai pengguna yang dapat Anda coba sudo -u www-data yourscriptatau Anda dapat sementara chownpada file ke pengguna dengan hak masuk. Itu hanya ide buruk yang berbeda untuk memungkinkan akun ini mengakses semacam itu.

TheStarvingGeek
sumber
6
Anda harus tahu bahwa su -itu tidak berfungsi untuk akun dengan menonaktifkan login.
sorin
Akun apa yang dinonaktifkan? Ia tidak mengatakan apa-apa tentang akun yang dinonaktifkan
TheStarvingGeek
1
Nah memiliki nologin di passwd berarti login dinonaktifkan :)
Sorin
1
Ini adalah akun layanan bukan akun yang dinonaktifkan, Anda dapat menjalankan perintah di bawahnya
TheStarvingGeek
Server saya tampaknya tidak tahu perbedaan itu @TheStarvingGeek
LovesTha