Dowiązanie symboliczne dające „Odmowa uprawnień” ... do katalogu głównego
Napisałem prosty skrypt, aby zautomatyzować tworzenie dowiązania symbolicznego.
#!/pseudo
today = "/tmp/" + date("Y-m-d")
exec("ln -sf " + today + "/tmp/today")
Wystarczająco proste: uzyskaj dzisiejszą datę i zrób symboliczne łącze. Najlepiej zacząć po północy od
-f, aby po prostu zaktualizował go na miejscu.
Działa dobrze! ... dla mojego użytkownika.
xkeeper/tmp$ ls -ltr
drwxrwxrwx xkeeper xkeeper 2014-10-21
lrwxrwxrwx xkeeper xkeeper today ->/tmp/2014-10-21/xkeeper/tmp$ cd today
xkeeper/tmp/today$ cd ..
Pamiętaj, że działa dobrze, wszystkie uprawnienia można odczytać na całym świecie, wszystko wygląda dobrze.
Ale jeśli ktoś inny chce użyć tego linku (powiedzmy root, ale każdy inny użytkownik ma ten problem), dzieje się coś bardzo dziwnego:
root/tmp# cd today
bash: cd: today: Permission denied
Nie wiem, dlaczego tak jest. Próbowałem również utworzyć linki za pomocą
ln -s -n -f(nie to, że „
--no-dereferencing” jest bardzo dobrze wyjaśnione), ale ten sam problem pojawia się.
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
1 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
Możesz wyłączyć tę ochronę, ustawiając
protected_symlinks
https://patchwork.kernel.org/patch/1147961/
:
Od dawna istniejącą klasą problemów związanych z bezpieczeństwem jest łącze symboliczne oparte na
wyścig time-of-check-time-use najczęściej spotykany w
światowe katalogi z możliwością zapisu, takie jak/tmp. powszechna metoda wykorzystania tej wady
polega na przekroczeniu granic uprawnień podczas podążania za danym dowiązaniem symbolicznym (tj.
proces root podąża za dowiązaniem symbolicznym, którego właścicielem jest inny użytkownik). Prawdopodobnie
niepełna lista setek przykładów na przestrzeni lat, patrz tutaj:
http://cve.mitre.org/cgi-bin/ cvekey.cgi?keyword=/tmp
http://cve.mitre.org/cgi-bin/c ... D/tmp
Jeśli ustawione na „0”, to zachowanie po dowiązaniu symbolicznym nie jest ograniczone.
Po ustawieniu na „1” dowiązania symboliczne są dozwolone tylko wtedy, gdy znajdują się poza
lepki katalog z możliwością zapisu na świecie lub gdy uid dowiązania symbolicznego i
subskrybent pasuje lub gdy właściciel katalogu jest taki sam jak właściciel dowiązania symbolicznego.
Ta ochrona jest oparta na ograniczeniach w Openwall i grsecurity.
Po więcej szczegółów sprawdź
to jest
http://nerdbynature.de/s9y/?319
.