利用samba做Linux和Windows域的整合
1.测试环境:
DC&DNS:Windows Server 2003 sp2 企业版. 计算机名为:DC ip:192.168.255.1
客户机:Red Hat Enterprise Linux ES5 hostname为server ip: 192.168.255.2
域名:yanchun.com
2.试验目的:将Linux加入到Windows域,并实现Windows域帐户登陆Linux服务器.
3.准备工作:
a.在一台机器上安装Windows Server 2003 ,并升级为DC,同时集成DNS服务.
b.Linux的准备工作也很简单,主要是检查以下几个包是否被安装:
samba-3.0.23c-2
samba-common-3.0.23c-2
samba-client-3.0.23c-2 //samba的相关包
krb5-libs-1.5-17
krb5-workstation-1.5-17
krb5-devel-1.5-17
pam_krb5-2.2.11-1 //kerberos相关的软件包
主要就用到这些包,由于各Linux发行版本的不同,包的版本或许会有差异.
4.配置步骤:
a.修改ip和dns我就不做介绍了.但是要注意防火墙(iptables)和SELinux.
你可以把iptables规则清空,并禁用SELinux.
清空iptables规则命令如下:
iptables -F
禁用SELinux方式如下:
vi /etc/selinux/config
将其中的 SELINUX=enforcing
改成 SELINUX=disable
b.修改/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]
default_realm = EXAMPLE.COM
dns_lookup_realm = false
dns_lookup_kdc = false
[realms]
EXAMPLE.COM = {
kdc = kerberos.example.com:88
admin_server = kerberos.example.com:749
default_domain = example.com
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
其中需要我们修改的地方很少,以我的例子为例,修改后的文件如下:
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = YANCHUN.COM //改成你的域名
dns_lookup_realm = false
dns_lookup_kdc = false
[realms]
YANCHUN.COM = { //改成你的域名
kdc = dc.yanchun.com:88 //改成你DC的FQDN或者是IP,两者没什么区别
admin_server = dc.yanchun.com:749
default_domain = yanchun.com //改成你的域名,注意和上面的不同.(大小写)
}
[domain_realm]
.example.com = YANCHUN.COM
example.com = YANCHUN.COM //接着改
[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
修改完毕后运行下面的命令查看kerberos文件是否有误:
kinit [email protected]
其中administrator是域管理员账户,YANCHUN.COM是你的域名.
回车键后,会提示你输入密码,如果没有什么错误.在你输入密码回车后,会自动返回到Linux命令提示符下.
在这里要注意的小问题就是Linux本地的时间要和DC的时间差问题,我们都知道,在DC上的策略中,时间差允许的范围是5分钟,所以,在运行上述的命令前,最好先同步下Linux和DC的时间:
ntpdate 192.168.255.1
c.这一步是最主要的步骤了,就是修改/etc/samba/smb.conf配置文件.samba的主配置文件选项很多,在加上各版本中默认的选项都有所差异,在这里我就不列举典型的smb.conf文件了,我只把我的smb.conf文件帖出来,以供各位参考:
[global]
workgroup = YANCHUN //需要加入的域的netbios名,注意是域的netbios名,要大写
netbios name = Linux //本机器的netbios名,有的版本没有这一项会没有这个,
要手动添加
server string = Samba Server //对该服务器的描述
printcap name = /etc/printcap
load printers = yes
cups options = raw
log file = /var/log/samba/%m.log
max log size = 50
security = ads //ads验证方式必须有realm项
realm = YANCHUN.COM //增加这一行,注意这里是域名.
password server = dc.yanchun.com //这里是DC的FQDN,也可以写ip,但是有时候会出
问题,建议写FQDN
encrypt passwords = yes //加密在网络上传输的用户密码
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
dns proxy = no
winbind separator = / //用户的域名和用户名之间的间隔,用什么随你心情
idmap uid = 1000000-2000000
idmap gid = 1000000-2000000 //域用户映射成Linux本地用户时所有的uid和gid范围.
template home = /home/%D/%U //与home文件夹中定义的作用相同.两者定义一个就行(我没加这行)
template shell = /bin/bash //用户登陆后所使用的shell
winbind use default domain = yes //用户登陆使用默认的域
winbind enum users = yes
winbind enum groups = yes //有人说是自动创建用 getent passwd[group]看到的
用户和组的信息.具体有什么用,我也说不清楚
[homes]
comment = Home Directories
browseable = no
writable = yes
create mode = 0777
directory mode = 0777 //创建的文件和目录的默认权限
path = /home/%D/%U //用户主目录的相关设置
[printers]
comment = All Printers
path = /var/spool/samba
browseable = no
guest ok = no
writable = no
printable = yes
以上红色的部分都是要修改的,其余的都保持默认就行.好了,修改完成后,保存退出.然后用下面的命令测试 smb.conf是否有误:
testparm
显示的结果如下:
在这里注意两个地方就行,一个是 Loaded services file OK. //说明你的配置文件没有错
还有一个就是:Server role:ROLE_DOMAIN_MEMBER //说明你的服务器已经是域的
"准"成员了.
好了,做了这些测试后,先把smb和winbind两个服务开启成随系统自动启动:
chkconfig smb on
chkconfig winbind on
然后重启samba服务:
service smb restart //写到这里,我想起一点好玩的事来, 在fedora 9中(其他版本我不知道),
smb和nmb服务是分开的,也就是说你用这条命令只能重启动smb,不能重
启nmb,你还要打service nmb restart才行.....
然后就可以加入域了:
net ads join -W YANCHUN.COM -S dc -U administrator
然后会要求你输如管理员的password,输入后,正常情况下会提示加入域成功.
在这里我插一句,有时候用net ads join 会不好使,这时候就试试net rpc join 这种方式.
到这里,我们就已经把samba服务器加入到域里了,这时,在DC上,computers这个OU里就应该可以看到你的samba服务器了.
这时,我们重启winbind服务:
service winbind restart
重启完成后,我们就可以用下面的几条命令来进行测试了:
wbinfo -t //测试该samba服务器与域的信任关系
wbinfo -u // 查看域用户的映射信息
wbinfo -g
有时候会出现这样的错误信息,解决办法如下:
先停掉winbind和smb服务:
service smb stop
service winbind stop
然后删除下面两个目录里的.tdb文件: /etc/samba 和 /var/cache/samba
据我理解,这些应该是在加入域过程中,产生的一些缓存
文件,但是有时候这些缓存会造成一些错误信息,就象我们刚才看到的那样,删除后,重启服务,让他重新
生成就行了.
fedora9 会稍有不同,目录我记不太清楚了,好像是 /var/lib/samba 你可以用命令搜索下:
find / -name *.tdb
删除完成后,重新启动 smb服务.
service smb start
在次运行加入域的命令:
net ads join -W YANCHUN.COM -S dc -U administrator
重启动winbind服务.
service winbind start
然后在用命令查看信息就OK了.
到这里呢,我们的samba服务器就成功的加入到域里了,但是呢,却还不能实现域账户在Linux终端上的登陆.想要实现这个目的,其实也很简单,只需要修改下面几个文件就可以了:
/etc/nsswitch.conf //修改这个文件,影响Linux查找用户,组,和他们密码的行为
修改项如下:
passwd: winbind files
shadow: winbind files
group: winbind files
/etc/pam.d/sysconfig-auth //让pam认证支持以winbind为源进行用户的查找和匹对.
修改项如下:
auth sufficient /lib/security/pam_winbind.so //增加这一行
auth required /lib/security/$ISA/pam_env.so
auth sufficient /lib/security/$ISA/pam_unix.so likeauth nullok
auth required /lib/security/$ISA/pam_deny.so
auth sufficient /lib/security/pam_winbind.so
account sufficient /lib/security/pam_winbind.so //增加这一行,注意这两行的位置
account required /lib/security/$ISA/pam_unix.so
account sufficient /lib/security/$ISA/pam_succeed_if.so uid < 100 quiet
account required /lib/security/$ISA/pam_permit.so
password requisite /lib/security/$ISA/pam_cracklib.so retry=3
password sufficient /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow
password required /lib/security/$ISA/pam_deny.so
session required /lib/security/$ISA/pam_limits.so
session required /lib/security/$ISA/pam_unix.so
修改完毕后,根据上面smb.conf文件的配置,我们就可以实现用户的登陆了,不过还有一点要说明,就是在用户登陆前,必须手动创建他们的登陆主目录,并且赋予他们完全控制的权限.
比如,我想让administrator用户登陆Linux,实现步骤如下:
cd /home
mkdir YANCHUN
cd YANCHUN
mkdir administrator
chown administrator administrator //在home目录下创建YANCHUN域目录,并在该目录下创建
要登陆用户administrator的目录,更改目录权限.
这样在终端上就可以实现域用户账户的登陆了.
还有就是用户登陆Linux平台后,权限控制的问题.默认情况下,这种方式登陆到Linux平台的用户只有对自己主目录有完全控制权限,其余的文件均为只读.
可以通过下面的方法来实现对域用户权限的控制:
1.更改/etc/nsswitch.conf文件.
passwd: winbind files
shadow: files winbind
group: winbind files
细心的朋友也许已经注意到了这个文件与上面那个文件的不同.就是shadow的查找顺序.为什么这么改,呵呵,先卖个关子,接着往下看.
2.然后先把winbind 服务停掉.
建立与要登陆Linux的域用户账户的同名Linux账户.
3.重启winbind服务.用域账户登陆.这时会发现,登陆后域用户的登陆点不是在/home/%D/%U下了,而是在/home/%U下.为什么呢?
这是因为nsswitch.conf文件影响的结果.就是域用户在输入自己的登陆名时,Linux系统并不认为是域用户,而认为该用户是一个本地用户,而shadow项的设置,是先去DC进行密码的查询.于是就造成了一种假象,就是域用户用自己的用户名和密码登陆了Linux.所以其登陆目录为/home/%U.
既然,Linux认为该登陆用户是一个本地用户,那么我们就可以很方便的对他赋予权限了.
但是,如果要登陆Linux的用户非常多,那么作为管理员,我们的工作量会非常大,这也是我下面要提出的用LDAP想法的原因.
我在这个试验过程中所碰到的问题如下:
1. net rpc join 和 net ads join 命令在作用上有什么区别.
2. 有时候配置文件没有错,但是在加入域时会提示错误信息,如NT_STATUS开头的一些错误信息,具体是什么原因,还望有高手指教.我在网上搜索相关错误提示的帖子,也没有能找到真正解决问题的方法.
NT_STATUS_ACCESS_DENIED (0xc0000022)
NT_STATUS_NO_TRUST_SAM_ACCOUNT (0xc000018b)
NT_STATUS_INVALID_COMPUTER_NAME
3.有时候会出现unable to find a suitable server .提示找不到合适的服务器,不知道问题出在什么地方.
4.另外,我还有一种想法,能不能在Linux上搭建LDAP服务,然后用他去同步Windows的活动目录数据库,然后激活samba的LDAP数据库认证功能,实现域用户账户访问samba服务器的认证问题.有做过相关试验的朋友请给小弟一点指点.感激不尽.
5.至于自动为登陆Linux平台的域用户创建宿主目录,和自动加入某一Linux本地组,等我熟了SHELL编程在说吧,呵呵~
6.有时候会出现类似于Winbind服务启动起来后,显示该服务已经假死的现象,这时候可以通过查找/var/log/messages或者/etc/log/samba/winbind.log查找相关的错误信息。我碰到过的一个问题是:Winbind Dead but subsys lock的东东,解决办法是关闭SELinux就可以了,针对这个问题在相关的日志错误信息中显示的是:open secrets.tdb error。据我个人理解,应该是SELinux的开启造成了Winbind无法访问/etc/samba/secrets.tdb文件的缘故,只要disable SELinx 重启计算机后,应该就可以正常的启动和停止Winbind服务了。
自己操作:
Win 03 AD:
IP: 192.168.15
Samba server (cetnos5.3):
[root@sambatest ~]# hostname
Sambatest
[root@sambatest ~]# more /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
-
-
-
- sambatest
-
-
软件:
Yum search samba
找到:
samba.i386 : Samba SMB 服务器。
samba-client.i386 : Samba (SMB) 客户程序。
samba-common.i386 : 用在 Samba 服务器和客户机上的文件。
samba-swat.i386 : Samba SMB 服务器配置程序。
后:
Yum –y install samba*
Yum search krb5
找到:
krb5-auth-dialog.i386 : Kerberos 5 认证对话
krb5-devel.i386 : 编译 Kerberos 5 程序所需的开发文件。
krb5-libs.i386 : 被 Kerberos 5 使用的共享库。
krb5-server.i386 : The KDC and related programs for Kerberos 5.
krb5-workstation.i386 : 用在工作站上 Kerberos 5 程序。
pam_krb5.i386 : 一个 Kerberos 5 的可插入验证模块 (PAM)。
后:
Yum –y install pam_krb5* krb5*
SMB.CONF:
[global]
workgroup = DS
realm = DS.COM
server string = Sambatest Server Version %v
security = ADS
password server = 192.168.1.16
idmap uid = 16777216-33554431
idmap gid = 16777216-33554431
template shell = /sbin/nologin
winbind separator = +
winbind enum users = Yes
winbind enum groups = Yes
winbind use default domain = Yes
winbind offline logon = false
netbios name = sambatest
encrypt passwords = yes
cups options = raw
[centos ds]
comment = centos samba server
path = /home/samba/
valid users = ds+caiwu02, @ds+caiwu, @ds+test, @ds+server
read only = No
create mask = 0664
directory mask = 0775
guest ok = Yes
more /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 = DS.COM
dns_lookup_realm = false
dns_lookup_kdc = false
ticket_lifetime = 24h
forwardable = yes
[realms]
DS.COM = {
kdc = 192.168.1.16:88
kdc = 192.168.1.16
admin_server = 192.168.1.16:749
default_domain = DS.COM
}
[domain_realm]
.ds.com = DS.COM
ds.com = DS.COM
[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
more /etc/nsswitch.conf
passwd: files winbind
shadow: files winbind
group: files winbind
[root@sambatest ~]# more /etc/pam.d/sysconfig-auth
auth sufficient pam_winbind.so //增加这行
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
。。。。。。
account sufficient pam_winbind.so //增加这行
account required pam_unix.so broken_shadow
account sufficient pam_succeed_if.so uid < 500 quiet
。。。。。。
同步时间:
ntpdate 192.168.1.16
net rpc join -S WIN03SERVER1.DS.COM -U centos
net ads testjoin
/etc/init.d/winbind start 启动不了是还没加入域,获取不不到消息,再加入域后要启动才能使用下面命令:
wbinfo -t //测试该samba服务器与域的信任关系
wbinfo -u // 查看域用户的映射信息
wbinfo –g
以下是我没用到的:
net ads info
net ads status -Ucentos%centos
net rpc info -S win03server1.ds.com -Ucentos%centos
net rpc testjoin -S win03server1.ds.com -Ucentos%centos
nmblookup -A 192.168.0.2 //查询网络上 NetBIOS 主机的信息
smbstatus:
列出目前的 SMB server 的狀態,也是很有用途的一個指令啦!
testparm:
這個指令主要在檢驗 samba 設定檔 smb.conf 的語法正確與否,當你編輯過 smb.conf 時,請務必使用這個指令來檢查一次, 避免因為打字錯誤引起的困擾啊!
smbtree:
這玩意就有點像 Windows 系統的網路上的芳鄰顯示的結果,可以顯示類似『靠近我的電腦』之類的資料, 能夠查到工作群組與電腦名稱的樹狀目錄分佈圖,有趣吧!
/etc/samba/smbusers:
由於 Windows 與 Unix-like 在管理員與訪客的帳號名稱不一致,分別為 administrator 及 root, 為了對應這兩者之間的帳號關係,可以使用這個檔案來設定。不過這個檔案的使用必須要經由 smb.conf 內的『 username map 』設定項目來啟動才行。
%S:取代目前的設定項目值,所謂的『設定項目值』就是在 [分享] 裡面的內容! 舉例來說,例如底下的設定範例:
[homes]
valid users = %S
....
因為 valid users 是允許的登入者,設定為 %S 表示任何可登入的使用者都能夠登入的意思~今天如果 dmtsai 這個使用者登入之後,那個 [homes] 就會自動的變成了 [dmtsai] 了!這樣可以明白了嗎? %S 的用意就是在替換掉目前 [ ] 裡面的內容啦!
%m:代表 Client 端的 NetBIOS 主機名稱喔!
%M:代表 Client 端的 Internet 主機名稱喔!就是 HOSTNAME。
%L:代表 SAMBA 主機的 NetBIOS 主機名稱。
%H:代表使用者的家目錄。
%U:代表目前登入的使用者的使用者名稱
%g:代表登入的使用者的群組名稱。
%h:代表目前這部 SAMBA 主機的 HOSTNAME 喔!注意是 hostname 不是 NetBIOS name 喔!
%I:代表 Client 的 IP 咯。
[root@linux ~]# smbpasswd [-adem] username
參數說明:
: 如果都沒有加上任何一個參數,例如『 smbpasswd dmtsai 』時,這表示:
修改 SAMBA 密碼檔 (/etc/samba/smbpasswd) 裡面的 dmtsai 這個帳號的密碼!
也就是說,密碼檔裡面已經存在一個 dmtsai 的帳號了!
-a : 在 smbpasswd 密碼檔裡面新增一個使用者
-d : 讓在 smbpasswd 密碼檔裡面的某個帳號的使用者暫時無法使用 SAMBA
當多了 -d 的參數時,在 smbpasswd 裡面某個欄位會多出一個 D 的參數,
代表該帳號目前無法使用喔!
-e : 與 -d 參數相反,讓某個帳號恢復使用!
-m : 該 username 為機器代碼 (Machine Account),這個與 domain model 有關!
etc/samba/smbusers文件中做映射
真实samba帐号 = 帐号别名
确保有以下内容:
root = administrator
smbuser1 = user1
smbuser2 = user2
smbuser3 = user3
username map = /etc/samba/smbusers #帐号映射文件
samba结合AD实现大型网络方案
前言: 这文章可能在某些情况下还会有各种的不足,所以我只是作一个抛砖来引玉.希望能和大家讨论这个方案存在的问题与如何解决问题. 背景: 在上次的背景之下(见上一文章),管理员发现公司内现有部门不多,但员工数量非常的多.如果按照用户一个一个的去创建用户并用smbpasswd增加samba的登陆用户非常的麻烦.而且公司内已经存在一台windows 2003 server域控制器(建立方法),并且包含所有员工的帐号信息.在此管理员想通过windows 2003 server域控制器的帐号来作为samba的登陆帐号. 环境:
配置: 一.linux加入到AD域(这步暂时大家先放一下,因为我后面步骤没有使用到.大家先做后面的步骤如果不行在返过来做这一步骤.以前在RHEL AS4的时候,用这步骤是很简单就能成功的,但我用RHEL AS5就不知道为什么怎么都不成了.) #vi /etc/krb5.conf 修改为以下内容 (注意区分大小写,还有就是自己正确替换为自己的域) [logging] [domain_realm]
后面不用修改,省略...... 做完这里的话就测试一下 #kinit [email protected]L (@ERIC.LOCAL必须大写) 输入AD里的administrator密码,如果没有任何的提示.直接返回到shell里的话就表示已经成功了.但这并不代表已经加入了域.继续看下去 修改samba的主配置文件 #vi /etc/samba/smb.conf 修改以下的内容 workgroup = ERIC # <-- 这里的 workgroup 见图1就知道填什么了. realm = ERIC.LOCAL # <-- 建立的域名称 workgroup的填写内容就在登陆到里显示了!!,图1 然后就基本可以了. 启动samba服务 #service smb start 同步时钟,加入域必须时差在5分钟内! #ntpdate 192.168.1.1 测试与加入域 #kinit [email protected]L
#net ads join (在AS4的话用这句很容易就加到域的,但AS5中我怎么都加不到.所以krb5.conf文件就变得似呼没有用了.)
#net rpc join -S gz.eric.local -U administrator (如果上句不行就试试这一句,我AS5就是用rpc方式连接域的,功能上没有ADS强.)
如果能够加入后,在AD域可以在windows 2003 server里看到rhel 到这里其实就只是加入域而已,但并不能用AD帐号登陆samba 二.将AD帐号同步到linux里.这里要用到一个工具winbind 修改samba的主配置文件 #vi /etc/samba/smb.conf 在配置文件中添加以下内容 idmap uid = 10000 - 20000 idmap gid = 10000 - 20000 template shell = /sbin/nologin template homedir = /home/%D/%U winbind separator = % winbind use default domain = yes winbind enum users = yes winbind enum groups = yes encrypt passwords = yes 修改以下内容 [home] path = /home/%D/%U browsable = no writable = yes create mask = 0664 directory mask = 0775 前面不是看到/home/%D/%U这样的目录吗?我们就要手工去创建这个目录了.不过这里比较麻烦,AD帐号的个人目录必须要工的去创建,而不能说自动的检测是否已存在,不存在自动创建.不知道哪个高手能够说说有什么方法解决,我想到用脚本去做.但还在测试中...大家说说你们的高见 #mkdir /home/ERIC
#chmod -R 777 /home/ERIC 添加winbind写入帐号的信任 #vi /etc/nsswitch.conf 修改以下位置 passwd: files winbind shadow: files winbind group: files winbind 保存然后就重启两个服务 #service smb restart
#service winbind start 再加入域语句和前面一样,我这就不再写了. 加入成功后就测试一下! #wbinfo -t #看winbind是否正常运行
#wbinfo -u #看AD用户是否同步过来了
基本上到这里就已经完成了配置.到windows测试一下吧! 我先来说一下存在的问题: 1.首先最亟待解决的问题就是AD帐号主目录的自动建立问题,一直想不到好的解决方法.暂时有一个方向是用脚本去实现,还在研究当中. 2.net ads join不能够加入域,只能用net rpc join的方法.不知道哪个高人能指点一下. 以上是我暂时想到的问题,大家在操作研究中如果发现有什么问题可以提出来大家讨论一下.学习Linux就必须多思考,而不是到处搜索.版本多了,并不一定网上的转载就正确.讨论才是解决的好办法!哈哈 |
AD帐号登陆samba自动创建主目录脚本
我就受这文件的启发,还有就是我一直的一个思路所影响.开始研究那个pam_mkhomedir.so的原理.最后我想到了以下这个方法.
在SAMBA的主配置文件下的[homes]增加一句执行脚本的代码
//[homes] 由于在 [homes]实现共享所以用他
preexec = /home/ERIC/buildhome %D %U %G
然后就保存文件.接下来就到/home/ERIC下创建脚本了!
#vi /home/ERIC/buildhome
脚本的内容如下
umask 077
domain=$1
user=$2
group=$3
if [ ! -d /home/$domain/$user ] ; then
mkdir /home/$domain/$user
chown $user /home/$domain/$user
chgrp $group /home/$domain/$user
if
分配权限
#chmod 777 /home/ERIC/buildhome
然后就重启samba服务
#service smb restart
到此就完成了一个samba的自动化了!希望在几篇关于samba的文章当中会对大家搭建windows与linux的异构网络有所帮助.同时也希望大家一直以来对本站的关注.
- share安全级别模式
客户端登录samba服务器,不需要输入用户名和密码就可以浏览samba服务器的资源,适用于公共的共享资源,安全性差,需要配合其他权限设置,保证samba服务器的安全性。
(2)user安全级别模式
客户端登录samba服务器,需要提交合法帐号和密码,经过服务器验证才可以访问共享资源,服务器默认为此级别模式。
(3)server安全级别模式
客户端需要将用户名和密码,提交到指定的一台samba服务器上进行验证,如果验证出现错误,客户端会用user级别访问。
(4)domain安全级别模式
如果samba服务器加入windows域环境中,验证工作服将由windows域控制器负责,domain级别的samba服务器只是成为域的成员客户端,并不具备服务器的特性,samba早期的版本就是使用此级别登录windows域滴。
(5)ads安全级别模式
当samba服务器使用ads安全级别加入到windows域环境中,其就具备了domain安全级别模式中所有的功能并可以具备域控制器的功能。