setuserdb ya da endaserdb Subrutine

Amaç

Kullanıcı veritabanını açar ve kapatır.

Kitaplık

Güvenlik Kitaplığı (libc.a)

Sözdizimi

#include <usersec.h>
int setuserdb ( Mode)
int Mode;
int enduserdb ( )

Tanımlama

Bu işlevler, kullanıcı veritabanına erişimi açmak ve bu veritabanına kapatmak için kullanılabilir. getuserattr ya da getgrouppattr alt yordamı olarak çalışan programlar, kullanıcı veritabanını açmak için setuserdb alt yordamını ve kullanıcı veritabanını kapatmak için sonuserdb alt yordamını çağırmalıdır.

setuserdb alt yordamı kullanıcı veritabanını önceden açık değilse, belirtilen kipte açar. Açık sayma 1 artırılır.

endaserdb alt yordamı, açma sayısını 1 azaltır ve bu sayı 0 'a geçtiğinde kullanıcı veritabanını kapatır. Kesinleştirilmemiş değiştirilen veriler kaybedilir.

Parametreler

Öğe Tanımlama
Kip Açık olan kipin kipini belirtir. Bu değiştirge, usersec.h dosyasında tanımlanan aşağıdaki değerlerden birini ya da birkaçını içerebilir:
S_OKU
Okuma erişimini belirtir
S_WRITE
Güncelleme erişimini belirtir.

Dönüş Değerleri

setuserdb ve sonuserdb alt üst çizgileri, başarıyı belirtmek için 0 değerini döndürür. Tersi durumda, -1 değeri döndürülür ve errno genel değişkeni hatayı belirtmek için ayarlanır.

Hata Kodları

Aşağıdaki öğe doğruysa setuserdb alt yordamı başarısız olur:

Öğe Tanımlama
EACCES Veri isteği için erişim izni reddedildi.

Her iki alt yordamlar da diğer alt çerçevelerden gelen hataları döndürür.

Güvenlik

Erişilen Dosyalar: çağıran işlemin kullanıcı verilerine erişmesi gerekir. Erişilen gerçek özniteliklere bağlı olarak bu durum şunları içerebilir:

Öğe Tanımlama
Kipler Dosya
rw /etc/passwd
rw /etc/group
rw /etc/security/user
rw /etc/security/limits
rw /etc/security/group
rw /etc/security/environ