Chinaunix首页 | 论坛 | 博客
  • 博客访问: 38738
  • 博文数量: 17
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 120
  • 用 户 组: 普通用户
  • 注册时间: 2014-03-31 12:31
文章分类

全部博文(17)

分类: 系统运维

2014-04-04 19:02:52


  1. //samba基础知识
  2. 1.工作端口
  3. UDP协议端口:137,138
  4. tcp协议端口:139,445

  5. 2.软件包
  6. samba samba-client.x86_64 samba-common
  7. 3.启动服务
  8. service smb restart
  9. 4.配置文件
  10. [global]---全局设置
  11. -------------------------
  12. A.
  13. security:share/user/server/domain
  14. share:不需要用户名和密码,匿名登录
  15. user:需用户名和密码
  16. server: 用户名和密码在指定的一台samba上验证,验证错误,客户端会用user级别访问
  17. domain:服务器加入window域环境,验证工作由windows域控制器负责。
  18. ads:使用ads安全级别加入到windows域环境中,包含有domain级别中的所有功能,可以具备域控制器的功能。
  19. B.
  20. config file = /etc/samba/smb.conf.%U
  21. #%U是变量,指代登录用户名
  22. [说明]
  23. ##security设为user时,samba服务器必须创建一些用户名和密码供客户端登录使用,这些帐号必须是linux系统中存在的用户,当用户登录时,其在共享文件夹里的权限是其所用帐号在samba所在linux中的权限
  24. --------------------------
  25. [share_config]---共享目录设置
  26. -------------------
  27. [public] ---共享目录名称 //10.10.54.226/public
  28. comment = Public Stuff ---标识
  29. path = /home/samba ---服务器端共享目录的存储路径(要有权限)
  30. writable = yes ---是否具有写入权限
  31. read only = yes ---只读权限
  32. browseable = no ---共享目录是否可见(no为隐藏,yes可见)
  33. guest ok = yes ---匿名用户是否可以访问
  34. write list = +staff ---指定那些用户或者用户组可以写入
  35. --------------------

  36. //samba测试工具
  37. 1:pdbedit:管理samba 用户数据库的一个工具
  38. pdbedit -a -u username 增加一个samba用户
  39. pdbedit -x samba_user 删除用户
  40. pdbedit 查看创建的samba用户
  41. 2.工具2:samba测试命令
  42. smbstatus -pS -u username
  43. smbclient -L 10.10.54.150 #查看后面所接主机上提供的共享资源
  44. smbclient -L 10.10.54.150 -Uboss#以帐号boss访问主机上的资源
  45. smbclient //10.10.54.150/centos -Uboss%boss1 #类似ftp的登录,直接操作服务器共享文件夹
  46. mount -t cifs //10.10.54.150/centos /mnt/smb -o username=boss,password=boss1 #挂载

  47. //例一:建立共享目录为softs,安全级别为share,只允许10.10.54.0/24网段访问
  48. 1.一下题目中,环境都是:
  49. samba服务器:10.10.54.150---centos6.4
  50. 客户机:10.10.54.158----ubuntu13
  51. 2.配置文件
  52. ----------------------
  53. shell> vim /etc/samba/smb.conf
  54. [global]
  55. security = share
  56. hosts allow = 10.10.54.0/24
  57. [softs]
  58. comment = public
  59. path = /home/softs
  60. writeable = no
  61. browseable = yes
  62. ---------------------

  63. //例二:建立共享目录为share,对所有人只有只读权限
  64. 1.##配置[服务器:150]
  65. -----------------------------
  66. shell> vim /etc/samba/smb.conf
  67. [global]
  68. security = share
  69. [share]
  70. comment = public
  71. path = /pub
  72. read only = yes
  73. writable = no
  74. ------------------------------
  75. 2.##测试[客户机:158]
  76. shell> smbclient //10.10.54.150/softs
  77. WARNING: The security=share option is deprecated
  78. Enter root's password:
  79. Domain=[HELLO,1003-LJ] OS=[Unix] Server=[Samba 3.6.9-151.el6]
  80. Server not using user level security and no password supplied.
  81. smb: \> ls
  82. smb: \> mkdir 12
  83. NT_STATUS_MEDIA_WRITE_PROTECTED making remote directory \12 #只读

  84. //例三:使用smbclient命令登录samba服务器,并下载共享资源到/temp目录
  85. 1.配置[服务器:150]
  86. -------------------------------
  87. shell> vim /etc/samba/smb.conf
  88. [global]
  89. security = share
  90. [share]
  91. comment = public
  92. path = /pub
  93. read only = yes
  94. writable = yes
  95. -------------------------------

  96. 2.测试[客户机:158]
  97. shell> cd /tmp
  98. shell> smbclient //10.10.54.150/share
  99. smb: \> mkdir
  100. mkdir
  101. smb: \> ls
  102. . D 0 Tue Mar 4 17:03:55 2014
  103. .. D 0 Tue Mar 4 15:43:53 2014
  104. openssl-1.0.1e.tar.gz A 4459777 Mon Mar 3 09:38:52 2014
  105. smb: \> get openssl-1.0.1e.tar.gz
  106. getting file \openssl-1.0.1e.tar.gz of size 4459777 as openssl-1.0.1e.tar.gz (82174.4 KiloBytes/sec) (average 82174.5 KiloBytes/sec)

  107. //例四:建立共享目录为centos,其绝对路径为/share/centos,只有boss帐号可以读写该目录,其他人只能读取

  108. 1.配置[服务器:150]
  109. ------------------------------
  110. shell> vim /etc/samba/smb.conf
  111. [global]
  112. security = user
  113. [centos]
  114. comment = public
  115. path = /pub
  116. guest ok = no
  117. read only = yes
  118. writable = boss
  119. ---------------------------
  120. 2.建立帐号
  121. shell> useradd boss
  122. shell> useradd test
  123. shell> pdbedit -a -u boss
  124. shell> pdbedit -a -u test
  125. shell> pdbedit -L
  126. boss:502:
  127. test:504:

  128. 3.测试[客户机:158]
  129. ----测试boss
  130. shell> smbclient //10.10.54.150/centos -Uboss
  131. Enter boss's password:
  132. Domain=[HELLO,1003-LJ] OS=[Unix] Server=[Samba 3.6.9-151.el6]
  133. smb: \> mkdir 12
  134. smb: \> ls
  135. . D 0 Tue Mar 4 17:14:35 2014
  136. .. D 0 Tue Mar 4 15:43:53 2014
  137. 12 D 0 Tue Mar 4 17:14:35 2014
  138. 39371 blocks of size 524288. 32159 blocks available
  139. ---测试test
  140. shell> smbclient //10.10.54.150/centos -Utest
  141. Enter test's password:
  142. Domain=[HELLO,1003-LJ] OS=[Unix] Server=[Samba 3.6.9-151.el6]
  143. smb: \> ls
  144. . D 0 Tue Mar 4 17:14:35 2014
  145. .. D 0 Tue Mar 4 15:43:53 2014
  146. 12 D 0 Tue Mar 4 17:14:35 2014
  147. 39371 blocks of size 524288. 32159 blocks available
  148. smb: \> mkdir 13
  149. NT_STATUS_MEDIA_WRITE_PROTECTED making remote directory \13

  150. //结合window2008活动目录,配置samba,用户名和密码认证来自活动目录。
  151. //环境说明
  152. 1.linux上的samba作为一台文件服务器监听用户请求,用户使用用户名和密码认证方式登录samba服务器,默认情况下,samba服务器自带一个保存登录用户名和密码的数据库来实现对登录用户的身份确认
  153. 2.samba加入windows2008活动目录后,samba服务器不再保存用户名和密码这些信息,而是把这些信息存储在windows server域控制器上,当用户使用用户名和密码登录samba服务器时,身份认证工作由windows server上的活动目录负责,认证通过的用户就可以使用samba服务器提供的资源
  154. 3.由上面两点,我们可以知道,要验证samba是否成功加入windows server的域,首先要在windows server的test.com(下面步骤中会创建)域中创建一个用户,然后在linux主机上使用这个创建的用户名和密码登录samba服务器,如果可以登录,那么说明samba加入成功
  155. //windows域和工作组概念
  156. 1.局域网上的资源需要管理,“域”和“工作组”就是两种不同的网络资源管理模式
  157. 2.工作组:局域网上可能有很多的计算机存在,为了管理和查找的方便,将不同的电脑按不同分类分成一个个的工作组,这样方便管理和查找
  158. 3.工作组的不足之处是:
  159. A.工作组中每一台计算机都独立维护自己的资源,不能集中管理所有的网络资源
  160. B.每一台计算机都在本地存储用户的账户
  161. C.一个账户只能登录到一台计算机
  162. D.工作组中的计算机都是平等的,对于其它计算机来说即是服务器,也是客户机
  163. 4.域(Domain)是一个共用“目录服务数据库”的计算机和用户的集合,域是逻辑分组,与网络的物理拓扑无关,可以很小,比如只有一台DC,也可以很大,包括遍布世界各地的计算机,比如大型跨国公司网络上的域
  164. 正是由于所有域成员计算机和域用户都共用这个域的“目录服务数据库”,域管理员就可以基于域的“目录服务数据库”来进行集中管理、共享资源,如用户、组、计算机帐号、权限设置、组策略设置等等。目录服务为管理员提供从网络上任何一个计算机上查看和管理用户和网络资源的能力。目录服务也为用户提供唯一的用户名和密码,用户只需一次登录,即可访问本域或有信任关系的其它域上的所有资源(当然用户得有权限才行),而不需要多次提供用户名和密码登录。
  165. //windows2008上创建域控制器
  166. ##10.10.54.152机子作为域控制器和DNS服务器
  167. 1.域控制器上存储着Active Directory,首先在网络和共享中心里更改网卡的首选DNS为改本机IP
  168. 2.开始菜单-运行对话框中输入dcpromo开始安装,新的域名为test.com,安装过程大多默认即可,DNS提示那一步选是
  169. 3.完成后重启系统
  170. //linux上配置samba加入windows域
  171. #Win 2008 Server是域控制器,linux是samba服务器,客户端提交的认证请求和授权是通过Kerberos5协议来完成的,所以要让Linux的samba服务器支持windows server的域认证
  172. 1.软件安装
  173. shell> yum install krb5* -y
  174. shell> rpm -qa | grep krb5
  175. krb5-server-1.10.3-10.el6.x86_64
  176. pam_krb5-2.3.11-9.el6.x86_64
  177. krb5-workstation-1.10.3-10.el6.x86_64
  178. krb5-devel-1.10.3-10.el6.x86_64
  179. krb5-libs-1.10.3-10.el6.x86_64
  180. 2.配置/etc/krb5.conf
  181. -----------------------------------------
  182. [logging]#日志文件位置
  183. default = FILE:/var/log/krb5libs.log
  184. kdc = FILE:/var/log/krb5kdc.log
  185. admin_server = FILE:/var/log/kadmind.log
  186. [kdc]
  187. profile = /var/kerberos/krb5kdc/kdc.conf
  188. [libdefaults]
  189. default_realm = TEST.COM #大写,windows2008活动目录域名,刚才在windows上创建的test.com
  190. dns_lookup_realm = true
  191. dns_lookup_kdc = true
  192. ticket_lifetime = 24h
  193. renew_lifetime = 7d
  194. forwardable = true
  195. [realms]
  196. TEST.COM = {
  197. kdc = 10.10.54.152:88 #域控制器的IP
  198. admin_server = 10.10.54.152:749
  199. default_domain = TEST.COM
  200. }
  201. [domain_realm]
  202. .test.com = TEST.COM #指定域
  203. test.com = TEST.COM
  204. [appdefaults]
  205. pam = {
  206. debug = false
  207. ticket_lifetime = 36000
  208. renew_lifetime = 36000
  209. forwardable = true
  210. krb4_convert = false
  211. }
  212. shell>vim /var/kerberos/krb5kdc/kdc.conf
  213. [realms]
  214. TEST.COM = { #修改为TEST.COM
  215. ...
  216. -------------------------------------------------

  217. 3.配置/etc/nsswitch.conf
  218. passwd: files winbind #先读files,然后再通过winbind认证
  219. shadow: files winbind
  220. group: files winbind

  221. 4.配置/etc/samba/smb.conf
  222. ------------------------------------------
  223. workgroup = TEST #工作组
  224. server string = Filesrv
  225. password server = 10.10.54.152 #密码服务器地址,用于存放身份信息
  226. realm = TEST.COM #认证服务器域名,所有认证信息都将由该服务器来提供。
  227. security = ads #ads:使用ads安全级别加入到windows域环境中
  228. netbios name = MYSERVER #centos netbios名,加入后会显示在windows server域的computers中
  229. idmap uid = 16777216-33554431
  230. idmap gid = 16777216-33554431
  231. template shell = /bin/bash
  232. template homedir = /home/%U
  233. winbind use default domain = true
  234. winbind offline logon = true
  235. winbind enum groups = yes
  236. winbind enum users = yes
  237. winbind separator = /
  238. [centos] #共享的目录
  239. comment = centos
  240. path = /home/samba
  241. guest ok = no
  242. read only = yes
  243. write list = boss
  244. browseable = yes
  245. #passdb backend = tdbsam #这行注释掉,不使用samba本身的密码认证
  246. -----------------------------------------

  247. 5.修改linux DNS服务器指向windows域IP
  248. shell> vim /etc/resolv.conf
  249. nameserver 10.10.54.152
  1. 6.重启samba和winbind服务
  2. shell> service winbind restart
  3. shell> service smb restart

  4. //samba加入windows域控制器中
  5. 1.
  6. shell> kinit administrator@TEST.COM #TEST.COM为在windows上创建的域,注意大小写
  7. Password for administrator@TEST.COM:
  8. #输入的密码是windows 2008管理员密码,没有提示说明测试成功

  9. 2.net 命令加入windows域
  10. shell> net ads/rpc join -U administrator@TEST.COM
  11. Enter administrator@TEST.COM's password:
  12. Using short domain name -- TEST
  13. Joined 'MYSERVER' to dns domain 'test.com'
  14. No DNS domain configured for myserver. Unable to perform DNS Update.
  15. DNS update failed!
  16. #此时在windos2008 Active Directory管理中心 test.com 域下可以看到myserver

  17. 3.一些验证
  18. #验证加入是否成功
  19. shell> net ads testjoin
  20. Join is OK
  21. #查看域用户
  22. sehll> wbinfo -u
  23. MYSERVER/boss
  24. MYSERVER/me
  25. MYSERVER/test
  26. MYSERVER/shift1
  27. MYSERVER/shift2
  28. MYSERVER/shift3
  29. administrator
  30. guest
  31. krbtgt
  32. #查看域用户组
  33. shell> wbinfo -g
  34. domain computers
  35. domain controllers
  36. schema admins
  37. enterprise admins
  38. cert publishers
  39. domain admins
  40. domain users
  41. domain guests
  42. group policy creator owners
  43. ras and ias servers
  44. allowed rodc password replication group
  45. denied rodc password replication group
  46. read-only domain controllers
  47. enterprise read-only domain controllers
  48. dnsadmins
  49. dnsupdateproxy

  50. //测试windows活动目录认证是否生效
  51. 1.在windows 活动目录中创建用户test,然后在linux上查看用户信息
  52. shell> wbinfo -u
  53. MYSERVER/boss #linux机子上用户
  54. MYSERVER/me
  55. MYSERVER/test
  56. administrator #下面是windows server上用户
  57. guest
  58. krbtgt
  59. test #刚才在windows server上创建的域用户
  60. 2.验证是否可以登录samba服务器
  61. [ubuntu:158机子]
  62. shell> smbclient //10.10.54.150/centos -Utest #用刚才在windows2008中创建的test用户登录
  63. WARNING: The security=share option is deprecated
  64. Enter test's password:
  65. session setup failed: NT_STATUS_LOGON_FAILURE ##登录失败了!
  66. /etc/samba/smb.conf 中指定的realm是 TEST.COM
  67. shell> smbclient //10.10.54.150/centos -W=TEST.COM -Utest #使用TEST.COM这个域组
  68. WARNING: The security=share option is deprecated
  69. Enter test's password:
  70. Domain=[TEST] OS=[Unix] Server=[Samba 3.6.9-151.el6]
  71. smb: \> ls
  72. . D 0 Wed Mar 5 21:20:25 2014
  73. .. D 0 Wed Mar 5 21:20:20 2014
  74. game.sh A 4846 Wed Mar 5 21:20:25 2014
  75. 39371 blocks of size 524288. 32159 blocks available
  76. ##测试成功


阅读(2390) | 评论(0) | 转发(0) |
0

上一篇:ftp配置文件及实例

下一篇:nfs服务器搭建

给主人留下些什么吧!~~