Su kullanılarak komut www-data olarak çalıştırılamıyor


14
# su -l www-data ./http-app.py
This account is currently not available.
# su -l www-data -c ./http-app.py
This account is currently not available.
# su -c ./http-app.py www-data 
This account is currently not available.
# su -lc ./http-app.py www-data 
This account is currently not available.
# getent passwd www-data 
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin
# getent shadow www-data 
www-data:*:16842:0:99999:7:::
# lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 8.6 (jessie)
Release:        8.6
Codename:       jessie

Benim suya da benim sorunum ne www-data? Eskiden çalışırdı ...

Muhtemelen bunun nedeni /usr/sbin/nologin, ama o zaman rootbu tek komut dosyası için sistemdeki diğer hizmetlerden ödün vermeden nasıl düşerim ( iyi bir nedenden dolayı ekip nologintarafından seçildi Debian, inanmak istiyorum)?

Yanıtlar:


19

Tartışma suvs. olmadan komut satırınıza sudoeklemeyi deneyebilirsiniz -s /bin/sh. (Debian yönetimi web sunucusu çalışmadığı için bu seçeneğin jessie için kullanılabilir olduğunu doğrulayamadım: https://manpages.debian.org/ )


Yanlış olarak varsayılan /bin/sholarak kullanıldığını varsaydım ve -sseçeneği yalnızca değiştirmek istediğinizde belirtmeniz gerekir /bin/bash.
NarūnasK

3
Teşekkürler, su www-data -s /bin/shsadece tür kök geri almak için Debian 9 çalışır su.
PJ Brunet

4
@PJBrunet - "root'a geri dönmek" (root'tan çıkmış olduğunuzu varsayarak) "exit" yazarsınız. Yeni bir kök kabuk başlatmak için su yazarsınız.
ChronoFish

31

su"Kullanıcı değiştirmek" için kullanılanı kullanıyorsunuz . Elbette işe yaramaz çünkü www-dataoturum açmak için kullanılamayan bir kullanıcı hesabıdır. Bunu söylediler: /usr/sbin/nologin.

Belki de sudo"başka bir kullanıcı olarak bir komut yürütmek" için kullanılan şeydir.

sudo -u www-data ./http-app.py

Her zaman subu amaç için kullandım ve her zaman çalışırdım. sudoyüklemek için ekstra bir paket, ama haklısın, istediğimi elde etmek için kullanabilirim.
NarūnasK

1

Yalnızca bir komut yürütmekle kalmaz, aynı zamanda www-datao kullanıcı için bazı şeyleri test etmek için geçiş yaparsanız , bu benim için çalıştı:

sudo -u www-data sh

Biraz daha kısa. [Ctrl] + [d] ile oturumdan çıkın veyaexit


0

Bu tür bir sorunla seçeneği kullandım -p:

su -pc ./http-app.py www-data

-p: çevre korunur. Mesajı almak daha dont çok acayip yılında, yeni hesapla giriş çalışmaz: This account is currently not available..

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.