python 進行linux 使用者驗證

2021-06-09 21:03:59 字數 744 閱讀 1158

用python 程式進行linux 使用者驗證,需要具備兩個人條件:

1、獲取待驗證使用者相應密碼加密用的 salt(salt可理解為加密金鑰)

salt在 /etc/shadow  檔案中(詳情請參見),以使用者zero為例:

zero:$6$f3mzhurv$

1gcuhkgsdizzfjagozfqrimfbu7xejrsj28yoa5vf.v9hwvhanfiotl/i9lmzed4hujfmwmiz33nk.ysyim9j/:15530:0:99999:7:::

則$6$f3mzhurv$ 為使用者zero的密碼加密用的 salt。綠色部分為加密後的密碼

2、用python根據密碼明文 和 salt 生成加密密碼

import crypt

print (crypt.crypt('12345678','$6$f3mzhurv$'))

crypt函式兩個引數:第乙個引數 是 密碼明文,第二個是 使用者用的加密salt

輸出結果為:$6$f3mzhurv$1gcuhkgsdizzfjagozfqrimfbu7xejrsj28yoa5vf.v9hwvhanfiotl/i9lmzed4hujfmwmiz33nk.ysyim9j/

3、待解解決問題

/etc/shadow 檔案只有root許可權的使用者才能讀取,所以python獲取 shadow檔案中的salt 難點在於,要使python程式具有root許可權。

如何獲取懇請高手賜教,謝謝!

利用rsyslog 對Linux使用者進行審計

要審計使用者執行的命令,在系統本地執行的話,比較簡單。修改histtimeformat變數即可,比如 export histtimeformat f t who am i 但是簡單的依賴.bash history 或 script 是不可靠的,兩者雖然記錄了使用者行為,但是可能被使用者篡改和清除。r...

linux下進行Python的安裝

如果你正在使用乙個linux的發行版比如fedora或者mandrake或者其他 你的選擇 或者乙個bsd系統比如freebsd,那麼你可能已經在你的系統裡安裝了python。要測試你是否已經隨著你的linux包安裝了python,你可以開啟乙個shell程式,然後輸入如下所示的命令python v...

使用Spring Security進行使用者許可權控制

系統比較簡單,所以只有使用者表,角色表和域表,沒有許可權表.各個域的使用者是隔離的,因為前後端分離,控制起來格外不方便,不過好歹是用filter實現了,bug還很多改天再說.現在的問題就是登入 前端獲取登入使用者以及許可權攔截 其中比較花時間的是使用者登入.登入可以使用authenticationp...