Oturumu Açan Kim?
Önceki XXIX. Oylum - Kullanıcılar ve Gruplar Sonraki
Oturumu Açan Kim?
Bu bölümde açıklanan işlevleri bir süreci çalıştıran kullanıcının ismini saptamakta kullanabilirsiniz. Ayrıca, getuid ailesi işlevlere bakmayı da unutmayın. Bu bilginin sistem tarafından nasıl toplandığı ve artalanda saklanan bu bilgilerin nasıl denetlendiği/eklendiği/silindiği gibi bilgiler ise Kullanıcı Hesapları Veritabanı bölümünde açıklanmıştır.
getlogin işlevi unistd.h başlık dosyasında, cuserid işlevi ile L_cuserid makrosu ise stdio.h başlık dosyasında bildirilmiştir.
char *getlogin
(void)
işlev
getlogin işlevi sürecin denetim uçbiriminde oturum açmış olan kullanıcının ismini içeren bir gösterici ile döner. Bu bilgi saptanamamışsa bir boş gösterici ile döner. Dizge durağan olarak ayrıldığından bu işlevin sonraki çağrılarında veya cuserid işlevinin çağrılmasıyla içeriği değişebilir.
char *cuserid
(char *dizge)
işlev
cuserid işlevi sürecin etkin kullanıcı kimliği ile ilişkili kullanıcı isminini içeren bir dizgeye gösterici ile döner. dizge bir boş gösterici değilse en az L_cuserid karakteri tutabilecek bir dizi olmalıdır. Aksi takdirde durağan alanda ayrılmış bir dizgeye gösterici döner. Bu dizge durağan olarak ayrıldığından bu işlevin sonraki çağrılarında veya getlogin işlevinin çağrılmasıyla içeriği değişebilir.
Bu işlevin kullanılması artık tavsiye edilmemektedir (XPG4.2'de geri çekilmiş olarak imlidir ve POSIX.1'in daha yeni sürümlerinde kaldırılması planlanmıştır.)
int L_cuserid
makro
Kullanıcı isminin saklanacağı dizinin ne kadar uzun olabileceğini belirten bir tamsayı sabittir.
Bu işlevler yazılımınızı çalıştıran kullanıcının kim olduğunu ya da o oturumu açan kullanıcının kim olduğunu saptamanıza yarar. (Bunlar setuid yazılımlarla ilgili olarak bahsedilenlerden farklı olabilir.) Bu işlevleri kandırmak için kullanıcı hiçbir şey yapamaz.
Çoğu amaç için, oturum açan kullanıcıyı saptamak için LOGNAME ortam değişkenine bakmak faydalıdır. Ancak, kullanıcı LOGNAME ortam değişkenini keyfi olarak değiştirebileceğinden bu iyi bir yöntem değildir. Bkz. Standart Ortam Değişkenleri.
Önceki Üst Ana Başlık Sonraki
Setuid Yazılımları Geliştirmek için İpuçları Başlangıç Kullanıcı Hesapları Veritabanı
Bir Linux Kitaplığı Sayfası