Article View: comp.protocols.appletalk
Article #3593Re: help removing cap password prompt
From: Peter N Lewis
Date: Sun, 20 Dec 1992 11:12
Date: Sun, 20 Dec 1992 11:12
189 lines
6106 bytes
6106 bytes
In article <915@blue.cis.pitt.edu>, ebe+@pitt.edu (Elmer Beachley) wrote:
> How can I eliminate the password prompt when opening a unix connection?
>
> I have a small network and have to give my Mac unix account a password
> because of CAP even tho I wouldn't have done this otherwise.
I'm not sure if this is what you're after, but others may find it useful,
and it might give you somewhere to start. I wanted all my users to have
the same CAP password, since our AppleShare network is secure, and I wanted
to auto mount their AppleShare volume, and have it stay mounted even if
they changed their unix password, so I did the following in afpos.c:
cap/applications/aufs/afpos.c:
#ifdef ULTRIX_SECURITY
/* avoid evaluation order problem */
crypted_password = ultrix_crypt(pwd, p);
if (strcmp(crypted_password, p->pw_passwd) != 0) {
#else ULTRIX_SECURITY
#ifdef NCRPDA
if (p->pw_gid == 100) { /* Use standard password for group user */
crypted_password = "abcdefghijklm";
} else {
crypted_password = p->pw_passwd;
}
if (strcmp(crypt(pwd,crypted_password),crypted_password) != 0) {
#else NCRPDA
if (strcmp(crypt(pwd,p->pw_passwd),p->pw_passwd) != 0) {
#endif NCRPDA
#endif ULTRIX_SECURITY
So all users with gid 100 get the standard password. I can use
AppleShare's "Save name & password" option to have the user's directory
auto mounted on boot, and they don't have to worry about using the Chooser
to log in.
Full diffs follow (which also includes an option to force the username to
lowercase so it behaves the same as AppleShare volumes),
Peter.
diff -c2 afpos.c.orig afpos.c
*** afpos.c.orig Fri Oct 23 11:39:24 1992
--- afpos.c Mon Oct 26 11:47:44 1992
***************
*** 1,6 ****
/*
! * $Author: djh $ $Date: 1992/07/14 11:30:17 $
! * $Header: /mac/src/cap60/applications/aufs/RCS/afpos.c,v 2.27
1992/07/14 11:
30:17 djh Rel djh $
! * $Revision: 2.27 $
*/
--- 1,6 ----
/*
! * $Author: djh $ $Date: 1992/08/01 13:05:17 $
! * $Header: /mac/src/cap60/applications/aufs/RCS/afpos.c,v 2.28
1992/08/01 13:
05:17 djh Rel djh $
! * $Revision: 2.28 $
*/
***************
*** 33,36 ****
--- 33,40 ----
* POSSIBLE DEFINES:
*
+ * NCRPDA
+ * Use stupid passwords instead of real ones to simplify maintenance
+ * and keep passwds seperate from unix ones. NCRPDA is incompatible
+ * with ULTRIX_SECURITY
* NONLXLATE
* Define to turn off translation of \n to \r on line at a time
***************
*** 53,56 ****
--- 57,62 ----
*
* PERMISSIVE_USER_NAME - let the Chooser name be from the gcos field
+ * FORCE_LOWER_NAME - force the input name to lowercase (incompatible
+ * with PERMISSIVE_USER_NAME, which superseeds it)
*
* aux has a couple of "ifdefs".
***************
*** 70,73 ****
--- 76,83 ----
*/
+ /* I'm sure this should be somewhere else, like m4.features or something
*/
+ #define NCRPDA
+ #define FORCE_LOWER_NAME
+
#include <stdio.h>
#include <pwd.h>
***************
*** 82,86 ****
#include <sys/ndir.h>
#else xenix5
! #include <sys/dir.h>
#endif xenix5
#include <sys/stat.h>
--- 92,98 ----
#include <sys/ndir.h>
#else xenix5
! # ifndef drsnx
! # include <sys/dir.h>
! # endif drsnx
#endif xenix5
#include <sys/stat.h>
***************
*** 165,168 ****
--- 177,186 ----
#endif USEGETMNT
+ #ifdef drsnx
+ # ifdef USESTATFS
+ # undef USESTATFS /* ICL DRS/NX statfs() is a little different */
+ # endif USESTATFS
+ #endif drsnx
+
#include <netat/afp.h>
#include <netat/afpcmd.h> /* flags should be in misc */
***************
*** 183,186 ****
--- 201,207 ----
#include <ctype.h>
#endif PERMISSIVE_USER_NAME
+ #ifdef FORCE_LOWER_NAME
+ #include <ctype.h>
+ #endif FORCE_LOWER_NAME
#ifdef ULTRIX_SECURITY
***************
*** 3055,3058 ****
--- 3076,3083 ----
char *ultrix_crypt();
char *crypted_password;
+ #else ULTRIX_SECURITY
+ #ifdef NCRPDA
+ char *crypted_password;
+ #endif NCRPDA
#endif ULTRIX_SECURITY
#ifdef LWSRV_AUFS_SECURITY
***************
*** 3060,3063 ****
--- 3085,3091 ----
int namlen;
#endif LWSRV_AUFS_SECURITY
+ #ifdef FORCE_LOWER_NAME
+ int i;
+ #endif FORCE_LOWER_NAME
extern int nousrvol;
***************
*** 3064,3067 ****
--- 3092,3103 ----
safedebug = (DBOSI || (getuid() != 0 && geteuid() != 0));
+ #ifdef FORCE_LOWER_NAME
+ if (uam != UAM_ANON) {
+ for (i = 0 ; nam[i] ; i++)
+ if (isupper(nam[i]))
+ nam[i] = tolower(nam[i]);
+ }
+ #endif
+
logit(0,"Login requested for %s (we are %srunning as root)",
(uam == UAM_ANON) ? "<anonymous>" : nam,
***************
*** 3152,3156 ****
--- 3188,3201 ----
if (strcmp(crypted_password, p->pw_passwd) != 0) {
#else ULTRIX_SECURITY
+ #ifdef NCRPDA
+ if (p->pw_gid == 100) { /* Use standard password for group user */
+ crypted_password = "abcdefghijklm";
+ } else {
+ crypted_password = p->pw_passwd;
+ }
+ if (strcmp(crypt(pwd,crypted_password),crypted_password) != 0) {
+ #else NCRPDA
if (strcmp(crypt(pwd,p->pw_passwd),p->pw_passwd) != 0) {
+ #endif NCRPDA
#endif ULTRIX_SECURITY
logit(0,"Login: Incorrect password for user %s",nam);
_______________________________________________________________________
Peter N Lewis <peter@ncrpda.curtin.edu.au> Ph: +61 9 368 2055
Technical Details
Message-ID:
<peter-201292190603@rocky.curtin.edu.au>Path:
arc1-ca.pugleaf.net!sparky!uunet!munnari.oz.au!uniwa!cujo!ncrpda.curtin.edu.au!rocky.curtin.edu.au!userReferences:
<915@blue.cis.pitt.edu>Show Full Headers
Complete Article Headers
Newsgroups: comp.protocols.appletalk Path: arc1-ca.pugleaf.net!sparky!uunet!munnari.oz.au!uniwa!cujo!ncrpda.curtin.edu.au!rocky.curtin.edu.au!user From: peter@ncrpda.curtin.edu.au (Peter N Lewis) Subject: Re: help removing cap password prompt Message-ID: <peter-201292190603@rocky.curtin.edu.au> Followup-To: comp.protocols.appletalk Lines: 189 Sender: news@ncrpda.curtin.edu.au Nntp-Posting-Host: ncrpda.curtin.edu.au Organization: NCRPDA, Curtin University References: <915@blue.cis.pitt.edu> Date: Sun, 20 Dec 1992 11:12:47 GMT