Portál AbcLinuxu, 23. dubna 2024 17:15


Dotaz: Samba a kontola silných hesel

1.6.2005 14:21 Lesek | skóre: 4
Samba a kontola silných hesel
Přečteno: 85×
Odpovědět | Admin
Zdravím!

Nevíte někdo jestli (a jak) je možné kontrolovat při změně hesla v Sambě jeho sílu? Mám Sambu jako PDC a hesla se synchronizují s Linuxovými. Potřeboval bych, aby ta hesla byla co nejsilnější. Jediné co se mi povedlo je nastavit minimální délku a stáří, jinak nic. Zkoušel jsem se hrabat v souborech z /etc/pam.d a přidávat tam cracklib, ale také neúspěšně. Buď se heslo změní jako bych v těch souborech nic neudělal, nebo skončí s chybou že nemám právo měnit heslo...

Co potřebuji je aby uživatel, který si mění heslo ze stanice s Windows, nemohl zvolit jednoduché heslo, ale musel použít minimálně velká a malá písmena. Díky za odpověď!
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

1.6.2005 15:27 Marv-CZ | skóre: 21
Rozbalit Rozbalit vše Re: Samba a kontola silných hesel
Odpovědět | | Sbalit | Link | Blokovat | Admin
Parametr "check password script" v smb.conf.
1.6.2005 15:34 LC | skóre: 6
Rozbalit Rozbalit vše Re: Samba a kontola silných hesel
Odpovědět | | Sbalit | Link | Blokovat | Admin
lehky nastin:

http://www.root.cz/clanky/centralni-autorizace-sluzeb/

trosku podrobneji:

http://www.deer-run.com/~hal/sysadmin/pam_cracklib.html
Chance favors the prepared mind.
3.6.2005 08:20 Lesek | skóre: 4
Rozbalit Rozbalit vše Re: Samba a kontola silných hesel
Odpovědět | | Sbalit | Link | Blokovat | Admin
Díky, to že to jde nastavit přímo v smb.conf jsem netušil :-) Ty dva linky jsem četl už předtím, ale nepodařilo se mi podle nich uspět :-( Teď tam mám ukázkový script ze Samby + jsem si do něj dopsal kontrolu malých/velkých písmen, čísel a spec. znaků, a zdá se že mi to bude stačit. Díky moc!
3.6.2005 11:43 Jakub Safar
Rozbalit Rozbalit vše Re: Samba a kontola silných hesel
... a muzete ten skript nekam vystavit? pouze pro zajimavost.
3.6.2005 13:26 Lesek | skóre: 4
Rozbalit Rozbalit vše Re: Samba a kontola silných hesel
Klidně, tady je. Ale nebijte mě že to není nejlepší možný způsob:-)

Co jsem doplnil je od "int pocet" zhruba. Zbytek je vzorový script ze Samby.
#include <memory.h>
#include <string.h>
#include <stdlib.h>
#include <stdio.h>
#include <ctype.h>
#include <crack.h>

void usage(char *command) {
	char *c, *comm;

	comm = command;
	while ((c = strrchr(comm, '/')) != NULL) {
		comm = c + 1;
	}

	fprintf(stderr, "Usage: %s -d dictionary\n\n", comm);
	fprintf(stderr, "     -d dictionary file for cracklib\n\n");
	fprintf(stderr, "	The password is expected to be given via stdin.\n\n");
	exit(-1);
}

int main(int argc, char **argv) {
	extern char *optarg;
	int c;

	char f[256];
	char *dictionary = NULL;
	char *password;
	char *reply;

	while ( (c = getopt(argc, argv, "d:")) != EOF){
		switch(c) {
		case 'd':
			dictionary = strdup(optarg);
			break;
		default:
			usage(argv[0]);
		}
	}

	if (dictionary == NULL) {
		fprintf(stderr, "ERR - Wrong Command Line\n\n");
		usage(argv[0]);
	} 

	password = fgets(f, sizeof(f), stdin);

	if (password == NULL) {
		fprintf(stderr, "ERR - Failed to read password\n\n");
		exit(-2);
	}

	reply = FascistCheck(password, dictionary);
	if (reply != NULL) {
		fprintf(stderr, "ERR - %s\n\n", reply);
		exit(-3);
	}else
	{
	int pocet;

	pocet=0;
	char *znak;
	char *dolni="abcdefghijklmnopqrstuvwxyz";
	char *horni="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	char *cisla="1234567890";
	char *special="!@#$%^&*()_+|~";
	 znak = strpbrk (password, dolni);
	  if (znak != NULL)		
      	 pocet++;		
	znak = strpbrk (password, horni);
	  if (znak != NULL)		
      	 pocet++;	
      	 znak = strpbrk (password, cisla);
	  if (znak != NULL)		
      	 pocet++;	
      	 znak = strpbrk (password, special);
	  if (znak != NULL)		
      	 pocet++;	

	 
	 fprintf(stderr, "pocet - %i\n\n", pocet);
	 if (pocet<3)
    exit(-4);
  }
  
	

	exit(0);

}
 

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.