setnetgrent(3) Library Functions Manual setnetgrent(3)

setnetgrent, endnetgrent, getnetgrent, getnetgrent_r, innetgr - gestionează intrările grupului de rețele

Biblioteca C standard (libc, -lc)

#include <netdb.h>
int setnetgrent(const char *netgroup);
void endnetgrent(void);
int getnetgrent(char **restrict host,
            char **restrict user, char **restrict domain);
int getnetgrent_r(char **restrict host,
            char **restrict user, char **restrict domain,
            char buf[restrict .buflen], size_t buflen);
int innetgr(const char *netgroup, const char *host,
            const char *user, const char *domain);
Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

setnetgrent(), endnetgrent(), getnetgrent(), getnetgrent_r(), innetgr():

    Începând cu glibc 2.19:
        _DEFAULT_SOURCE
    glibc 2.19 și versiunile anterioare:
        _BSD_SOURCE || _SVID_SOURCE

netgroup este o invenție SunOS. O bază de date netgroup este o listă de șiruri triple (hostname, username, domainname) sau alte nume de netgroup. Oricare dintre elementele unui triplu poate fi gol, ceea ce înseamnă că orice se potrivește. Funcțiile descrise aici permit accesul la bazele de date netgroup. Fișierul /etc/nsswitch.conf definește ce bază de date este căutată.

Apelul setnetgrent() definește grupul de rețea care va fi căutat de apelurile ulterioare getnetgrent(). Funcția getnetgrent() recuperează următoarea intrare în netgroup și returnează indicatori în host, user, domain. Un indicator null înseamnă că intrarea corespunzătoare corespunde oricărui șir de caractere. Indicatorii sunt valabili numai atâta timp cât nu există un apel la alte funcții legate de netgroup. Pentru a evita această problemă, puteți utiliza funcția GNU getnetgrent_r() care stochează șirurile de caractere în memoria tampon furnizată. Pentru a elibera toate memoriile tampon alocate, utilizați endnetgrent().

În cele mai multe cazuri, doriți să verificați doar dacă tripletul (hostname, username, domainname) este membru al unui netgroup. Funcția innetgr() poate fi utilizată în acest scop fără a apela cele trei funcții de mai sus. Din nou, un indicator null este un metacaracter (caracter Jocker) și se potrivește cu orice șir de caractere. Funcția este sigură pentru fire de execuție.

Aceste funcții returnează 1 în caz de succes și 0 în caz de eșec.

/etc/netgroup
/etc/nsswitch.conf

Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).

Interfață Atribut Valoare
setnetgrent(), getnetgrent_r(), innetgr() Siguranța firelor MT-Unsafe race:netgrent locale
endnetgrent() Siguranța firelor MT-Unsafe race:netgrent
getnetgrent() Siguranța firelor MT-Unsafe race:netgrent race:netgrentbuf locale

În tabelul de mai sus, netgrent din race:netgrent semnifică faptul că, dacă oricare dintre funcțiile setnetgrent(), getnetgrent_r(), innetgr(), getnetgrent() sau endnetgrent() sunt utilizate în paralel în diferite fire de execuție ale unui program, atunci pot apărea competiții de utilizare a datelor.

În implementarea BSD, setnetgrent() returnează void.

Niciunul.

setnetgrent(), endnetgrent(), getnetgrent() și innetgr() sunt disponibile pe majoritatea sistemelor UNIX. getnetgrent_r() nu este disponibilă pe scară largă pe alte sisteme.

sethostent(3), setprotoent(3), setservent(3)

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

31 octombrie 2023 Pagini de manual de Linux 6.06