Mihai Sprinceana
Un forum de programare cu de toate. Va astept sa va inscrieti si sa deveniti moderatori. Oricine este binevenit aici sa se inscrie si sa aiba acces la informatie free! Fiecare este liber sa adauge proiecte programe free etc. Ajutati acest forum sa devina o comunitate puternica unde fiecare invata de la fiecare! Tot ce trebuie sa faceti este sa va inregistrati si fiecare contributie se poate dovedi utila in timp! Forumul este free informatia free dk aveti timp liber ajutati si pe ceilalti si invatati si voi in acelasi timp! Haideti sa facem ceva pt.a ne ajuta intre noi! Cititi regulament postare forum inainte de a posta!
Lista Forumurilor Pe Tematici
Mihai Sprinceana | Inregistrare | Login

POZE MIHAI SPRINCEANA

Nu sunteti logat.
Nou pe simpatie:
Bianca777
Femeie
19 ani
Brasov
cauta Barbat
19 - 61 ani
Mihai Sprinceana / SO Linux&Unix / Functia fchmod (apel sistem) Moderat de Cristy89, Houssey, cr3us, fireratbat, profu.info, sade5000
Autor
Mesaj Pagini: 1
cr3us
Moderator

Inregistrat: acum 16 ani
Postari: 160
chmod, fchmod -  schimba permisiunile unui fisier

Trebuie incluse urmatoarele fisiere header(biblioteca) :

#include <sys/types.h>
#include <sys/stat.h>

Structura generala:


int chmod(const char *path, mode_t mode);
int fchmod(int fildes, mode_t mode); 

-folosit pt. modul unui fisier dat de cale sau referit de campuri atunci cand este schimbat


Specificarea modului pt.fisier:


    S_ISUID
        04000 set user ID on execution
    S_ISGID
        02000 set group ID on execution
    S_ISVTX
        01000 sticky bit
    S_IRUSR (S_IREAD)
        00400 read by owner
    S_IWUSR (S_IWRITE)
        00200 write by owner
    S_IXUSR (S_IEXEC)
        00100 execute/search by owner
    S_IRGRP
        00040 read by group
    S_IWGRP
        00020 write by group
    S_IXGRP
        00010 execute/search by group
    S_IROTH
        00004 read by others
    S_IWOTH
        00002 write by others
    S_IXOTH
        00001 execute/search by others


UID(User ID) al unui proces trebuie sa fie 0 sau trebuie sa se potriveasca cu proprietarul fisierului.

Daca UID al procesului nu este 0 si grupul fisierului nu se potriveste cu group ID S_ISGID va fi dezactivata, dar acest lucru nu va cauza intoarcerea unui mesaj de eroare.



In caz de succes este intoarsa valoarea 0.

In caz de eroare este intoarsa valoarea -1 si este setat un mesaj de eroare corespunzator.

Erori pt chmod:

EPERM -UID efectiv nu se potriveste cu proprietarul fisierului si nu este 0
   
EROFS -nume fisierului se regaseste pe un sistem de fisiere read-only

EFAULT -punctele caii se afla in afara spatiului de adresa accesibil

ENAMETOOLONG -calea este prea lunga

ENOENT -fisierul nu exista

ENOMEM -memorie insuficienta pt.nucleul SO
 
ENOTDIR - o componenta a prefixului caii nu este un director

EACCES - permsiunea de cautare(executie) nu este activata pt. componenta prefixului unei cai

ELOOP -f.multe link-uri simbolice au fost gasite la rezolvarea caii

EIO -error input-output- eroare intrare-iesire


Erori pt. fchmod:

EBADF -campurile nu sunt valide pt.fisierul descriptor fd


_______________________________________
Cr3u$

pus acum 15 ani
   
Pagini: 1  

Mergi la