Dzielę się moim osobistym komputerem Ubuntu z jednym z moich kolegów.
Stworzyłem innego użytkownika z innym hasłem (on oczywiście wie) i dodałem go do sudoer
listy.
Biorąc pod uwagę, że sudo
w jednym systemie Ubuntu jest dwóch użytkowników:
Czy prywatne pliki (określone przez właścicieli i uprawnienia) któregokolwiek z tych użytkowników są nadal prywatne?
Czy mogę modyfikować pliki mojego kolegi za pomocą
sudo
polecenia, a nawetsudo su
odwrotnie?
permissions
sudo
Jizhou Huang
źródło
źródło
Odpowiedzi:
Jeśli twój kolega znajduje się na liście sudoers, jest tak samo rootowany jak Ty, jeśli tego chce (i może cię też podszyć), a wtedy wszystko zobaczy.
To najgorsza konfiguracja, jaką możesz mieć, jeśli chcesz prywatności użytkownika. Ostatecznie powinieneś przeczytać, jak działa zarządzanie użytkownikami w systemie Linux. Oto kilka artykułów, od których możesz zacząć:
I nawet wtedy, gdy ktoś ma fizyczny dostęp do danej maszyny, nie ma prywatności, mógłby wpaść przy uruchamianiu do powłoki roota i zobaczyć wszystko bez względu na wszystko, a gdyby był chroniony hasłem, mógłby nadal używać pamięci USB i wejdź tą drogą.
Tak więc najlepszą rzeczą w tym przypadku jest prawidłowe zarządzanie użytkownikami, hasło do roota i szyfrowany dysk i / lub szyfrowane katalogi domowe.
źródło
sudo -i
że nie działa :)Prostą alternatywą jest przechowywanie prywatnych danych w zaszyfrowanym pliku (może to być plik archiwum tar, który szyfrujesz, na przykład za pomocą gpg). Musisz pamiętać o zastąpieniu i usunięciu czystych plików tekstowych po ich obejrzeniu.
Inną alternatywą dla wszystkich, którzy korzystają z komputera i dostępu sudo (root), jest korzystanie z zaszyfrowanego domu i zaszyfrowanej wymiany.
Ale to nie pomoże, jeśli jesteś zalogowany w tym samym czasie. W rzeczywistości musisz ponownie uruchomić komputer, aby pozbyć się plików w formacie czystego tekstu, nawet w przypadku zaszyfrowanego domu.
Ogólnie bezpieczeństwo jest bardzo trudne, a system dla jednego użytkownika z zaszyfrowanym dyskiem (LVM z szyfrowaniem) byłby najprostszym sposobem na zapewnienie bezpieczeństwa.
źródło
ecryptfs-mount-private
LD_PRELOAD
: po prostu zrób prosty rejestrator naciśnięć klawiszy i rzuć go na niektóre skrypty pythonowe, aby wykonać rozmytą segmentację K-średnich na podstawie czasu / grupowania pisania, a także parsowania tekstu i gotowy. Teraz masz hasło dla użytkownika i prawdopodobnie możesz uzyskać jego dane osobowe.Gdy jesteś w stanie uzyskać
root
uprawnienia (np użyciusudo
,su
itp).Masz pełny dostęp do każdego pliku w systemie.
Tak więc obaj użytkownicy, którzy mają
sudo
uprawnienia i mogąroot
korzystać,sudo bash
będą mieli pełny dostęp do każdego pliku w systemieZgodnie z pytaniami i odpowiedziami w
SE-Security
: Być może będziesz mógł zmodyfikowaćSELinux
(co nie jest Ubuntu) w celu ograniczeniaroot
dostępu:źródło
Aby wyjaśnić to, co inne odpowiedzi już stwierdziły, całkowicie jasne: że inny użytkownik jest nie tylko „zrootowany tak bardzo jak ty” (odpowiedź Videonauth), może on także stać się tobą (przejdź do konta użytkownika) .
Wynika to z faktu, że dzięki uprawnieniom administratora można przełączyć się na dowolne konto.
Prawdopodobnie wiesz
która jest jedną z opcji otwierania powłoki roota, jeśli root nie ma ustawionego hasła (więc nie możesz zalogować się bezpośrednio jako root).
su
jest skrótem od „zmień użytkownika”. Do jakiego użytkownika się przełącza? Nic nie jest określone, prawda? Ale ze strony podręcznika możemy dowiedzieć się, że:Tak to jest skutecznie
jeśli nie zmieniłeś nazwy
root
na coś innego.Jeśli po prostu uruchomisz
su <someuser>
, pojawi się monit o podanie hasła. Więc jeśli uruchomiszsu root
, pojawi się monit o hasło roota (które domyślnie nie istnieje w Ubuntu, więc nie możesz się zalogować (pamiętaj, że brak ustawionego hasła oznacza, że nie ma możliwości zalogowania się za pomocą hasła, które jest inny niż hasło będące pustym ciągiem)). Ale jeśli uruchomiszsudo su root
, pojawi się monit o podanie własnego hasła. I jesteś o to poproszony tylko przezsudo
. Posudo
otrzymaniu hasła uruchamia polecenie otrzymane jako parametry z uprawnieniami administratora. Ponieważ można przełączyć się na dowolne konto z uprawnieniami administratora, monit o hasło nie jest konieczny.Więc wykonując
, drugi sudoer może się zalogować jako Ty.
źródło
sudo su
zawsze domyślnie jest to UID 0 i GUID 0? Jeśli tak, nie powinno mieć znaczenia, jak nazwałeś „root”.root
najohn
,sudo su
jest teraz równoważnesudo su john
i już niesudo su root
.Można ograniczyć programy, które można uruchamiać przy użyciu eskalacji uprawnień sudo, edytując plik sudoers (
/etc/sudoers
).Zobacz zaakceptowaną odpowiedź na to pytanie na Super User, aby uzyskać więcej informacji, a także tutaj na Unix i Linux . Zobacz odpowiedź slm, aby uzyskać sugestię dotyczącą ograniczenia uprawnień w
/etc/sudoers
.Sprawdź także
man
stronę sudoers , piszącman sudoers
i nie zapomnij przetestować. Pamiętaj, że dzięki nieskrępowanemu dostępowi do sudo użytkownik może w pełni podszyć się pod innego użytkownika. np. jeśli użytkownikfoo
uruchomi poleceniemogliby wtedy działać jako użytkownik
bar
, ze wszystkimi uprawnieniami tego użytkownika.źródło
sudoers
linie pokazane w SLM za and mtak w odpowiedziach nie pracują , aby dać możliwość wykonywania pewnych działań, a inne nie, jak to jest trywialnie proste do korzystania z nich, aby wykonać dowolną komendę. (Zobacz komentarze do każdej z tych odpowiedzi, aby uzyskać szczegółowe wyjaśnienie dlaczego.) Ta odpowiedź może nie być całkowicie błędna, ponieważ czasami można zezwolić użytkownikomsudo
na uruchamianie określonych poleceń jako root bez skutecznego administrowania nimi. Ale bardzo trudno jest to naprawić.Poprzednie odpowiedzi nie mają pełnego zastosowania, jeśli zaznaczyłeś to
encrypt home folder
podczas instalacji Ubuntu. Gwarantuje to zaszyfrowane foldery domowe dla każdego użytkownika, nawet jeśli root nie może odczytać danych bez odpowiedniego hasła użytkownika / właściciela tego folderu domowego. Twój kolega musiałby zmienić hasło, aby odczytać pliki, co zostanie zauważone.I oczywiście ludzie mają rację, że dzielenie się maszynami z cennymi lub wrażliwymi danymi na nich, a ponadto dostęp do konta root z kolegami, nie jest dobrym pomysłem.
W zależności od wartości tych danych sugeruję poprosić o własną maszynę.
źródło
sudo su - <username>
który nie potrzebuje hasła innych użytkowników, normalnie z powodzeniem odszyfruje katalog innych użytkowników. Ale mogę się tutaj mylić, muszę przetestować to na maszynie wirtualnej i zrobię to później. W każdym razie sprowadza się to w 99% do wszystkich przypadków: „Jeśli mam fizyczny dostęp do twojej maszyny, to jesteś chory!”