學習筆記 關於pam模組的應用(雙因子認證)

2021-10-07 08:16:59 字數 1615 閱讀 5799

如何開發自己的pam 模組:

1、首先要編寫.c檔案,封裝進入pam庫

touch    my_syz.c

vim my_syz.c

下邊為.c檔案的內容

pam_extern int pam_sm_setcred( pam_handle_t *pamh, int flags, int argc, const char **ar** )

/* this function is ripped from pam_unix/support.c, it lets us do io via pam */

int converse( pam_handle_t *pamh, int nargs, struct pam_message **message, struct pam_response **response )

return retval ;

}pam_extern int pam_sm_authenticate( pam_handle_t *pamh, int flags,int argc, const char **ar** )

/*[email protected],code start here!*/

/* setting up conversation call prompting for one-time code */

pmsg[0] = &msg[0] ;

msg[0].msg_style = pam_prompt_echo_on ;

msg[0].msg = "pin: " ;

/*variable resp used to recive keyboard input*/

resp = null ;

if( (retval = converse(pamh, 1 , pmsg, &resp))!=pam_success )

/* retrieving user input,give pin to variable input */

if( resp )

input = resp[ 0 ].resp;

resp[ 0 ].resp = null;

} else

/* comparing user input with known code */

if( strcmp(input, pin)==0 ) else

/* we shouldn't read this point, but if we do, we might as well return something bad */

return pam_auth_err ;}

2、編譯so

:gcc

pam_mylogin.c

-fpic

-shared -o

pam_mylogin.so

3、將so拷貝到

/lib64/security/

4、vim /

etc/

pam.d/su

在第一行加入

auth

required

pam_mylogin.so

測試:使用

su命令切換使用者進行測試

上述雙因子認證是固定死的,先輸入固定的pin,然後再輸入自己的密碼。          

關於simulin中的向量mux模組應用和其它

1.首先說一下mux模組的訊號編號規則,如下圖 反正就是按照從上往下的規則去排序。2.當乙個示波器接入多個訊號時,分不清示波器上哪條對應哪個訊號時 a,你可以把訊號分開來用示波器去測 b,或者一般情況是,按照黃紫藍的順序排列,對應輸入訊號1,訊號2,訊號3.3.在封裝子系統之後,注意在編輯引數介面,...

關於雙端佇列優化多重揹包問題的學習筆記

problem 有n種物品,它們的重量和價值分別是wi和vi。現在要從中選出一些物品使得總重量不超過w,並且價值的和最大。第i種物品最多取mi個。暴力演算法分析 三重迴圈列舉物品,揹包容量,物品個數。效率為o nw mi 組合數優化 如果用1,2.2 k的組合來表示0到0 2 k 1 1的所有整數的...

python算術模組的學習筆記

cmath模組 import cmath z 1 2j a,b cmath.polar z a,b 2.23606797749979,1.1071487177940904 cmath.rect a,b 1.0000000000000002 2j tmp complex round c.real,2 ...