.\" {PTM/WK/1999-09-15} .\" Copyright 1992 - 1993, Julianne Frances Haugh .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. Neither the name of Julianne F. Haugh nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY JULIE HAUGH AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL JULIE HAUGH OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" $Id: pw_auth.3,v 1.1 1999/09/16 07:11:23 wojtek2 Exp $ .\" .TH PWAUTH 3 .SH NAZWA pwauth \- procedury uwierzytelniania haseł zdefiniowane przez administratora .SH SKŁADNIA .B #include .PP .B int pw_auth (char .I *command, .B char .I *user, .B int .I reason, .B char .IB *input) ; .SH OPIS .B pw_auth wywołuje funkcje zdefiniowane przez administratora dla danego użytkownika. .PP \fIcommand\fR jest nazwą programu uwierzytelniania (autentykacji). Jest ona otrzymywana z informacji zawartej pliku haseł użytkowników. Odpowiedni łańcuch (z pola hasła) zawiera jedną lub więcej, rozdzielonych średnikami, nazw plików wykonywalnych. Programy zostaną wykonane w zadanej kolejności. Dla każdej z przyczyn (reason) podanych niżej podane są argumenty wiersza poleceń. .PP \fIuser\fR jest nazwą sprawdzanego użytkownika, w postaci podanej w pliku \fI/etc/passwd\fR. Pozycje opisujące użytkowników indeksowane są nazwą użytkownika. Pozwala to na istnienie powtarzających się identyfikatorów (UID). Każda z różnych nazw użytkownika o tym samym identyfikatorze może posiadać inny program i informację autentykującą. .PP Każda z dopuszczalnych przyczyn autentykacji obsługiwana jest w potencjalnie różny sposób. Do komunikacji z użytkownikiem dostępne są standardowe deskryptory plików 0, 1 i 2, chyba że wspomniano inaczej. Do ustalenia tożsamości użytkownika wykonującego żądanie uwierzytelnienia może zostać użyty rzeczywisty identyfikator. Przyczyna (\fIreason\fR) jest jedną z .IP \fBPW_SU\fR 1i Wykonaj uwierzytelnienie dla bieżącego rzeczywistego identyfikatora użytkownika próbując przełączyć rzeczywisty ID na podanego użytkownika. Program uwierzytelniający zostanie wywołany z opcją \fB-s\fR poprzedzającą nazwę użytkownika. .IP \fBPW_LOGIN\fR 1i Wykonaj uwierzytelnienie dla danego użytkownika tworząc nową sesję pracy (loginową). Program uwierzytelniający zostanie wywołany z opcją \fB-l\fR, po której wystąpi nazwa użytkownika. .IP \fBPW_ADD\fR 1i Utwórz nowy wpis dla danego użytkownika. Pozwala to programowi uwierzytelniania na zainicjowanie miejsca dla nowego użytkownika. Program zostanie wywołany z opcją \fB-a\fR, po której wystąpi nazwa użytkownika. .IP \fBPW_CHANGE\fR 1i Zmień istniejący wpis dla danego użytkownika. Pozwala to na programowi uwierzytelniającemu na zmianę informacji autentykującej dla istniejącego użytkownika. Program zostanie wywołany z opcją \fB-c\fR poprzedzającą nazwę użytkownika. .IP \fBPW_DELETE\fR 1i Usuń informację autentykującą dla danego użytkownika. Pozwala programowi uwierzytelniania na odzyskanie miejsca po użytkowniku, który nie będzie już identyfikowany przy użyciu tego programu. Program uwierzytelniania zostanie wywołany z opcją \fB-d\fR, po której wystąpi nazwa użytkownika. .IP \fBPW_TELNET\fR 1i Wykonaj uwierzytelnianie użytkownika podłączającego się do systemu przy pomocy polecenia \fBtelnet\fR. Program zostanie wywołany z opcją \fB-t\fR, po której wystąpi nazwa użytkownika. .IP \fBPW_RLOGIN\fR 1i Wykonaj uwierzytelnienie użytkownika podłączającego się do systemu przy pomocy polecenia \fBrlogin\fR. Program zostanie wywołany z opcją \fB-r\fR, po której wystąpi nazwa użytkownika. .IP \fBPW_FTP\fR 1i Wykonaj uwierzytelnienie użytkownika podłączającego się do systemu przy pomocy polecenia \fBftp\fR. Program uwierzytelniania zostanie wywołany z opcją \fB-f\fR, po której wystąpi nazwa użytkownika. Do komunikacji z użytkownikiem NIE są dostępne standardowe deskryptory plików. Deskryptor standardowego wejścia zostanie podłączony do procesu macierzystego, zaś pozostałe dwa deskryptory plików dostaną podłączone do \fI/dev/null\fR. Funkcja \fBpw_auth\fR będzie potokować pojedynczy wiersz danych do programu uwierzytelniania posługując się deskryptorem 0. .IP \fBPW_REXEC\fR 1i Wykonaj uwierzytelnienie użytkownika podłączającego się do systemu przy pomocy polecenia \fIrexec\fR. Program zostanie wywołany z opcją \fB-x\fR, po której wystąpi nazwa użytkownika. Do komunikacji ze zdalnym użytkownikiem NIE są dostępne standardowe deskryptory plików. Deskryptor standardowego wejścia zostanie podłączony do procesu macierzystego, zaś pozostałe dwa deskryptory plików dostaną podłączone do \fI/dev/null\fR. Funkcja \fBpw_auth\fR będzie potokować pojedynczy wiersz danych do programu uwierzytelniania posługując się deskryptorem 0. .PP Ostatni argument stanowi dane autentykacji, używane przez .B PW_FTP oraz .B PW_REXEC Jest on traktowany jak pojedynczy wiersz tekstu potokowany do programu uwierzytelniającego. Dla .B PW_CHANGE wartość \fIinput\fR jest wartością poprzedniej nazwy użytkownika, jeśli zmieniana jest nazwa. .SH PRZESTROGI Funkcja ta nie tworzy faktycznej sesji. Wskazuje jedynie, czy użytkownik powinien otrzymać zezwolenie na jej utworzenie. .PP Obecnie opcje sieciowe nie są jeszcze przetestowane. .SH DIAGNOSTYKA Funkcja \fBpw_auth\fR zwraca 0 jeśli program uwierzytelniania zakończył działanie z zerowym kodem powrotu, w przeciwnym wypadku wartość niezerową. .SH ZOBACZ TAKŻE .BR login (1), .BR passwd (1), .BR su (1), .BR useradd (8), .BR userdel (8), .BR usermod (8) .SH AUTOR Julianne Frances Haugh (jfh@austin.ibm.com)