samba结合pam(Pluggable Authentication Modules )认证模块,实现samba基于用户的访问控制,假设现在有两个用户test、hehe,我想实现禁止test用户在192.168.1.0/24网段内的任意一台机子登陆到samba的共享目录share目录,同时允许用户hehe可以访问,我们可以这样设置:
1. 在smb.conf配置文件的blobal全局选项里加入:
obey pam restrictions = yes
path = /share
2. 打开/etc/pam.d/samba文件,在account的上面加入:
account required pam_access.so accessfile=/etc/mysmblogin
3. 在/etc下新建文件mysmblogin配置文件,内容如下:
+:hehe:192.168.1.
-:test:192.168.1.
4. 重启服务,测试:
service smb restart
我们可以在这边实时查看日志,用test用户访问看看:
tail -f /var/log/messages
可以看到smb_pam_accountcheck:PAM认证模块起作用了!
本文在redhat 版本和Centos版本上测试通过。
转载于:https://blog.51cto.com/naonao/600006