導航:首頁 > 操作系統 > linux隨機字元串

linux隨機字元串

發布時間:2023-02-28 18:51:35

linux字元設備驅動的組成

在Linux中,字元設備驅動由如下幾個部分組成。
1.字元設備驅動模塊載入與卸載函數
在字元設備驅動模塊載入函數中應該實現設備號的申請和cdev的注冊,而在卸載函數中應實現設備號
的釋放和cdev的注銷。
Linux內核的編碼習慣是為設備定義一個設備相關的結構體,該結構體包含設備所涉及的cdev、私有
數據及鎖等信息。2.字元設備驅動的file_operations結構體中的成員函數
file_operations結構體中的成員函數是字元設備驅動與內核虛擬文件系統的介面,是用戶空間對Linux
進行系統調用最終的落實者。設備驅動的讀函數中,filp是文件結構體指針,buf是用戶空間內存的地址,該地址在內核空間不宜直
接讀寫,count是要讀的位元組數,f_pos是讀的位置相對於文件開頭的偏移。
設備驅動的寫函數中,filp是文件結構體指針,buf是用戶空間內存的地址,該地址在內核空間不宜直
接讀寫,count是要寫的位元組數,f_pos是寫的位置相對於文件開頭的偏移。
由於用戶空間不能直接訪問內核空間的內存,因此藉助了函數_from_user()完成用戶空間緩沖
區到內核空間的復制,以及_to_user()完成內核空間到用戶空間緩沖區的復制,見代碼第6行和第14
行。
完成內核空間和用戶空間內存復制的_from_user()和_to_user()的原型分別為:
unsigned long _from_user(void *to, const void _ _user *from, unsigned long count);
unsigned long _to_user(void _ _user *to, const void *from, unsigned long count);
上述函數均返回不能被復制的位元組數,因此,如果完全復製成功,返回值為0。如果復制失敗,則返
回負值。如果要復制的內存是簡單類型,如char、int、long等,則可以使用簡單的put_user()和
get_user()讀和寫函數中的_user是一個宏,表明其後的指針指向用戶空間,實際上更多地充當了代碼自注釋的
功能。內核空間雖然可以訪問用戶空間的緩沖區,但是在訪問之前,一般需要先檢查其合法性,通過
access_ok(type,addr,size)進行判斷,以確定傳入的緩沖區的確屬於用戶空間。

❷ linux shadow 文件內容 用戶名 密碼 顯示

shadow 是 passwd 的影子文件。

linux中,口令文件在/etc/passwd中,早期的這個文件直接存放加密後的密碼,前兩位是"鹽"值,是一個隨機數,後面跟的是加密的密碼。為了
安全,現在的linux都提供了 /etc/shadow這個影子文件,密碼放在這個文件裡面,並且是只有root可讀的。
/etc/passwd文件的每個條目有7個域,分別是名字:密碼:用戶id:組id:用戶信息:主目錄:shell
例如:ynguo:x:509:510::/home/ynguo:/bin/bash
在利用了shadow文件的情況下,密碼用一個x表示,普通用戶看不到任何密碼信息。影子口令文件保存加密的口令;/etc/passwd文件中的密碼全部變成x。Shadow只能是root可讀,從而保證了安全。
/etc/shadow文件每一行的格式如下:用戶名:加密口令:上一次修改的時間(從1970年1月1日起的天數):口令在兩次修改間的最小天數:口令修改之前向用戶發出警告的天數:口令終止後賬號被禁用的天數:從1970年1月1日起賬號被禁用的天數:保留域。
例如:root:$1$t4sFPHBq$JXgSGgvkgBDD/D7FVVBBm0:11037:0:99999:7:-1:-1:1075498172

下面為test用戶設置密碼,執行如下命令
passwd test
[root@localhost etc]# passwd test
Changing password for user test.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
[root@localhost etc]#
然後進入/etc/shadow文件下面可以看到如下信息
gdm:!!:14302:0:99999:7:::
hzmc:$1$JZMjXqxJ$bvRpGQxbuRiEa86KPLhhC1:14302:0:99999:7:::
mysql:!!:14315:0:99999:7:::
chenhua:$1$YBJZNyXJ$BnpKFD58vSgqzsyRO0ZeO1:14316:0:99999:7:::
test:$1$hKjqUA40$OelB9h3UKOgnttKgmRpFr/:14316:0:99999:7:::
可以發現,共有9個欄目
(1):帳號名稱
(2):密碼:這里是加密過的,但高手也可以解密的。要主要安全問題(代!符號標識該帳號不能用
來登錄)
(3):上次修改密碼的日期
(4):密碼不可被變更的天數
(5):密碼需要被重新變更的天數(99999表示不需要變更)
(6):密碼變更前提前幾天警告
(7):帳號失效日期
(8):帳號取消日期
(9):保留條目,目前沒用

Unix
系統最初是用明文保存密碼的,後來由於安全的考慮,採用crypt()演算法加密密碼並存放在/etc/passwd文件。現在,由
於計算機處理能力的提高,使密碼破解變得越來越容易。/etc/passwd文件是所有合法用戶都可訪問的,大家都可互相看到密碼的加密字元串,這給系統
帶來很大的安全威脅。現代的Unix系統使用影子密碼系統,它把密碼從/etc/pa
sswd文件中分離出來,真正的密碼保存在/etc/shadow文件中,shadow文件只能由超級用戶訪問。這樣入侵者就不能獲得加密密碼串,用於破

解。使用shadow密碼文件後,/etc/passwd文件中所有帳戶的password域的內容為"x",如果password域的內容為"*",則
該帳號被停用。使用passwd這個程序可修改用戶的密碼。

閱讀全文

與linux隨機字元串相關的資料

熱點內容
同態加密gpu 瀏覽:216
程序員告訴你網賭為什麼贏不了 瀏覽:971
程序員最帥操作 瀏覽:72
雲伺服器可以隨時更換嗎 瀏覽:489
老款車在哪裡可以買到app 瀏覽:460
程序員事業單位 瀏覽:68
特來電需要用哪個App 瀏覽:881
電腦如何共享其他伺服器 瀏覽:260
php網站性能優化 瀏覽:354
被子收納袋壓縮真空 瀏覽:30
h1z1選什麼伺服器 瀏覽:484
蘋果版三國殺怎麼在安卓上下載 瀏覽:728
安潤國際app在哪裡下載 瀏覽:438
iospdf教程下載 瀏覽:332
加密貨幣換手率300表示什麼 瀏覽:727
手機wps新建文件夾存照片 瀏覽:399
單片機rgbled 瀏覽:963
怎麼通過文件加密後發給微信好友 瀏覽:90
用虛擬機編程 瀏覽:821
公司代理伺服器有什麼要求 瀏覽:244