Samba结合AD实现域帐号认证的文件服务器
准备一台Windows域控制器, 在Samba服务器上安装Webmin图形化管理工具, samba, krb5-user, winbind.
修改/etc/krb5.conf.
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log [libdefaults]
default_realm = HZVOBILE.LOCAL
dns_lookup_kdc = false [realms]
HZVOBILE.LOCAL = {
default_domain = hzvobile.local
kdc = vobile-dc1.hzvobile.local:
admin_server = vobile-dc1.hzvobile.local:
} [domain_realm]
.hzvobile.local = HZVOBILE.LOCAL
hzvobile.local = HZVOBILE.LOCAL
修改/etc/samba/smb.conf, 用testparm -s来检查smb.conf文件的合规性.
[global]
winbind use default domain = yes
pam password change = yes
; winbind trusted domains only = yes ##这行决定getent passwd是否能获得域帐号
map to guest = bad user
workgroup = HZVOBILE
passdb backend = tdbsam
log file = /var/log/samba/log.%m
idmap config * : range = -33554431 ##如果不指定用户的UID, 上传文件后通过ll命令会发现所上传的用户和组都是root; 指定之后, 就显示用户user和domain user组
obey pam restrictions = yes
os level =
panic action = /usr/share/samba/panic-action %d
realm = HZVOBILE.LOCAL
; password server = vobile-dc1.hzvobile.local
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
server string = %h server (Samba, Ubuntu)
dns proxy = no
passwd program = /usr/bin/passwd %u
usershare allow guests = yes
unix password sync = yes
security = ads
syslog =
max log size =
server role = standalone server
winbind offline logon = false
winbind enum groups = yes
winbind enum users = yes
修改/etc/nsswitch.conf, 添加winbind验证方式.
passwd: compat winbind
group: compat winbind
shadow: compat winbind
使用net ads join -U administrator命令将Samba服务器加入域.
重启后用wbinfo -t和-u或-g检查连通性, 正常情况下你可以看到活动目录中的所有账号和组.
checking the trust secret for domain HZVOBILE via RPC calls succeeded
此时你应该可以通过getent passwd查看到所有域帐号.
创建文件夹, 并将文件夹权限777(此处类似Windows权限控制, NTFS与Share权限共同作用于一个用户对文件的最终权限)
[chen_chen]
valid users = hzvobile\chen_chen
path = /mnt/hd2/chen_chen
writeable = yes
[it]
path = /mnt/hd2/it
writeable = yes
valid users = @hzvobile\it
客户端访问: smbclient //ip/folder -W workgroup -U chen.
2015-10-8更新:
我在Debian 8.2上安装了Samba 4.1.17, 发现wbinfo可以获取域帐号和组, 但是getent却不行, 经Google后找到解决方案
apt-get install libnss-winbind
2015-10-15更新:
域控设置的变更到winbind有一个刷新时间, 如果想缩短这个时间, 可以在smb.conf中加入以下设置:
[global]
...
idmap cache time =
idmap negative cache time =
winbind cache time =
2015-10-15更新磁盘配额:
首先, Linux的磁盘配额是对于整个分区生效的, 然后可以针对User或者Group进行限制, 下面对几种"矛盾"的情况作出分析:
1. 同时设置了User1和PGroup1的配额 (User1属于PGroup1), 则User1的配额生效.
2. 同时设置了PGroup2和SGroup2的配额 (User2同时属于PGroup2和SGroup2), 以User2的身份上传数据时, 哪个组是User2的Primary Group, 则哪个组的配额生效.
2.1 在Windows活动目录中, 所有域帐号的Primary Group都是Domain Users, 一开始我希望通过usermod命令修改用户的Primary Group, 然后系统提示我: XXX用户不存在于/etc/passwd. 想想也是这样! Google后发现对于Winbind+ Active Directory的方式, 需要在Windows中修改用户的Primary Group, 具体方式是开启ADUC的高级功能, 然后在"隶属于"中"设置主要组". 注意: 如果组类型是本地域组, 则"设置主要组"按钮为灰色.
参考资料:
http://winda.blog.51cto.com/55153/261293/
http://rainbird.blog.51cto.com/211214/197509
http://blog.yam.com/gavint/article/4530697
http://ubuntuforums.org/showthread.php?t=2206822
Samba结合AD实现域帐号认证的文件服务器的更多相关文章
- PCB 模拟Windows管理员域帐号安装软件
在我们PCB行业中,局域网的电脑一般都会加入域控的,这样可以方便集中管理用户权限,并可以对访问网络资源可以进行权限限制等. 由于加入了域控对帐号权限的管理,这样一来很多人都无权限安装软件,比如:PCB ...
- 3种用组策略将域帐号加入本地管理员组的方法_jinifly_新浪博客
次当前系统域帐号是怎么在第一次登录时,自动加入域客户端本地管理员组的?我猜不外乎就是脚本.计算机策略或虚拟机初始化的自动应答脚本,结果系统的前任同事找到了答案--GPO的用户策略(确切讲是用户首选项) ...
- PCB 工程系统 模拟windows域帐号登入
一.需求描述: 对于PCB制造企业来说,基本都采用建立共享目享+域名管控权限,好像别的大多数行业都是这样的吧.呵呵 在实际应用中,经常会有这样的问题,自己登入的帐号没有共享目录的权限,但又想通过程序实 ...
- VBS处理AD帐号密码到期提醒的脚本[zt]
原文:https://gallery.technet.microsoft.com/scriptcenter/f7f5f7ed-14ee-4d0e-81c2-7d95ce7e08f5 '======== ...
- 轻松搭建CAS 5.x系列(7)-在CAS Server使用第三方帐号做认证
概述说明 CAS除了使用自身数据库配置的帐号体系外,也可以使用第三方帐号来做认证. 比如实现如下类似的红色标注部分的登录效果: CAS自带了Facebook.GitHub.WordPress和CAS的 ...
- Chapter 1 Securing Your Server and Network(3):使用托管服务帐号
原文:Chapter 1 Securing Your Server and Network(3):使用托管服务帐号 原文出处:http://blog.csdn.net/dba_huangzj/arti ...
- 利用C#结合net use命令破解域帐号密码
背景 我的职业是程序猿,而所在的工作单位因各种原因,对上网帐号有严格控制,近期竟然把我们的上网帐号全部停用,作为程序猿,不能上网,就如同鱼儿没有水,煮饭没有米,必须想办法解决此问题.公司的局域网环境是 ...
- Samba通过ad域进行认证并限制空间大小《转载》
本文实现了samba服务被访问的时候通过windows域服务器进行用户名和密码验证;认证通过的用户可以自动分配500M的共享空间;在用户通过windows域登陆系统的时候可以自动把这块空间映射成一块硬 ...
- Samba通过ad域进行认证并限制空间大小
最近正在做单位电脑的AD域管理. 为漫游用户文件,研究配置Samba通过ad域进行认证并限制空间大小. 参考了很多资料,现总结如下: DC:windows server 2016(配置安装域控制器)略 ...
随机推荐
- Win7下虚拟机个人使用小结:Virtual PC,VMware和VirtualBox
想来用了很多年的虚拟机了,换了Win7之后,种种原因又需要使用虚拟机,这里就简单介绍和比较一下. 点击小图看大图. Virtual PC: 如果想做Windows虚拟机的话,Virtual PC在之前 ...
- Java for LeetCode 057 Insert Interval
Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessa ...
- ubuntu下java环境变量配置
转自:http://blog.csdn.net/tenpage/article/details/7215810 如果是配置java环境,请参照这篇,更简单:在Ubuntu 12.04 LTS上安装JD ...
- Java如何读取XML文件 具体实现
转载自:http://www.jb51.net/article/44338.htm import java.io.*; import javax.xml.parsers.DocumentBuilder ...
- July 24th, Week 31st Sunday, 2016
Miracles happen every day. 奇迹每天都在发生. Miracles actually happen every day, every moment. You may think ...
- Lua和C之间的交互
转自:http://blog.csdn.net/sumoyu/article/details/2592693 (一) Lua 调C函数 什么样类型的函数可以被Lua调用 typedef int ( ...
- UVA - 10891 Game of Sum 区间DP
题目连接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=19461 Game of sum Description This ...
- cocos2dx游戏开发——微信打飞机学习笔记(十一)——GameOverScene的搭建
一.创建文件~ GameOverScene.h GameOverScene.cpp GameOverLayer.h GameOverLayer.cpp 二.How to do? 就是加入一个转场就好~ ...
- JavaScript中两个感叹号(!!)的作用是什么?
!!一般用来将后面的表达式强制转换为布尔类型的数据(boolean),也就是只能是true或者false. 看这么个例子: var a: var b=!!a; a默认是undefined.!a是tru ...
- 判断 ACdream 1202 Integer in C++
题目传送门 /* 分情况讨论,在long long范围里可以直接比较 sscanf 直接读到n中去 */ #include <cstdio> #include <iostream&g ...