Czy można zainstalować WordPressa na maszynie wirtualnej bez hasła do roota?

0

Dostałem zadanie rekrutacyjne (etap wstępny) żeby wygenerować klucz publiczny i prywatny do SSH. Następnie miałem wysłać klucz publiczny do administratora, aby stworzył dla mnie maszynę wirtualną abym zainstalował na niej wordpressa. Tylko kiedy loguje się z pomocą klucza prywatnego to już z poziomu maszyny wirtualnej nie mam dostępu do użytkownika root, bo nie znam hasła. Nie mając dostępu do roota nie mogę użyć nawet komendy wget żeby ściągnąć tego wordpressa, bo cała maszyna jest czysta, a żeby coś pobrać trzeba użyć komendy sudo.

Myślicie, że powinienem poprosić admina o hasło, czy może jest to po prostu część zadania rekrutacyjnego? Da się to zrobić bez dostępu do roota? Czy może ja coś źle robię i z pomocą np, klucza prywatnego powienienm te uprawnienia roota uzyskać?

Będę bardzo wdzięczny za pomoc.

3

A co to za linux? Mozesz wytsaczy dostep do sudo a nie musisz miec roota.

0
S4t napisał(a):

A co to za linux? Mozesz wytsaczy dostep do sudo a nie musisz miec roota.

CentOS. Tylko jak chce użyć sudo to pyta mnie o hasło do roota.

Edit: poprawka, jak sudo to pyta o hasło użytkownika "rekrutacja" czyli nazwy usera, który dała mi ta firma do logowania do SSH. Ale jak wpisuje np. passphrase to wyskakuje "Niestety, proszę spróbować ponownie". Powinienem spytać o hasło ich admina?

2

Nie znam sie aż tak na Linuxach. Polecam ich zapytać o hasło - tylko napisz, do czego je potrzebujesz i moim zdaniem nie do roota tylko do użytkownika "rekrutacja" żebyś miał sudo

4

Niektóre firmy jeszcze idą tradycyjną metodą czyli jakieś SFTP i wgrywasz przez kopiowanie projektu od siebie. Zobacz czy na tych danych co masz możesz podłączyć się przez SFTP i nie masz dostępu do katalogów gdzie masz wgrać tego Wordpressa.

1

jak Ci działa sudo to robisz sudo su i już masz root-a
ewentualnie sudo su - root

4

Tylko jak chce użyć sudo to pyta mnie o hasło do roota.

Tak, jak to sprostowałeś w dalszej części posta - nie pyta o hasło roota, ale o hasło użytkownika, który chce z sudo skorzystać. Zresztą - jest to podyktowane względami bezpieczeństwa. Jakby każdy user znał hasło roota to dość słabo. Aczkolwiek - w sumie mając sudo to można i tak nieźle namieszać :P

Ale jak wpisuje np. passphrase to wyskakuje "Niestety, proszę spróbować ponownie"

Żeby sudo działało to dany użytkownik musi posiadać stosowne uprawnienia. Nie wiem jak to wygląda akurat w CentOS'iw, ale na ogół to jest coś w stylu dodania usera do grupy sudo albo grzebanie w pliku /etc/sudoers. Jeśli firma, która Ci to zleciła, nie upoważniła Cie do korzystania z sudo to za wiele nie zdziałasz.

3

@AceSloth928 może trzeba skontaktować się z adminem i ustalić zakres uprawnień vs potrzeby użytkownika :)

opcja 1 admin nie zrozumiał Twoich potrzeb (np. aby uruchomić Wordpress OP potrzebuje zainstalować serwer http + php + mysql ktos to musi zainstalowac )
opcja 2 OP nie zrozumiał admina ( bo np. wszystko jest już przygotowane tylko trzeba skopiowac pliki PHP do folderu XYZ a domyslna baza to .... )

0

@jurek1980:

jurek1980 napisał(a):

Niektóre firmy jeszcze idą tradycyjną metodą czyli jakieś SFTP i wgrywasz przez kopiowanie projektu od siebie. Zobacz czy na tych danych co masz możesz podłączyć się przez SFTP i nie masz dostępu do katalogów gdzie masz wgrać tego Wordpressa.

Zrobiłem tak jak mówiłeś, z pomocą klienta SFTP (FileZilla), ale z tego co widzę na wszelkiego rodzaju materiałach, aby to zrobić trzeba mieć dostęp do katalogu www lub public_html. Ja nie dość, że nie mam do nich dostępu (nie istnieją w katalogu głównym) to jeszcze nawet nie mogę ich stworzyć w katalogu głównym - nie mam uprawnień. Jedyne do czego mam uprawnienia to dostep do dwóch pustych katalogów w katalogu home/ i możłiwość tworzenia w nim nowych katalogów i plików. Twoim zdaniem da radę zainstalować w takiej sytuacji WordPressa?

1

Tak, da się WP instalować w katalogu "nie /". Powstanie tylko pytanie kto otworzy Ci porty poniżej 1024, bo do tego potrzebne są uprawnienia root'a, i kto napisze reguły routingu http do Twojego WP. Ba... w jakim trybie ma działać baza :) Ogólnie, powinna być bardzo wyraźna potrzeba na takie działania.

Poproś o dodanie użytkownika do reguł sudo w pliku /etc/sudoers. Tam można dodać tak grupę jak i pojedyncze konto. Do normalnej instalacji, takie uprawnienia są niezbędne.

1

