Strona 1 z 1

uprawnienia do plików wykonywalnych "set user ID on execution"

: 04 stycznia 2012, 16:03
autor: sethiel
Mam mały problem ze zrozumieniem uprawnień.
Wybaczcie że komunikaty po angielsku, ale taki mam system.

/katalog1 - uprawnienia 40700, właściciel użytkownik1

/katalog2/plik_uruchamialny - uprawnienia 106755, właściciel użytkownik1 ([x] set user ID on execution, [x] set group ID on execution)

Zawartość /katalog2/plik_uruchamialny

Kod: Zaznacz cały

#!/bin/bash
touch /katalog1/plik
Plik plik_uruchamialny wywołany przez użytkownika użytkownik1 zakłada plik /katalog1/plik, natomiast uruchamiany przez jakiegokolwiek innego zwraca komunikat:

Kod: Zaznacz cały

touch: cannot touch `/katalog1/plik': Permission denied
Przecież mam:

Kod: Zaznacz cały

set user ID on execution

: 19 stycznia 2012, 09:21
autor: mariaczi
sethiel pisze:... uruchamiany przez jakiegokolwiek innego zwraca komunikat:

Kod: Zaznacz cały

touch: cannot touch `/katalog1/plik': Permission denied
A "Ci wszyscy inni" mają prawo zapisu w tym katalogu?

: 19 stycznia 2012, 12:45
autor: sethiel
Nie mają. Oczywiście że nie mają.
Dlatego skrypt ma sie wykonać tak jakby był użytkownikiem który ma takie prawa - stąd "set user ID on execution".
Ale jak podaje wiki (która to mylić się może) SUID:
Ograniczenia

....
Obecność atrybutów setuid oraz setgid jest powodem, dla którego wywołanie systemowe chroot jest zazwyczaj niedostępne dla użytkowników nie będących superużytkownikami systemu. W trakcie większości operacji na plikach z ustawionymi atrybutami setuid/setgid – takimi jak: modyfikacja, przenoszenie, zmiana właściciela pliku – atrybuty te są usuwane.
...
Atrybut setuid jest w większości systemów operacyjnych ignorowany.
Więc zakładam że muszę to zrobić jednak inaczej.

: 29 stycznia 2012, 22:50
autor: fnmirk

: 29 stycznia 2012, 22:58
autor: sethiel
W acl (-kach) póki co odniosłem miażdżąca porażkę - ale rzecz jasna nie warto się poddawać.
Z innej zupełnie bajki - miałem wczoraj awarię prądu w domu i mój dns323 w raid1 zamordował mi tegoż raida.
Sprzęt - dyski - działają - ale sam raid umarł. Testdisk na moje usiłowanie naprawy odpowiedział "invalid partition structure" i odmówił naprawy.
Więc na razie aclki i tak idą w kąt. A ja tutaj akurat porażki nie zamierzam mieć - półtora giga danych piechotą nie chodzi a zwłaszcza bilion zdjęć wszystkich i cefałki i bazy danych.
A raid 1 miał być bezpieczny - jak kondon - czasem jednak zawodzi.
Siąść i płakać (byle nie na koniu).
[Niedziela - pozwoliłem sobie na bzdety]

: 02 lutego 2012, 14:55
autor: markossx
Prawdopodobnie w skrypcie używasz jakiś programów - to te programy powinny mieć SUID a nie sam skrypt ;)