实现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
# 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. @rhel6serverrpms
krb5workstation.x86_64 1.922.el6_2. @rhel6serverrpms
pam_krb5.x86_64 2.3..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 administrator@MYDOMAIN
验证是否获取新的凭证
# 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=
注: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 < quiet
修改成:
account sufficient pam_succeed_if.so uid < 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 = -
idmap gid = -
idmap config (MYDOMAIN NetBIOS Name) : backend = ad
idmap config (MYDOMAIN NetBIOS Name) : default = yes
idmap config (MYDOMAIN NetBIOS Name) : range = -
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 aduser1@mydomain
# hostname
# id
# pwd
# ls -ld
# echo $SHELL
注:
可以通过图形化窗口简化配置过程,但是仍然建议根据以上配置和命令补充完善并检查是否准确。Redhat Linux图形化配置命令system-config-authentication,文本窗口图形化配置命令为setup。
全文完(完整带图片版本可以搜索百度文库)
实现Redhat Linux 6和Windows通过Windows Server AD统一认证并共享访问Oracle ZS存储系统的更多相关文章
- windows 2008下远程连接 redhat linux 9桌面
如何使用windows远程控制Linux桌面? 1.查看本机是否有安装vnc(redhat linux 9默认有安装vnc) rpm -q vnc vnc-server 如果显示结果为: packag ...
- Linux下使用VirtualBox安装Windows系统
(文档比较长,只是写的详细,实际操作起来相对简单.) 由于一些特殊原因,我们并不能完全抛下Windows而使用Linux.VirtualBox 是一款虚拟机软件,支持多系统.在Linux下安装 Vir ...
- Ubuntu下装QQ2012,让linux小白们不怕脱离windows
嘿嘿,很多人可能跟我一样,QQ上同学群里会通知一些事项,所以我们希望可以在linux下开QQ,但是QQ官网做的QQ For Linux, 实在是烂的不行 那么怎么在linux下装我们平时在window ...
- 从Windows迁移SQL Server到Linux
前一篇博客关于SQL Server on Linux的安装,地址:http://www.cnblogs.com/fishparadise/p/8057650.html,现在测试把Windows平台下的 ...
- Linux的ls命令在Windows中的应用
Linux的ls命令在Windows中的应用 注:ls是Linux中的命令.其作用是列出当前目录下的文件与文件夹.效果等同于Wndows中的dir指令. 如下图 下面是详细步骤 步骤一.在桌面新建一个 ...
- 使用Cobbler批量部署Linux和Windows:Windows系统批量安装(三)
Tutorial: Installing Windows with cobbler (cobbler安装Windows) Windows系统的自动安装需要用到Win PE工具.流程如下: 定制Win ...
- 如何在 Linux 上永久挂载一个 Windows 共享
导读 如果你已经厌倦了每次重启 Linux 就得重新挂载 Windows 共享,读读这个让共享永久挂载的简单方法. 在 Linux 上和一个 Windows 网络进行交互从来就不是件轻松的事情.想想多 ...
- linux下使用FreeRDP 连接 Windows 远程桌面
linux下使用FreeRDP 连接 Windows 远程桌面 简介 FreeRDP 是一款开源的远程桌面系统,支持多种平台, 在 ubuntu 中使用 FreeRDP 可以很方便的登录到 win ...
- 安装在Linux下的jenkins执行windows下的bat命令
launch method里面没有 launch agent via java web start 默认是disable 需要改成random 转载自: http://blog.csdn.net/so ...
随机推荐
- LInux last命令详解
命令简介: 该命令用来列出目前与过去登录系统的用户相关信息.指令英文原义:show listing of last logged in users 执行权限 :有些需要特殊权限 指令所在路径: ...
- 定义范围中的备选方案生成、横向思维、创建WBS、工作包定义、WBS、确认范围过程和实施质量过程的关系、联合应用设计和质量功能展开QFD
- 05_NoSQL数据库之Redis数据库:Redis的常用命令,键值相关命令和服务器相关命令
Redis常用命令 Redis提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以再Linux终端使用. 键值相关命令: Keys:返回满足给定pattern的所有key 用表达式*表 ...
- (国内)完美下载android源代码(文章已经丢失)
刚刚文章莫名其妙的丢了,我重写了一篇,http://blog.csdn.net/song19891121/article/details/50099857 我们在很多时候需要下载android源代码进 ...
- UNIX环境高级编程——epoll函数使用详解
epoll - I/O event notification facility 在linux的网络编程中,很长的时间都在使用select来做事件触发.在linux新的内核中,有了一种替换它的机制,就是 ...
- Android项目-高考作文项目架构(三)
上一篇我们讲到了, Http Json的功能的抽取. 如果我们请求的是一个列表的数据呢? 我们使用那个功能就不是很好. 因为一个列表, 还有很多其他功能(比如每个listView都需要setAdap ...
- ROS_Kinetic_09 ROS基础内容(四)
ROS_Kinetic_09 ROS基础内容(四) 参考网址: http://wiki.ros.org/cn/ROS/Tutorials/UsingRosEd http://wiki.ros.org/ ...
- 什么是IOC
什么是IOC IOC:控制反转,控制权的转移,应用程序本身不负责对象的创建和维护,而是由外部容器负责创建和维护. DI(依赖注入)是其一种实现方式 目的:创 ...
- Java单例模式之饿汉模式与懒汉模式
单例模式是我们在开发软件的过程中经常用到的23中常用的java模式之一,主要的功能就是保证我们所使用的对象只有一个,这也在一方面减少了出错的可能性,增强了代码的健壮.单例模式一般来说有两种实现的方式, ...
- 9、Libgdx的输入处理
(官网:www.libgdx.cn) 不同的平台有着不同的输入方式.桌面用户可以通过键盘和鼠标与应用进行交互,基于浏览器的游戏也是这样.在Android中,鼠标被触摸屏所替代,通常没有实体键盘.And ...