Dziwne. Instalacja Wordpress to nie przygotowanie VPS jako web serwer. Może masz Nginx np. wtedy będzie inna ścieżka np. /usr/share/nginx/www Ale warto chyba już albo dopytać, albo sprawdzić szczegóły zadania.
Stworzenie katalogów to nie instalacja serwera www, jeśli więc nie masz żadnych to ich stoworzenie nie rozwiąże raczej probelmów.

1

OP widać wybiera opcję na około :)

Dawno nie dotykałem Wordpress-a ale podejrzewam że niewiele się zmieniło:

  • potrzebujemy serwer HTTP , jest ?
  • potrzebujemy PHP , jest ?
  • potrzebujemy MySQL bazy danych i uprawnien do zapisu , jest ?
  • potrzebujemy folderu który jest mapowany na serwerze HTTP otwierając http://costam-costam:jakis-port/gdzies-tam-gdzies-tam serwer http publikuje plik z folderu gdzie jest wordpress i musimy mieć prawa zapisu do tego folderu , a serwer HTTP musi miec prawa odczytu

Bez tego wszystkiego nie ma co zaczynać.

Jak to zdobyć:

  • zapytać admina
  • lub
  • zajrzeć do folderu /etc , sprawdzić jakie usługi są w systemie i gdzie co leży, z mojego punktu widzenia 3 minuty

W Linux wszystko jest konfigurowalne , ja bym się nie przywiązywał do tego co pisza w internecie , tylko ustalał na podstawie lokalnego środowiska

można też wszystko ściągnąć i uruchomić lokalnie w dowolnym folderze , tylko że to opcja dla twardzieli bo jak OP nie umie dogadać sie z adminem to pewnie sam nie podniesie http+php+mysql we własnym folderze
i pozostaje problem ktory opisał @Mokrowski

1

moze php embedded web server? Ale OP pisal ze bez sudo nie moze nic zainstalowac wiec php / httpd / sql pewnie tez nie ma

1

Dzięki wszystkim za pomoc. Skontaktowałem się z nimi i okazało się, że wystarczyło wpisać komendę "sudo -i". Przyznam szczerze, że nie znałem jej wcześniej. Przetrząsnąłem masę stron (również anglojęzycznych) i wszyscy pisali, że jeśli chce się przełączyć na roota to wystarczy sudo su, sudo su - root albo zwykłe su. Pojawiały się też wzmianki o pliku /etc/sudoers o którym wspominał @cerrato . Tak jak pisałem wcześniej, w każdym przypadku albo system prosił o hasło, którego nie posiadałem, albo zasłaniał się brakiem uprawnień do konkretnych katalogów/plików czy konkretnych komend. Okazuje się, że komenda "sudo -i":

Podobnie jak sudo su, tak -i flaga umożliwia użytkownikowi uzyskanie środowiska root bez konieczności znajomości hasła konta root. sudo -i jest również bardzo podobny do używania sudo su, ponieważ odczyta wszystkie pliki środowiskowe (.profile, itp.) i ustawi środowisko wewnątrz powłoki.

Tym, czym różni się od „sudo su”, jest to sudo -i to znacznie czystszy sposób na uzyskanie roota i środowiska roota bez bezpośredniej interakcji z użytkownikiem root. Wyjaśnienie: Z sudo su używasz więcej niż jednego roota setuid polecenie w tle. To sprawia, że ​​znacznie trudniej jest ustalić, jakie zmienne środowiskowe zostaną zachowane, a które zostaną zmienione (podczas zamiany na środowisko root). To nie jest prawda z sudo -i. Z tego powodu większość ludzi postrzega to jako preferowaną metodę uzyskania roota bez bezpośredniego logowania.

Natomiast byłoby miło gdyby wspomnieli o tym wcześniej, bo zadanie rekrutacyjne miało dosłownie 3-4 zdania i było napisane bardzo ogólnie. Nie wiem też czy nie byłoby prościej po prostu nadać użytkownikowi (czyli mnie) stosownych uprawnień w trakcie tworzenia maszyny, bo spędziłem nad rozwiązaniem tego problemu więcej czasu niż nad instalacją Apache, PHP, MariaDB i WordPressa razem wziętych. Niemniej jeszcze raz dzięki wszystkim i mam nadzieję, że ten wątek się komuś przyda w przyszłości.

2

byłoby miło gdyby wspomnieli o tym wcześniej, bo zadanie rekrutacyjne miało dosłownie 3-4 zdania i było napisane bardzo ogólnie

A może właśnie o to chodziło - sprawdzić, jak się zachowa kandydat w nietypowej sytuacji. Czy sobie poradzi sam, zwróci się z prośbą o więcej szczegółów, podda się czy zrobi coś jeszcze innego :P

1

Dokładnie. Wiele zadań rekrutacyjnych wydaje się być nie tyle zadaniami technicznymi, co zadaniami na komunikację. Bo coś, co byłoby banalnie łatwe, jest trudne dlatego, że opis jest niejasny albo coś tam nie działa (kiedyś miałem zadanie, gdzie trzeba było się połączyć z jakimś konkretnym API w necie, tylko że API to nie działało... Ogólnie wiedziałem, co powinienem zrobić - napisać mejla, że nie działa API, ale w końcu olałem to zadanie i tę rekrutację).

1

Najtrudniej wpaść na najprostsze rozwiązania :)

A tak z ciekawości zapytam jak to uzyskać po stronie /etc/sudoers ?

aby sudo su wymagalo hasla a sudo -i nie wymagalo hasla ?

1 użytkowników online, w tym zalogowanych: 0, gości: 1