实现Redhat Linux 6和Windows通过Windows Server AD统一认证并共享访问Oracle ZS存储系统
Posted davidzhou73
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了实现Redhat Linux 6和Windows通过Windows Server AD统一认证并共享访问Oracle ZS存储系统相关的知识,希望对你有一定的参考价值。
Windows Server 2012 AD设置
1. 建立新的组织单位OU
为用户提前建立好OU,是为了AD用户管理简单清晰。
2. 建立新的用户和用户组
建立新的用户的时候,要同时将用户归属到正确的用户组,同时还要设定用户的Primary Group(主用户组)。每个用户可能属于多个组,选择一个合适的有意义的组作为Primary Group。Linux系统会从Primary Group中获取gidNumber,在文件系统的权限中会显示此用户属于Primary Group。
3. 编辑用户和组的Unix扩展属性
在AD管理中心中选择用户或者组,选择扩展属性页,输入唯一的uidNumber和特定的gidNumber。为了避免出现重复和混乱,建议管理员提前规划分配好每个用户和组的uid和gid值和范围(参考下面的Linux的smb.conf设置),然后再进入AD管理中心操作。
AD用户登录Linux时,会从AD中获取uid和gid,这个可以登录后通过id命令验证。
Windows用户访问Oracle ZS时,用户sid会被Oracle ZS的IDMU转换成AD中预先设置的uid和gid。这个可以ssh Oracle ZS,进入shell,进入/export/查看文件系统验证,也可以通过Oracle ZS管理界面中的Identity Mapping中的Show Mappings工具验证。
这样就行保证Linux和Windows用户共享访问ZS中的文件。
Oracle ZS设置
1. 设置DNS, NTP, AD
在Configuration->Services中设置DNS,NTP,然后加入AD域。
2. 设置IDMU
在Configuration->Services中的Identity Mapping里面,选择IDMU,点击Apply,无需其他配置输入。
3. 验证IDMU
通过Identity Mapping的Show Mappings工具,检查获取到的uid和gid,如果和AD用户uidNumber、gidNumber相同,则为正确,如果出现临时分配的id,则不正确。
4. FS初始创建
如果是Windows和Linux客户端混合环境,建议创建文件系统时选择UNIX权限方式创建。这样灵活,而且也会让Linux和Windows创建的文件和文件夹权限一致性保持比较好。如果选择使用Windows缺省权限, Root目录的权限默认会是755。
5. ACL属性设置
文件系统的ACL属性按照默认不需要修改。对访问的基本权限影响不大。
注:如果有人总结出ACL属性对权限有影响,欢迎发邮件给我,我来修正。
Redhat Linux 6 设置
1. 配置SELinux安全参数
在Redhat 6安装时默认SELinux是Enable的。
1.1. 验证是否Enable
# getenforce
Enforcing
1.2. Enable的操作
# getenforce Permissive # setenforce 1 # getenforce Enforcing
1.3. 编辑/etc/selinux/config,确认重新启动时也是Enable
SELINUX=enforcing
2. 配置samba
2.1. 安装samba包
# yum -y install samba samba-client samba-common samba-winbind samba-winbind-clients
2.2. 验证samba运行
# service smb start # service smb status # ps -aef | grep smb
2.3. 使samba在系统启动时运行
# chkconfig smb on
# chkconfig --list smb
3. 同步NTP
3.1. 编辑/etc/ntp.conf
# Enable writing of statistics records.
#statistics clockstats cryptostats loopstats peerstats
server (ntp server name) iburst
server (ntp server ip) iburst
3.2. 应用NTP的修改
Redhat Linux 6:
# service ntpd stop
# ntpdate (ntp server ip)
# service ntpd start
Windows Server:
C:\Users\Administrator> w32tm /query /status | find "Source"
如何创建Windows Server AD服务器为NTP服务器
C:\WINSRV1>w32tm /config /manualpeerlist:"ntp server name or ip"/syncfromflags:manual /update C:\WINSRV1>w32tm /query /status
3.3. 使NTP在系统启动时运行
# chkconfig ntpd on
# chkconfig --list ntpd
4. 配置DNS
4.1. 编辑/etc/resolv.conf
domain mydomain
search mydomain
nameserver (DNS server ip)
4.2. 编辑/etc/sysconfig/network
HOSTNAME=xxx.mydomain (client server name)
5. 编辑/etc/hosts文件
修改并简化/etc/hosts文件内容为:
127.0.0.1 localhost xxx.xxx.xxx.xxx(local static ip) xxx.mydomain (client server name)\ xxx (client server name)
6. 安装和配置Kerberos客户端
6.1. 安装Kerberos客户端
# yum -y install krb5workstation
6.2. 验证Kerberos客户端安装成功
# yum list installed | grep krb5 krb5libs.x86_64 1.922.el6_2.1 @rhel6serverrpms krb5workstation.x86_64 1.922.el6_2.1 @rhel6serverrpms pam_krb5.x86_64 2.3.119.el6 @anacondaRedHatEnterpriseLinux201111171049.x86_64/6.2
6.3. 修改Kerberos配置文件/etc/krb5.conf,见粗体字
修改前备份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 = MYDOMAIN dns_lookup_realm = false dns_lookup_kdc = false ticket_lifetime = 24h renew_lifetime = 7d forwardable = true [realms] MYDOMAIN = { kdc = XXX.mydomain (AD Server) admin_server = XXX.mydomain (AD Server) } [domain_realm] .mydomain = MYDOMAIN mydomain = MYDOMAIN
6.4. 验证Kerberos配置
清除凭证
# kdestroy
# klist
获得新的Kerberos凭证
# kinit [email protected]
验证是否获取新的凭证
# klist
7. 安装oddjob-mkhomedir
安装oddjob-mkhomedir包,确保用户home目录可以正确创建。
7.1. 安装
# yum install oddjobmkhomedir.x86_64
7.2. 启动服务并使oddjobd服务在系统启动时运行
# service oddjobd start
# chkconfig oddjobd on
# chkconfig --list oddjobd
8. 自动创建home目录
在下面两个配置文件中增加一行
/etc/pam.d/system-auth
/etc/pam.d/sshd
session required pam_mkhomedir.so skel=/etc/skel/ umask=0077
注:umask=0077指的是home目录所有者具有全部权限、主要组以及其他人无任何权限。可以设置成umaks=0022, 指的是所有者具有全部权限、主要组以及其他人只有读的权限。
9. 扩大AD用户的uid和gid赋值范围
让AD用户扩展属性中的uidNumber和gidNumber < 30000的用户都可以登陆Linux
将/etc/pam.d/passwd-auth和/etc/pam.d/system-auth文件的:
account sufficient pam_succeed_if.so uid < 500 quiet
修改成:
account sufficient pam_succeed_if.so uid < 30000 quiet
注:30000这个值为smb.conf配置项idmap config (MYDOMAIN NetBIOS Name): range = 10000-29999的封顶值。
10. 配置samba/winbind
10.1. 编辑/etc/samba/smb.conf,见粗体字
修改前备份/etc/samba/smb.conf
10.2. 使用AD映射模式配置smb.conf
backend = ad模式是直接获取AD用户和组的uidNumber和gidNumber,需要在AD用户管理的扩展属性中提前设置uidNumber和gidNumber,用户和组都要设置,值的范围由此配置项idmap config (MYDOMAIN NetBIOS Name): range = 10000-29999决定。
[global] workgroup = (MYDOMAIN NetBios Name) password server = XXX.MYDOMAIN(AD Server) realm = MYDOMAIN security = ads idmap uid = 30000-39999 idmap gid = 30000-39999 idmap config (MYDOMAIN NetBIOS Name) : backend = ad idmap config (MYDOMAIN NetBIOS Name) : default = yes idmap config (MYDOMAIN NetBIOS Name) : range = 10000-29999 idmap config (MYDOMAIN NetBIOS Name) : schema_mode = rfc2307 winbind nss info = rfc2307 winbind enum users = yes winbind enum groups = yes winbind nested groups = yes winbind separator = + winbind use default domain = true template homedir = /home/%D/%U template shell = /bin/bash winbind offline logon = true
10.3. 验证配置文件
# testparm
10.4. 清除存在的samba cache文件
# service smb stop # service winbind stop # rm -f /var/lib/samba/* # service smb start # service winbind start
注:如果发现使用AD账户登录后,group名显示不正确,可以尝试此操作再重新登陆。
10.5. 清除Kerberos凭证
# kdestroy
# klist
10.6. 加入AD
# net join -S XXX.MYDOMAIN(AD Server) -U administrator
10.7. 测试AD链接
# net ads testjoin # net ads info
10.8. 启动winbind和samba服务,激活新的配置
# wbinfo -u
# wbinfo -g
11. 验证登陆服务
# ssh [email protected] # hostname # id # pwd # ls -ld # echo $SHELL
注:
可以通过图形化窗口简化配置过程,但是仍然建议根据以上配置和命令补充完善并检查是否准确。Redhat Linux图形化配置命令system-config-authentication,文本窗口图形化配置命令为setup。
全文完(完整带图片版本可以搜索百度文库)
以上是关于实现Redhat Linux 6和Windows通过Windows Server AD统一认证并共享访问Oracle ZS存储系统的主要内容,如果未能解决你的问题,请参考以下文章
Linux Redhat 6.5 apache虚拟目录和多端口多主机名配置