Nadużyłem sudo
.
Stworzyłem naprawdę bardzo krótki katalog tymczasowy, który chciałem udostępniać niektórym użytkownikom przez kilka godzin ... i nazwałem ten katalog /some/path/tmp
Niestety sudo chown 777 -R /tmp
zamiast tego uruchomiłem sudo chown 777 -R tmp
, więc mój /tmp
plik jest teraz całkowicie publiczny.
/tmp
Często używam tego wspólnego (codziennie, prawie co godzinę) osobiście do krótkich plików, skryptów, wielu skryptów.
Czy jest to kwestia bezpieczeństwa teraz, gdy jest ona całkowicie publiczna? Czy powinienem zmienić to z powrotem na bezpieczniejsze ustawienia, czy polubić wspólne ustawienia domyślne dla dystrybucji Debian lub Ubuntu - (nie wiem, które to były)? Do czego są odpowiednie uprawnienia /tmp
?
permissions
chown
tmp
Stephane Rolland
źródło
źródło
chown
albochmod
?chmod
. chown (podobnie jak ch - own), dotyczy własności plików, których użytkownik jest właścicielem pliku. chmod (jak ch - modifify) to więcej o tym, kto może wykonywać, pisać w środku lub czytać zawartość pliku.chown 777
który ustawia własność pliku dla użytkownika o identyfikatorze 777. Jednak wszystkie odpowiedzi, w tym zaakceptowana, działająchmod
. Ponieważ wszyscy ustawili uprawnienia na tę samą wartość dla wszystkich użytkowników (właściciela, grupy, innych), większość efektów własności pliku staje się nieistotna. Jednak poprawnym poleceniem do skorygowania wynikusudo chown 777 -R /tmp
powinno byćsudo chown root -R /tmp
.Odpowiedzi:
Normalne ustawienia
/tmp
to 1777, cols
pokazuje jakodrwxrwxrwt
. To znaczy: szeroko otwarte, z tym wyjątkiem, że tylko właściciel pliku może go usunąć (to właśniet
oznacza ten dodatkowy bit dla katalogu).Problem z
/tmp
trybem 777 polega na tym, że inny użytkownik może usunąć utworzony plik i zastąpić wybraną przez niego zawartość.Jeśli posiadasz
/tmp
system plików tmpfs, ponowne uruchomienie przywróci wszystko. W przeciwnym razie uruchomchmod 1777 /tmp
.Ponadto wiele plików
/tmp
musi być prywatnych. Jednak co najmniej jeden katalog musi być czytelny dla całego świata:/tmp/.X11-unix
i ewentualnie inne podobne katalogi (/tmp/.XIM-unix
itp.). Następujące polecenie powinno przede wszystkim poprawiać sytuację:Oznacza to, że wszystkie pliki i katalogi są prywatne (usuń wszystkie uprawnienia dla grupy i innych), ale spraw, aby gniazda X11 były dostępne dla wszystkich. Kontrola dostępu do tych gniazd jest wymuszana przez serwer, a nie przez uprawnienia do plików. Mogą istnieć inne gniazda, które muszą być publicznie dostępne. Uruchom,
find /tmp -type s -user 0
aby odkryć gniazda należące do roota, które mogą być potrzebne, aby świat stał się dostępny. Mogą istnieć również gniazda należące do innych użytkowników systemu (np. Do komunikacji z magistralą systemową); przeglądaj za pomocąfind /tmp -type s ! -user $UID
(gdzie$UID
jest twój identyfikator użytkownika).źródło
go-rwx
: brak uprawnień dla grupy i innych. Ustawia to uprawnienia narwx------
(z tym wyjątkiem, że pliki utworzone od tego czasuchmod
mogą mieć mniej uprawnień, nprw-------
.). Innymi słowy, pliki będą dostępne tylko dla ich właściciela./tmp/.[!.]*
jest dołączenie plików kropek, które zwykle istnieją/tmp
./tmp
i/var/tmp
powinien mieć prawo do odczytu, zapisu i wykonywania dla wszystkich; ale zwykle dodawalibyśmy także sticky-bit (o+t
), aby uniemożliwić użytkownikom usuwanie plików / katalogów należących do innych użytkowników. Takchmod a=rwx,o+t /tmp
powinno działać.Jeśli chodzi o rekurencyjną zmianę uprawnień ... Tak długo, jak właściciel / grupa pozostaje tak samo, jak w przypadku plików i katalogów, nie powinno to stanowić większego problemu. Ale być może możesz zmienić uprawnienia do wszystkiego pod
/tmp
(nie / tmp sam), aby zapewnić prywatność użytkowników, usuwającrx
prawa innych i być może grupy.Znajdź to dobry sposób na zrobienie tego. Jako root wykonaj:
źródło
/tmp/.X11-unix/*
świat czytelnym, inaczej nie będziesz już mógł uruchamiać aplikacji X.chmod a=rwX,o+t /tmp -R
powinien zrobićfind
magię.Z komputera CentOS 5.9.
źródło