Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [chmod][user]Zmiana użytkownika
Forum PHP.pl > Forum > PHP
Cysiaczek
Witam

W jaki sposób mogę zmienić użytkownika podczas wykonywania skryptu?
Chcę wykonać chmod na katalogu, który należy do innego użytkownika.
Od razu zaznaczę, że wiem jak to zrobić z poziomu php przez funkcje chmod() lub przez połączenie ftp, ale nie wchodzi to w grę.
Kombinowałem coś z popen() i proc_open(), ale bez skutku, bo pojawiał się problem przekazania hasła do 'su' lub 'login' i na tym kończyła się moja zabawa :|
Czy ktoś z Was spotkał się z podobnym problemem?

Pozdrawiam.
UDAT
Spróbuj użyć sudo
dr_bonzo
echo "haslo" | su

? przejdzie?
Cysiaczek
Niestety ani sudo, ani propozycja dr_bonzo nie działają. Za słaby jestem z potoków w linuksie, żeby to rozgryźć ;(
Może inny pomysł? Ciągle googluje i nic :/

Pozdrawiam.
Bastion
Generalnie popularne są trzy pozycje ustawienia praw na plik za pomocą chmod

chmod XYZ plik (X - właściciel, Y - grupa, Z - inni)
np. chmod 777 plik (odczyt, zapis, exec dla wszystkich)

jest jeszcze jedna pozycja przed XYZ - dajmy na to A

chmod AXYZ skrypt.sh

gdzie w A
- 1 bit sticky (przyklejony - dotyczy katalogów)--- waga 1
- 2 bit ustawia GID (Group ID) przy wykonaniu --- waga 2
- 3 bit ustawia UID (User ID) przy wykonaniu --- waga 4

Przypuśćmy ze mamy skrypt.sh z prawami 755 (pełne prawa dla właściciela i odczyt+exec dla reszty)

Chcąc aby skrypt wykonał się na prawach właściciela pliku ustawiamy 3 bit A . czyli :

chmod 4755 skrypt.sh

Chcąc aby skrypt wykonał się na prawach zarówno właściciela pliku jak i grupy do której należy ustawiamy bit 2 i 3

chmod 6755 skrypt.sh
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.