酷!學園

其他討論區 => 肉腳版 => 主題作者是: 特級大肉腳 於 2010-12-07 14:47

主題: [求救]NIS老是能夠登入
作者: 特級大肉腳2010-12-07 14:47
本肉腳目前有兩台NIS Server,系統都是BSD,有開啟ypserv和ypbind。(啟動ypbind主要是能夠直接在這部機器測試)
一台Master、另一台Slave,目前已經可以用NIS帳號登入。但是現在遇到的問題是設定了netgroup後,還是一直可以登入。

假設本肉腳的NIS domainename設定為:a1,本肉腳是使用者m3
nis_adm1 (,m1,a1) (,m2,a1)  (,m3,a1)
nis_adm2 (,m1,a1) (,m2,a1)

本肉腳用vipw在測試的Client端的/etc/master.passwd的尾端加入:
+@nis_adm2:::::::::
+:::::::::/sbin/nologin
這兩行不論我上下對調位置、兩行都註解掉、只保留+@nis_adm2、只用-@nis_adm1等組合,肉腳一直能夠登入。
已確定測試這台沒有放肉腳帳號,肉腳的id是NIS的帳號。ypcat -k netgroup也看得到定義的資訊。
在/etc/nsswitch.conf中是寫入這些資訊:
group: nis compat
group_compat: nis
hosts: files dns
networks: files
passwd: files nis
passwd_compat: nis
shells: files
services: compat
services_compat: nis
protocols: files
rpc: nis files
netgroup: nis

因此本肉腳一直想不通發生了什麼事,希望各位大師指教,謝謝。
主題: 回覆: [求救]NIS老是能夠登入
作者: 廉價勞工2010-12-07 15:13
試試  passwd : compat
然後 /etc/passwd   +m1  +m2
主題: 回覆: [求救]NIS老是能夠登入
作者: 特級大肉腳2010-12-07 18:01
後來試的結果,如果/etc/nsswitch.conf的passwd: 那欄如果是compat,NIS所有帳號會全擋掉,用files nis才能登入。
測試+/-單個使用者在/etc/passwd和/etc/master.passwd下,都還是能登入......
不曉得為什麼passwd檔deny不掉......
主題: 回覆: [求救]NIS老是能夠登入
作者: 特級大肉腳2010-12-08 11:23
成功了,感謝廉價勞工大師的指點。nsswitch.conf那個passwd:欄位如果用compat,在master.passwd檔最下一行加上:+:::::::::
這樣系統會被指定先通過這個檔案,再從+:::::::::這行繞去找NIS Server。
(之前全被擋掉好像是 +:::::::::有加"/sbin/nologin"造成)
如果nsswitch.conf是設files nis,它在檔案中找不到,就直接去找NIS,因此passwd檔案永遠擋不到。

在/etc/shells加上/sbin/nologin,然後在passwd檔最後一行之上,使用 "+帳號/群組:::::::::/sbin/nologin" 就可以用nologin來擋該角色/群組登入了......