歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> Linux資訊 >> 更多Linux >> 訪問控制大師,使用pam來支持login的訪問控制

訪問控制大師,使用pam來支持login的訪問控制

日期:2017/2/27 9:26:48   编辑:更多Linux
  這裡我們需要使用pam_Access。pam_access是pam中處理用戶訪問控制的模塊,沒有使用pam前,Linux對用戶的所有訪問控制都是借助hosts.allow, hosts.deny文件,實現所有服務的訪問控制,再加上usertty就是對用戶登陸控制(專門是針對login)。但是,隨著pam的應用,usertty已經不再使用了,雖然login的man裡還會提到。    現在我們看看如何利用pam_access對個別用戶進行登陸訪問控制(對所有使用login的都有效),首先,我們需要的是訪問控制的配置文件,這個文件在/etc/security/access.conf。整個文件的格式都是: 權限:用戶(可多個並用空格隔開):源訪問點。下面對每個區域簡單說明:  權限(permission) 這一位可以是+/-。其中+表示允許訪問,-表示禁止訪問;    用戶(users) 這是指定用戶名,用戶組名或網絡用戶組名,指定的是多個要用空格隔開。對於指定網絡用戶組名時,網絡用戶組名應指定用戶組所在的源訪問點並用@和用戶組名分開。除此以外,還可以用ALL指定所有的和EXCEPT指定特殊例外的用戶。    源訪問點(Origins) 這是指定用戶域中原訪問點。這裡可指定用戶訪問的ttyname,hostname,domainname或ip。其中domainname是指以.開頭的主機名,例如,.downsky.net就是指定downsky.net這個域。在這裡可以使用ALL和EXCEPT的關鍵字,也也指定LOCAL。  下面我們看看一些例子,如果你先限制一些用戶在某些主機的登陸權限,我們提供登陸服務的主機叫linux,下面我們看看access.conf的配置情況:    1. # access.conf file  2. -:ALL:.foo.com .hacker.org  3. -:ALL EXCEPT root: tty1  4. +:ALL EXCEPT root:192.168.1.  5. +:root user:.downsky.net  6. -:chase:192.168.2.  7. -:ALL:ALL    從以上的配置文件可以看到,第二行拒絕所有從域名.foo.com和.hacker.org的登陸訪問;第三行拒絕除root以外的用戶從控制台登錄訪問;第四行允許除root外所有的用戶從192.168.1.的網段登錄訪問。第五行允許root和user用戶組中的成員從downsky.net登錄訪問。第六行拒絕用戶chase從192.168.2網段的登錄訪問,第七行拒絕其它的登錄訪問...  現在我們只要在/etc/pam.d/login的文件裡加上下面一行    account required /lib/security/pam_access.so  就可以使login使用pam_access來對用戶進行登陸訪問控制了。整個login的文件如下  auth requisite /lib/security/pam_unix.so nullok #set_secrpc  auth required /lib/security/pam_securetty.so  auth required /lib/security/pam_nologin.so  #auth required /lib/security/pam_homecheck.so  auth required /lib/security/pam_env.so  auth required /lib/security/pam_mail.so  account required /lib/security/pam_unix.so  account required /lib/security/pam_access.so  passWord required /lib/security/pam_pwcheck.so nullok  password required /lib/security/pam_unix.so nullok use_first_pass use_authtok  session required /lib/security/pam_unix.so none # debug or trace  session required /lib/security/pam_limits.so    如果被拒絕的用戶登陸本主機的話就會出現下面的輸出結果  linux login: chase  Password:  Permission denied  Connection closed by foreign host.    我們還可以從/var/log/messages得到pam_access的日志,對應上面的情況我們從message得到如下的日志:    Apr 25 12:50:25 linux pam_access[13916]: access denied for user `chase' from `192.168.2.78'  Apr 25 12:50:25 linux login[13916]: Permission denied




Copyright © Linux教程網 All Rights Reserved