Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

Linux PAM Program/µ¯³ö»ñµÃrootȨÏÞ¶Ô»°¿ò

 Ê²Ã´Ò²²»ÒªËµ£¬ÏÈÀ´Ò»¸ö³ÌÐò°É¡£
/*
×¢ÒâÒªºÍÄãµÄϵͳһÖÂredhatÊÇÕâÑù/etc/pam.d/check_user
auth required /lib/security/pam_unix_auth.so
account required /lib/security/pam_unix_acct.so
1.Èç¹ûÐèÒª³öÏÖÃÜÂ뵯³ö¿ò»¹ÐèÒªÔÚÌí¼Ó
/etc/security/console.apps/check_user
USER=root
PROGRAM=~/check_user #Õâ¸ö·¾¶¾ÍÊÇÏÂÃæ±àÒëºÃºóµÄ·¾¶£¬²»ÄܺÍ3ÖÐ×÷Á´½ÓµÄ·¾¶Ò»Ñù
SESSION=true
2.ÔÙ¶Ô/usr/bin/consolehelper×÷ln
sudo ln -s consolehelper check_user
3.ÕâÑùÔËÐÐ/usr/bin/check_user¾Íʵ¼ÊÔÚµ÷ÓÃconsolehelper£¬ÔÙÈ¥¶ÁÈ¡
/etc/security/console.apps/check_userÀïPROGRAMÉ趨µÄ·¾¶
4.±àÒëʱҪÕâÑù:
gcc check.c -ldl -lpam -lpam_misc -o ~/check_user
*/
#include <security/pam_appl.h>
#include <security/pam_misc.h>
#include <stdio.h>
static struct pam_conv conv = {
 misc_conv, //¶¨ÒåÔÚpam_misc.hÖÐ, ·½±ãÄã±à³Ì
 NULL
};
int main(int argc, char *argv[])
{
 pam_handle_t *pamh=NULL;
 int retval;
 const char *user="root"; //Óû§ÃûÉèÖÃΪϵͳÉϵÄÒ»¸öºÏ·¨Óû§
 if(argc == 2) {
  user = argv[1];
 }
 if(argc > 2) {
  fprintf(stderr, "Usage: check_user [username]\n");
  exit(1);
 }
 retval = pam_start("check_user", user, &conv, &pamh);
 /* ¿ªÊ¼ */
 if (retval == PAM_SUCCESS)
  retval = pam_authenticate(pamh, 0);
 
 /* ÈÏÖ¤ÊDz»ÊǸÃÓû§? ÌáʾÄãÊäÈëÒ»¸öÃÜÂë */
 if (retval == PAM_SUCCESS)
  retval = pam_acct_mgmt(pamh, 0);
 /* Õ˺ÅÊÇ·ñÓÐЧ? */
 if (retval == PAM_SUCCESS) {
  fprintf(stdout, "Authenticated\n");
 } else {
  fprintf(stdout, "Not Authenticated\n");
 }
 if (pam_end(pamh,retval) != PAM_SUCCESS) {
  /* ½áÊø */
  pamh = NULL;
  fprintf(stderr, "check_user: failed to release authenticator\n");
  exit(1);
 }
 return ( retval == PAM_SUCCESS ? 0:1 ); /* indicate success */
}
#gcc check.c -ldl -lpam -lpam


Ïà¹ØÎĵµ£º

ʵսLinux Bluetooth±à³Ì(Áù) L2CAP±à³ÌʵÀý

ÀýÒ»£º·¢ËÍSignaling Packet£º
Signaling CommandÊÇ2¸öBluetoothʵÌåÖ®¼äµÄL2CAP²ãÃüÁî´«Êä¡£ËùÒÔµÃSignaling CommandʹÓÃCID 0x0001.
¶à¸öCommand¿ÉÒÔÔÚÒ»¸öC-frame£¨control frame£©Öз¢ËÍ¡£
 Èç¹ûÒªÖ±½Ó·¢ËÍSignaling Command.ÐèÒª½¨Á¢SOCK_RAWÀàÐ͵ÄL2CAPÁ¬½ÓSocket¡£ÕâÑù²ÅÓлú»á×Ô¼ºÌî³äCommand Code£¬Identi ......

linuxÍøÖ·¾«Ñ¡

 linuxÍøÖ·¾«Ñ¡
http://hi.baidu.com/digast/blog/item/31cd94efba1348ebcf1b3ed3.html
2008-04-01 14:57
¹úÍâ
¡¡¡¡http://lwn.net/
¡¡¡¡http://www.tldp.org/
¡¡¡¡https://rhn.redhat.com
¡¡¡¡http://www.justlinux.com/
¡¡¡¡http://www.linuxtoday.com/
¡¡¡¡http://www.linuxquestions.org/
¡¡¡¡http://ww ......

ºìñÆóÒµLinux»ù´¡¸ÅÊö£¨RH033£©

 ³ÉΪһÃûÓÅÐãµÄºìñÆóÒµLinuxÓû§£¬¿ÉÒÔʹÓúͶ¨ÖÆÒ»¸öºìñϵͳÀ´½øÐÐÆÕͨÃüÁîÐд¦ÀíºÍÌá¸ß×ÀÃæÏµÍ³µÄÉú²úÁ¦£¬ÎªÑ§Ï°ÏµÍ³¹ÜÀí£¨RH131£©¿Î³Ì×öºÃ³ä·ÖµÄ×¼±¸¡£
   ±¾¿Î³ÌÊʺÏLinux ÐÂÊÖÒÔ¼°ÒÔǰûÓÐʹÓÃLinux »ò UNIX ÃüÁîÐеľ­Ñ飬ÏëÕÆÎÕºÍÁ·Ï°Ê¹ÓúͿØÖÆLinuxϵͳËùÐè»ù±¾¼¼ÄܵÄÓû§¡£
Ö÷ҪĿ±êÎ ......

LinuxÆô¶¯Óë½ø³Ì


²Ù×÷ϵͳÖУ¬Ç°Ì¨½ø³ÌºÍºǫ́½ø³ÌÓÐÊ²Ã´Çø±ð£¿ÌØÕ÷ÊÇʲô£¿
ºǫ́³ÌÐò»ù±¾Éϲ»ºÍÓû§½»»¥£¬ÓÅÏȼ¶±ðÉÔ΢µÍÒ»µã
 Ç°Ì¨µÄ³ÌÐòºÍÓû§½»»¥£¬ÐèÒª½Ï¸ßµÄÏìÓ¦ËÙ¶È£¬ÓÅÏȼ¶±ðÉÔ΢¸ßÒ»µã
Ö±½Ó´Óºǫ́ÊÖ¹¤Æô¶¯Ò»¸ö½ø³ÌÓõñȽÏÉÙһЩ£¬³ý·ÇÊǸýø³ÌÉõΪºÄʱ£¬ÇÒÓû§Ò²²»¼±×ÅÐèÒª½á¹ûµÄʱºò¡£¼ÙÉèÓû§ÒªÆô¶¯Ò»¸öÐèÒª³¤Ê±¼äÔËÐÐ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