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

Ogólne pytania dotyczące systemu
sethiel
Junior Member
Posty: 762
Rejestracja: 28 stycznia 2008, 11:50
Lokalizacja: Wrocław

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

Post 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
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post 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?
sethiel
Junior Member
Posty: 762
Rejestracja: 28 stycznia 2008, 11:50
Lokalizacja: Wrocław

Post 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.
fnmirk
Senior Member
Posty: 8321
Rejestracja: 03 grudnia 2007, 06:37

Post autor: fnmirk »

sethiel
Junior Member
Posty: 762
Rejestracja: 28 stycznia 2008, 11:50
Lokalizacja: Wrocław

Post 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]
Awatar użytkownika
markossx
Beginner
Posty: 489
Rejestracja: 26 maja 2007, 16:01
Lokalizacja: Polska

Post autor: markossx »

Prawdopodobnie w skrypcie używasz jakiś programów - to te programy powinny mieć SUID a nie sam skrypt ;)
ODPOWIEDZ