IT貓撲網:您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉貼|軟件發(fā)布

您當前所在位置: 首頁操作系統(tǒng)LINUX → linux控制用戶的登錄地點以及PAM的用法

linux控制用戶的登錄地點以及PAM的用法

時間:2015-06-28 00:00:00 來源:IT貓撲網 作者:網管聯(lián)盟 我要評論(0)

  控制用戶的登錄地點

  文件/etc/secruity/access.conf可控制用戶登錄地點,為了使用access.conf,必須在文件/etc/pam.d/login中加入下面行:

  account required /lib/security/pam_access.so

  access.conf文件的格式:

  permission : users : origins

  其中:

  permission:可以是 "+"或"-",表示允許或拒絕。

  user:可以是用戶名、用戶組名,如果是all則表示所有用戶。

  origins:登錄地點。local表示本地,all表示所有地點,console表示控制臺。另外,origins也可以是某一網絡。

  后面兩個域中加上 except是"除了"的意思。例如:除了用戶wheel、shutdown、sync禁止所有的控制臺登錄:

  -:ALL EXCEPT wheel shutdown sync:console

  root賬戶的登錄地點不在access.conf文件中控制,而是由/etc/securetty文件控制。

  必須保證/etc/pam.d/login有下面這行:

  auth required???? pam_securetty.so

  etc/securetty文件指定了允許root登錄的tty設備,由/bin/login程序讀取,其格式是一個被允許的名字列表,你可以編輯/etc/securetty且注釋掉如下的行。

  # tty2

  # tty3

  # tty4

  # tty5

  # tty6

  這時,root僅可在tty1終端登錄。

  關于PAM的一些解釋

  熱身:

  何要授予用戶特權的程序都要能夠進行用戶認證。當您登入系統(tǒng)時,您需要提供用戶名和口令,而后登入進程據(jù)此以檢驗登入的合法性---確認您就是該用戶。還有除口令認證之外的其他認證形式,而且口令的存儲方式也是各不相同的。

  1、說明

  A、PAM可加載目標文件(模塊)是在RedHat Linux系統(tǒng)中它們被放在了/lib/security目錄下

  B、PAM庫本地系統(tǒng)配置文件/etc/pam.conf OR /etc/pam.d/目錄下的一些配置文件來設置

  2、# more login

  #%PAM-1.0

  auth required???? pam_securetty.so

  用來控制root用戶只可以從包含在/etc/securetty文件中的終端登錄系統(tǒng)。

  auth required???? pam_stack.so service=system-auth

  auth required???? pam_nologin.so

  提供標準的UNIX nologin登錄認證。如果/etc/nologin文件存在,則只有root用戶可以登錄,其他用戶登錄時只會得到/etc/nologin文件的內容。如果/etc/nologin不存在,則該模塊沒有作用。

  account??? required???? pam_stack.so service=system-auth

  password?? required???? pam_stack.so service=system-auth

  # pam_selinux.so close should be the first session rule

  session??? required???? pam_selinux.so close

  session??? required???? pam_stack.so service=system-auth

  session??? optional???? pam_console.so

  # ls -l /dev/pts/1

  crw--w---- 1 root tty 136, 1 May 15 21:19 /dev/pts/1

  # ls -l /dev/pts/2

  crw--w---- 1 test tty 136, 2 May 15 21:20 /dev/pts/2

  用戶登陸時,它將TTY設備權限改成該用戶所有,當用戶退出時,將TTY設備權限改為root所有。

  # pam_selinux.so open should be the last session rule

  session??? required???? pam_selinux.so multiple open

  login要做兩件事,首先查詢用戶,然后為用戶提供所需服務,例如提供一個shell程序。

  通常,login會提示用戶輸入密碼。然后對密碼進行校驗,這項任務就是Linux-PAM完成的。

  上 例中三個required連續(xù)使用, 即便第一個模塊失敗了,也要完成三個模塊的校驗。這是一種安全上的考慮 ---這種設計永遠不要讓用戶知道他或她們?yōu)槭裁磿痪芙^,否則會讓其更容易突破認證??梢詫?required"改成"requisite"來修改這種 認證方式。如果有任何"requisite"模塊以失敗返回,整個PAM認證將終止再調用其它模塊也以失敗返回。

  3、pam_unix認證模塊

  所屬類型: account; auth; password; session

  功能描述:該模塊是標準UNIX認證模塊pam_unix的替代模塊。

  在 作為auth類型使用時,此時該模塊可識別的參數(shù)有debug、audit、use_first_pass、try_first_pass、 nullok、nodelay,主要功能是驗證用戶密碼的有效性,在缺省情況下(即不帶任何參數(shù)時),該模塊的主要功能是禁止密碼為空的用戶提供服務;

  auth? required????? /lib/security/$ISA/pam_env.so

  auth? sufficient??? /lib/security/$ISA/pam_unix.so likeauth nullok

  auth? required????? /lib/security/$ISA/pam_deny.so

  在作為account類型使用時,此時該模塊可識別的參數(shù)有debug、audit,該模塊主要執(zhí)行建立用戶帳號和密碼狀態(tài)的任務,然后執(zhí)行提示用戶修改密碼,用戶采用新密碼后才提供服務之類的任務;

  account???? required????? /lib/security/$ISA/pam_unix.so

  account???? sufficient??? /lib/security/$ISA/pam_succeed_if.so uid < 100 quiet

  account???? required????? /lib/security/$ISA/pam_permit.so

  在 作為password類型使用時,此時該模塊可識別的參數(shù)有debug、 audit、 nullok;、not_set_pass、use_authtok、try_first_pass、use_first_pass、md5、 bigcrypt、shadow、nis、

  remember,該模塊完成讓用戶更改密碼的任務;

  password??? requisite???? /lib/security/$ISA/pam_cracklib.so retry=3

  password??? sufficient??? /lib/security/$ISA/pam_unix.so nullok use_authtok md5

  shadow

  password??? required????? /lib/security/$ISA/pam_deny.so

