⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 auth.h

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 H
字号:
/* @(#)auth.h	4.2	(ULTRIX)	8/7/90 *//************************************************************************ *									* *			Copyright (c) 1988, 1989, 1990 by		* *		Digital Equipment Corporation, Maynard, MA		* *			All rights reserved.				* *									* *   This software is furnished under a license and may be used and	* *   copied  only  in accordance with the terms of such license and	* *   with the  inclusion  of  the  above  copyright  notice.   This	* *   software  or  any  other copies thereof may not be provided or	* *   otherwise made available to any other person.  No title to and	* *   ownership of the software is hereby transferred.			* *									* *   The information in this software is subject to change  without	* *   notice  and should not be construed as a commitment by Digital	* *   Equipment Corporation.						* *									* *   Digital assumes no responsibility for the use  or  reliability	* *   of its software on equipment which is not supplied by Digital.	* *									* ************************************************************************//* * Description: * * Definitions for manipulating the Authorization Data-Base. */#ifndef	_AUTH_H#define	_AUTH_H#ifndef	TRUSTED_MASK_LEN#include <sys/audit.h>#endif#define	MAX_PASSWORD_LENGTH	16#define	CRYPT_PASSWORD_LENGTH	26#define	DEFAULT_PASS_EXP	(60*24*60*60)#define	DEFAULT_ACCT_PRIVS	0#define	INITIAL_PASSWORD	"Nologin"#define	MAX_PRIVS		96#define	MAX_AUDITS		(SYSCALL_MASK_LEN+TRUSTED_MASK_LEN)*8#define	DENY			0#define	ALLOW			1#define	AUTHORIZATION_DB	"/etc/auth"typedef long UID;typedef unsigned char PASSWORD[MAX_PASSWORD_LENGTH+1];typedef char CRYPT_PASSWORD[CRYPT_PASSWORD_LENGTH+1];typedef long TIME;typedef unsigned short AUTH_MASK;typedef unsigned char PRIVILEGE_MASK[(MAX_PRIVS+7)/8];typedef int PRIVILEGE;typedef unsigned short FAIL_COUNT;typedef int AUDIT;typedef unsigned long AUDIT_ID;typedef unsigned char AUDIT_CONTROL;typedef unsigned char AUDIT_MASK[(MAX_AUDITS+7)/8];/* * The authorization record as it's stored in the ADB and passed in * the subroutine calls. */struct authorization {	UID		a_uid;	char		a_password[CRYPT_PASSWORD_LENGTH];	TIME		a_pass_mod;	TIME		a_pw_minexp;	TIME		a_pw_maxexp;	AUTH_MASK	a_authmask;	FAIL_COUNT	a_fail_count;	struct audit_struct {		AUDIT_ID	audit_id;		AUDIT_CONTROL	audit_control;		AUDIT_MASK	audit_mask;	} a_audit;	PRIVILEGE_MASK	a_privs;};typedef struct authorization AUTHORIZATION;#define	a_audit_id	a_audit.audit_id#define	a_audit_control	a_audit.audit_control#define	a_audit_mask	a_audit.audit_mask#define	A_LOGIN			1	/* Privilege to log in */#define	A_CHANGE_PASSWORD	2	/* Privilege to change password */#define	A_ENTER_PASSWORD	4	/* Non-auto-gen passwords accepted */#define	A_EBADPASS		1001	/* Failed password authentication */#define	A_ESOFTEXP		1002	/* Soft expired password */#define	A_EHARDEXP		1003	/* Hard expired password */#define	A_ENOLOGIN		1004	/* Account disabled */#define	A_EOPENLINE		1005	/* Non secure communications line */#if	__STDC__==1AUTHORIZATION *getauthuid(int);int endauthent(void), storeauthent(AUTHORIZATION *);void setauthfile(char *);#elseAUTHORIZATION *getauthuid();int endauthent(), storeauthent();void setauthfile();#endif	/* __STDC__ */#endif	/* _AUTH_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -