Samba通过ad域进行认证并限制空间大小《转载》
本文实现了samba服务被访问的时候通过windows域服务器进行用户名和密码验证;认证通过的用户可以自动分配500M的共享空间;在用户通过windows域登陆系统的时候可以自动把这块空间映射成一块硬盘。
环境说明:
文件服务器用的Centos5.3,域控用的Win2k3 sp2,Domain是rainbird.net。
Centos5.3:
Name:Filesrv
IP:192.168.1.245
Dns:192.168.1.241
Samba:3.0.33-3.7.el5
Win2k3:
Name:ad1
Ip:192.168.1.241
Dns:192.168.1.241
Ok,let’s move!
因为是服务器配置,所以本文的操作都是在字符界面下直接编辑文件。当然为了提高工作效率其中一部分配置是可以在图形界面下配的。前提是你必须是redhat/centos系统。如果是的话,可以参考我上一篇文章<<linux加入windows域之完美方案>>来做J
1.samba服务器软件需求
krb5-workstation-1.2.7-19
pam_krb5-1.70-1
krb5-devel-1.2.7-19
krb5-libs-1.2.7-19
samba-3.0.5-2
[root@filesrv CentOS]# rpm -qa|grep krb5
krb5-auth-dialog-0.7-1
krb5-libs-1.6.1-25.el5
krb5-devel-1.6.1-25.el5
pam_krb5-2.2.14-1
krb5-workstation-1.6.1-25.el5
[root@filesrv CentOS]# rpm -qa|grep samba
samba-swat-3.0.28-0.el5.8
samba-common-3.0.28-0.el5.8
samba-client-3.0.28-0.el5.8
samba-3.0.28-0.el5.8
如果centos在安装的时候没有取消默认选中的”Base”,则krb5的包是默认全部安装
如果没有选择安装samba可以这样安装
[root@filesrv CentOS]# rpm -ivh xinetd-2.3.14-10.el5.i386.rpm
[root@filesrv CentOS]# rpm -ivh --aid samba*.rpm
2.配置kerberos(关键)
下面配置参数让 Kerberos 进程知道处理活动目录服务器,对 /etc/krb5.conf 做适当的修改,修改时需要注意的是 Kerberos 是大小写敏感的。
这是我的krb5.conf配置文件:
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
ticket_lifetime = 24000
default_realm = RAINBIRD.NET //默认域名
dns_lookup_realm = false
dns_lookup_kdc = false
[realms]
RAINBIRD.NET = {
kdc = 192.168.1.241:88 //域服务器ip
# admin_server = kerberos.example.com:749
default_domain = RAINBIRD.NET
}
[domain_realm]
. rainbird.net = RAINBIRD.NET
rainbird.net = RAINBIRD.NET
[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
3.测试kerberos
kinit administrator@RAINBIRD.NET
kinit 命令将测试服务器间的通信,administrator为域内存在的用户, RAINBIRD.NET 是你的活动目录的域名,必须大写。
正确操作的提示:
[root@filesrv~]# kinit administrator@RAINBIRD.NET
Password for administrator@RAINBIRD.NET: (正确输入密码后直接返回)
[root@filesrv~]#
可能遇到的几个常见错误:
域名错误:
kinit(v5): Cannot find KDC for requested realm while getting initial credentials.
密码错误,验证失败:
kinit(v5): Preauthentication failed while getting initial credentials.
用户不存在:
kinit(v5): Client not found in Kerberos database while getting initial credentia
时间不一致:
kinit(v5): Clock skew too great while getting initial credentials
4.修改/etc/nsswitch.conf
passwd: files winbind
shadow: files winbind
group: files winbind
5.配置samba
修改/etc/samba/smb.conf如下几行
workgroup = RAINBIRD
server string = Filesrv
password server = AD1.RAINBIRD.NET //域服务器,可以用ip也可以用域名
realm = RAINBIRD.NET //活动目录服务器域名
security = ads //采用活动目录认证方式
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
template shell = /sbin/nologin
template homedir = /home/%U
winbind use default domain = true
winbind offline logon = true
winbind enum groups = yes
winbind enum users = yes
winbind separator = /
红色部分是要修改的,蓝色部分是要新增的。建议直接把已经存在的注释掉,把这里列出来的东西,直接放进去,这样在一块方便查找。
我们现在把samba服务器加入windows域。
[root@filesrv1 samba]# net ads join -U administrator@RAINBIRD.NET
administrator@RAINBIRD.NET's password:
Using short domain name -- RAINBIRD
Joined 'FILESRV1' to realm 'RAINBIRD.NET'
提示是”Joined”哟~
加入失败可能的原因:
两台机器的时间不一致!
重新启动服务
service smb restart
service winbind restart
设定服务开机自动启动
chkconfig smb on
chkconfig winbind on
咱们去Windows 2003 服务器上检查一下:打开活动目录用户和计算机,查看其中的条目,如果成功的话,就可以看到你的 Linux 服务器。
这里样你可以用wbinfo做一些测试
验证Samba主机已成功加入AD
[root@filesrv samba]# wbinfo -t
checking the trust secret via RPC calls succeeded
说明主机信任已成功建立
使用wbinfo –u 可以列出AD中注册的帐号信息
[root@filesrv samba]# wbinfo -u
administrator
guest
support_388945a0
krbtgt
rainbird
rainbow
a
a1
a2
root
a3
a4
a5
a6
a7
a8
a9
a10
Wbinfo –g可以返回AD中的组信息
[root@filesrv samba]# wbinfo -g
domain computers
domain controllers
schema admins
enterprise admins
domain admins
domain users
domain guests
group policy creator owners
dnsupdateproxy
可能的错误
如果你wbinfo –t 测试的时候提示如下:
[root@filesrv samba]# wbinfo -t
checking the trust secret via RPC calls failed
error code was (0x0)
Could not check secret
说明你winbind服务没起动,重启一下就OK了
当然了有必要说一下,winbind如果提示启动成功但没有启动的话,有可能是因为你没有加入到域。
[root@filesrv1 ~]#vi /etc/fstab
/dev/hdb1 /home ext3 defaults,usrquota,grpquota
选择分区,将defaults选项改为:“defaults,usrquota,grpquota”(针对用户和组做磁盘配额)或“defaults,usrquota"(针对用户做磁盘配额 )或"defaults,grpquota"(针对组做磁盘配额)
[root@filesrv1 ~]#mount –o remount /home
[root@filesrv1 ~]#quotacheck –cmug /home
[root@filesrv1 ~]# edquota -u administrator
inodes: 已写多少个文件;soft:磁盘文件数量软限制;hard:磁盘文件数量硬限制)
查看磁盘配额情况
[root@filesrv1 home]#quota -u administrator
8.域用户登陆自动挂载自己的共享文件夹
Samba通过ad域进行认证并限制空间大小《转载》相关推荐
- 2021-07-22 CentOS7.6 Samba使用AD域控认证(winbind),亲测有效。
CentOS7.6 Samba使用AD域控认证(winbind),亲测有效. centos7: https://www.freesion.com/article/44621398696/ cetnos ...
- Java实现AD域登录认证
最近公司派遣去乙方公司做项目开发,之前做好了的登录模块,按理来说是可以完全复用的,但是乙方客户提出要求,要用AD域登录认证的方式进行登录我们开发的Java Web系统,于是上网搜集了相关的资料,并运用 ...
- ad域文件服务器迁移到samba,将AD域漫游用户配置文件放在samba服务器中
书接上回https://www.cnblogs.com/jackadam/p/11448497.html 我们已经将linux服务器设置为域成员,启动samba服务后,已经实现了使用域账号验证,自动创 ...
- 【逗老师带你学IT】Windows Server NPS服务构建基于AD域控的radius认证
目录 一.Windows Server Network Policy Service(NPS)安装 1.添加角色和功能 2.安装网络策略和访问服务 二.Windows NPS配置 1.NPS服务器加域 ...
- 华为外部Portal认证 Radius认证计费 实现基于Mac快速认证的Mac无感知认证和结合CAS单点登录统一认证平台和AD域LDAP对接配置
华为外部Portal认证 Radius认证计费 实现基于Mac快速认证的Mac无感知认证 结合CAS单点登录统一认证平台 AD域LDAP对接配置 实现用户名密码实名认证 访客短信认证 二维码扫码 钉钉 ...
- ad域管理与维护_U-Mail邮件系统LDAP/AD同步极大提升办公效率
每一位办公族,可能都遇到过这样的问题: 1.随着信息化高速发展和企业"互联网+"的深入,越来越多的办公平台和软件被开发出来,正如移动互联网端APP应用层出不穷一样,给人们带来了极大 ...
- 集成AD域,前端实现免登录
转载自添加链接描述 javaweb应用程序与AD域身份认证 首先,要做统一身份认证,也就是说,要java应用程序去ad域验证这个人的用户名密码是否存在于ad域,这个比较简单,只有一个坑,直接上代码吧. ...
- java修改AD域用户密码使用SSL连接方式
正常情况下,JAVA修改AD域用户属性,只能修改一些普通属性, 如果要修改AD域用户密码和userAccountControl属性就得使用SSL连接的方式修改, SSL连接的方式需要操作以下步骤: 1 ...
- Centos 7加入Windows AD域及搭建基于Windows AD域(即ldap)认证的samba共享
在我的windows server系列的文章中已经搭建好了windows AD域,现在要求Centos 7服务器加入AD域并实现基于AD认证的samba共享. 物理环境: Windows Server ...
最新文章
- 计算机视觉:图像检测和图像分割有什么区别?
- 嵌套的Try-Catch块--------异常处理(3)
- VS直接调试可执行文件main函数.exe输入参数argc(项目--> 属性--> 调试--> 命令参数)
- 网站安全狗V3.0—— .NET安全设置及保护实战教程
- Echart---多项柱状图-2D/H5
- python中swap的意思_Python为什么不需要swap(a,b)
- 差点就被联通客服给营销了...
- Django框架之Filters(过滤器)、母版的使用
- c# Invoke和BeginInvoke
- Quartus 13.1和 Modelsim 安装
- java项目ppt介绍_Java课设项目介绍及分析.ppt
- NSGA_2 Matlab带约束问题的多目标优化求解方案+惩罚函数
- 阿里云服务器能怎么玩呢?
- 假如斯诺登生活在2023年
- 在ArcMap中制作Python加载项点击小班依次编号
- 没项目实战经验?分享自学练手的软件测试项目实战+数据库+接口,部署超级简单
- 一文解决斐波那契数列求前n项和;和求第n个数是多少的问题;斐波那契数列(Fibonacci)又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……
- 雷电网络RESTful API手册中文版
- 转载 骏马金龙第9章 Linux进程和信号超详细分析
- ceisum 加载geojson,使用 Cesium 动态加载 GeoJSON 数据
热门文章
- ntp服务器源码c语言,搭建自己的NTP时间服务器
- vba 根据分辨率 缩放显示比例_【显示百闻录】第一讲:关于屏幕尺寸、比例以及分辨率...
- ii 组合总和_40. 组合总和 II
- 查看cananl是否启动_振动筛无法启动的3大原因及8大注意事项
- androidwakelock_Android中的WakeLock
- 通过仿真和综合认识T触发器(Verilog HDL语言描述T触发器)
- Java查找数组重复元素,并打印重复元素、重复次数、重复元素位置
- 洛谷P1315 观光公交
- OSChina 周日乱弹 ——身价上亿,然而找不到女朋友 你信么?
- 因为那里面有我,也有你