#p#副標題#e#

  在作為session類型使用時,此時該模塊沒有可識別的參數(shù),該模塊僅僅完成記錄用戶名和服務名到日志文件的工作。

  session???? required????? /lib/security/$ISA/pam_limits.so

  session???? required????? /lib/security/$ISA/pam_unix.so

  可帶參數(shù):

  debug:將調試信息寫入日志

  audit:記錄更為信息的信息

  nullok:缺省情況下,如果用戶輸入的密碼為空,則系統(tǒng)能夠不對其提供任何服務。但是如果使用參數(shù),用戶不輸入密碼就可以獲得系統(tǒng)提供的服務。同時,也允許用戶密碼為空時更改用戶密碼。 ?

  nodelay:當用戶認證失敗,系統(tǒng)在給出錯誤信息時會有一個延遲,這個延遲是為了防止。黑客猜測密碼,使用該參數(shù)時,系統(tǒng)將取消這個延遲。通常這是一個1秒鐘的延遲。

  try_first_pass:在用作auth模塊時,該參數(shù)將嘗試在提示用戶輸入密碼前,使用前面一個堆疊的auth模塊提供的密碼認證用戶;在作為password模塊使用時,該參數(shù)是為了防止用戶將密碼更新成使用以前的老密碼。

  use_first_pass:在用作auth模塊時,該參數(shù)將在提示用戶輸入密碼前,直接使用前面一個堆疊的auth模塊提供的密碼認證用戶;在作為password模塊使用時,該參數(shù)用來防止用戶將密碼設置成為前面一個堆疊的password模塊所提供的密碼。

  no_set_pass:使密碼對前后堆疊的password模塊無效。

  use_authok:強制使用前面堆疊的password模塊提供的密碼,比如由pam_cracklib模塊提供的新密碼。

  md5:采用md5對用戶密碼進行加密。

  shadow:采用影子密碼。

  unix:當用戶更改密碼時,密碼被放置在/etc/passwd中。

  bigcrype:采用DEC C2算法加密用戶密碼。

  nis:使用NIS遠處過程調用來設置新密碼。

  remember=x:記錄x個使用過的舊密碼,這些舊密碼以MD5方式加密后被保存在/etc/security/opasswd文件中。

  broken_shadow:在作為account使用時,該參數(shù)用來忽略對影子密碼的讀錯誤。

  likeauth:未知。

  配置實例:

  參考/etc/pam.d/system-auth

  設置密碼中的常見錯誤信息?

  ⑴當用戶輸入的密碼字符數(shù)太少時:

  BAD PASSWORD: it's WAY too short

  ⑵當用戶輸入的密碼相同字符太多時:

  BAD PASSWORD: it does not cont

關鍵詞標簽:linux控制用戶的登錄地

相關閱讀

文章評論
發(fā)表評論

熱門文章 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 Tomcat9.0如何安裝_Tomcat9.0環(huán)境變量配置方法 多種操作系統(tǒng)NTP客戶端配置 多種操作系統(tǒng)NTP客戶端配置 Linux操作系統(tǒng)修改IP Linux操作系統(tǒng)修改IP

相關下載

    人氣排行 Linux下獲取CPUID、硬盤序列號與MAC地址 dmidecode命令查看內存型號 linux tc實現(xiàn)ip流量限制 安裝紅帽子RedHat Linux9.0操作系統(tǒng)教程 linux下解壓rar文件 lcx.exe、nc.exe、sc.exe入侵中的使用方法 Ubuntu linux 關機、重啟、注銷 命令 查看linux服務器硬盤IO讀寫負載