samba完美安装

感觉是一个相当强大的东西。

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件。它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。为客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
 

下载到你的linux下面。
1、解压
  1. tar -xzvf samba-latest.tar.gz
2、安装
  1. ./configure
  2. make
  3. make install
在执行./configure的时候可能会出现一些库没安装的现象。
直接yum install 这些库就行了。
 
3、设置 smb.conf
这里我提供的smb.conf是共享 /home目录。
复制下面这个文件内容,命名 smb.conf 。放到
放到 /usr/local/samba/etc  下面。
  1. # This is the main Samba configuration file. You should read the
  2. # smb.conf(5) manual page in order to understand the options listed
  3. # here. Samba has a huge number of configurable options (perhaps too
  4. # many!) most of which are not shown in this example
  5. #
  6. # For a step to step guide on installing, configuring and using samba,
  7. # read the Samba-HOWTO-Collection. This may be obtained from:
  8. # http://www.samba.org/samba/docs/Samba-HOWTO-Collection.pdf
  9. #
  10. # Many working examples of smb.conf files can be found in the
  11. # Samba-Guide which is generated daily and can be downloaded from:
  12. # http://www.samba.org/samba/docs/Samba-Guide.pdf
  13. #
  14. # Any line which starts with a ; (semi-colon) or a # (hash)
  15. # is a comment and is ignored. In this example we will use a #
  16. # for commentry and a ; for parts of the config file that you
  17. # may wish to enable
  18. #
  19. # NOTE: Whenever you modify this file you should run the command "testparm"
  20. # to check that you have not made any basic syntactic errors.
  21. #
  22. #======================= Global Settings =====================================
  23. [global]
  24. # workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH
  25. workgroup = MYGROUP
  26. # server string is the equivalent of the NT Description field
  27. server string =SambaServer
  28. # Security mode. Defines in which mode Samba will operate. Possible
  29. # values are share, user, server, domain and ads. Most people will want
  30. # user level security. See the Samba-HOWTO-Collection for details.
  31. security = user
  32. # This option is important for security. It allows you to restrict
  33. # connections to machines which are on your local network. The
  34. # following example restricts access to two C class networks and
  35. # the "loopback" interface. For more examples of the syntax see
  36. # the smb.conf man page
  37. ; hosts allow =192.168.1.192.168.2.127.
  38. # If you want to automatically load your printer list rather
  39. # than setting them up individually then you'll need this
  40. load printers = yes
  41. # you may wish to override the location of the printcap file
  42. ; printcap name =/etc/printcap
  43. # on SystemV system setting printcap name to lpstat should allow
  44. # you to automatically obtain a printer list from the SystemV spool
  45. # system
  46. ; printcap name = lpstat
  47. # It should not be necessary to specify the print system type unless
  48. # it is non-standard. Currently supported print systems include:
  49. # bsd, cups, sysv, plp, lprng, aix, hpux, qnx
  50. ; printing = cups
  51. # Uncomment this if you want a guest account, you must add this to /etc/passwd
  52. # otherwise the user "nobody" is used
  53. ; guest account = pcguest
  54. # this tells Samba to use a separate log file for each machine
  55. # that connects
  56. log file =/var/log/samba/log.%m
  57. # Put a capping on the size of the log files (in Kb).
  58. max log size =50
  59. # Use password server option only with security = server
  60. # The argument list may include:
  61. # password server = My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name]
  62. # or to auto-locate the domain controller/s
  63. # password server = *
  64. ; password server =<NT-Server-Name>
  65. # Use the realm option only with security = ads
  66. # Specifies the Active Directory realm the host is part of
  67. ; realm = MY_REALM
  68. # Backend to store user information in. New installations should
  69. # use either tdbsam or ldapsam. smbpasswd is available for backwards
  70. # compatibility. tdbsam requires no further configuration. If you're
  71. # migrating from < samba 3.4, you'll have to convert your old user
  72. # passwords to the new backend with the command:
  73. # pdbedit -i smbpasswd:/var/lib/samba/private/smbpasswd -e
  74. ; passdb backend = tdbsam
  75. # Using the following line enables you to customise your configuration
  76. # on a per machine basis. The %m gets replaced with the netbios name
  77. # of the machine that is connecting.
  78. # Note: Consider carefully the location in the configuration file of
  79. # this line. The included file is read at that point.
  80. ; include =/etc/samba/smb.conf.%m
  81. # Configure Samba to use multiple interfaces
  82. # If you have multiple network interfaces then you must list them
  83. # here. See the man page for details.
  84. ; interfaces =192.168.12.2/24192.168.13.2/24
  85. # Browser Control Options:
  86. # set local master to no if you don't want Samba to become a master
  87. # browser on your network. Otherwise the normal election rules apply
  88. ; local master = no
  89. # OS Level determines the precedence of this server in master browser
  90. # elections. The default value should be reasonable
  91. ; os level =33
  92. # Domain Master specifies Samba to be the Domain Master Browser. This
  93. # allows Samba to collate browse lists between subnets. Don't use this
  94. # if you already have a Windows NT domain controller doing this job
  95. ; domain master = yes
  96. # Preferred Master causes Samba to force a local browser election on startup
  97. # and gives it a slightly higher chance of winning the election
  98. ; preferred master = yes
  99. # Enable this if you want Samba to be a domain logon server for
  100. # Windows95 workstations.
  101. ; domain logons = yes
  102. # if you enable domain logons then you may want a per-machine or
  103. # per user logon script
  104. # run a specific logon batch file per workstation (machine)
  105. ; logon script =%m.bat
  106. # run a specific logon batch file per username
  107. ; logon script =%U.bat
  108. # Where to store roving profiles (only for Win95 and WinNT)
  109. # %L substitutes for this servers netbios name, %U is username
  110. # You must uncomment the [Profiles] share below
  111. ; logon path = \%LProfiles\%U
  112. # Windows Internet Name Serving Support Section:
  113. # WINS Support - Tells the NMBD component of Samba to enable it's WINS Server
  114. ; wins support = yes
  115. # WINS Server - Tells the NMBD components of Samba to be a WINS Client
  116. # Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
  117. ; wins server = w.x.y.z
  118. # WINS Proxy - Tells Samba to answer name resolution queries on
  119. # behalf of a non WINS capable client, for this to work there must be
  120. # at least one WINS Server on the network. The default is NO.
  121. ; wins proxy = yes
  122. # DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names
  123. # via DNS nslookups. The default is NO.
  124. dns proxy = no
  125. # These scripts are used on a domain controller or stand-alone
  126. # machine to add or delete corresponding unix accounts
  127. ; add user script =/usr/sbin/useradd %u
  128. ; add group script =/usr/sbin/groupadd %g
  129. ; add machine script =/usr/sbin/adduser -n -g machines -c Machine-d /dev/null -s /bin/false%u
  130. ;delete user script =/usr/sbin/userdel %u
  131. ;delete user from group script =/usr/sbin/deluser %u %g
  132. ;delete group script =/usr/sbin/groupdel %g
  133. #============================ Share Definitions ==============================
  134. [homes]
  135. comment =HomeDirectories
  136. browseable = yes
  137. writable = yes
  138. valid users =%S
  139. create mask =0644
  140. directory mask =0755
  141. # Un-comment the following and create the netlogon directory for Domain Logons
  142. ;[netlogon]
  143. ; comment =NetworkLogonService
  144. ; path =/var/lib/samba/netlogon
  145. ; guest ok = yes
  146. ; writable = no
  147. ; share modes = no
  148. # Un-comment the following to provide a specific roving profile share
  149. # the default is to use the user's home directory
  150. ;[Profiles]
  151. ; path =/var/lib/samba/profiles
  152. ; browseable = no
  153. ; guest ok = yes
  154. # NOTE: If you have a BSD-style print system there is no need to
  155. # specifically define each individual printer
  156. [printers]
  157. comment =AllPrinters
  158. path =/var/spool/samba
  159. browseable = no
  160. # Set public = yes to allow user 'guest account' to print
  161. guest ok = no
  162. writable = no
  163. printable = yes
  164. # This one is useful for people to share files
  165. ;[tmp]
  166. ; comment =Temporary file space
  167. ; path =/tmp
  168. ; read only = no
  169. ;public= yes
  170. # A publicly accessible directory, but read only, except for people in
  171. # the "staff" group
  172. [public]
  173. comment =PublicStuff
  174. path =/
  175. public= yes
  176. writable = yes
  177. printable = no
  178. create mask =0644
  179. directory mask =0755
  180. # write list = @staff
  181. # Other examples.
  182. #
  183. # A private printer, usable only by fred. Spool data will be placed in fred's
  184. # home directory. Note that fred must have write access to the spool directory,
  185. # wherever it is.
  186. ;[fredsprn]
  187. ; comment =Fred's Printer
  188. ; valid users = fred
  189. ; path =/homes/fred
  190. ; printer = freds_printer
  191. ;public= no
  192. ; writable = no
  193. ; printable = yes
  194. # A private directory, usable only by fred. Note that fred requires write
  195. # access to the directory.
  196. ;[fredsdir]
  197. ; comment =Fred's Service
  198. ; path =/usr/somewhere/private
  199. ; valid users = fred
  200. ;public= no
  201. ; writable = yes
  202. ; printable = no
  203. # a service which has a different directory for each machine that connects
  204. # this allows you to tailor configurations to incoming machines. You could
  205. # also use the %U option to tailor it by user name.
  206. # The %m gets replaced with the machine name that is connecting.
  207. ;[pchome]
  208. ; comment = PC Directories
  209. ; path =/usr/pc/%m
  210. ;public= no
  211. ; writable = yes
  212. # A publicly accessible directory, read/write to all users. Note that all files
  213. # created in the directory by users will be owned by the default user, so
  214. # any user with access can delete any other user's files. Obviously this
  215. # directory must be writable by the default user. Another user could of course
  216. # be specified, in which case all files would be owned by that user instead.
  217. ;[public]
  218. ; path =/usr/somewhere/else/public
  219. ;public= yes
  220. ; only guest = yes
  221. ; writable = yes
  222. ; printable = no
  223. # The following two entries demonstrate how to share a directory so that two
  224. # users can place files there that will be owned by the specific users. In this
  225. # setup, the directory should be writable by both users and should have the
  226. # sticky bit set on it to prevent abuse. Obviously this could be extended to
  227. # as many users as required.
  228. ;[myshare]
  229. ; comment =Mary's and Fred's stuff
  230. ; path =/usr/somewhere/shared
  231. ; valid users = mary fred
  232. ;public= no
  233. ; writable = yes
  234. ; printable = no
  235. ; create mask =0765

4、关闭防火墙(针对centos 、red hat、fedora系统)
  1. service iptables stop
  2. setsebool -P samba_enable_home_dirs on
  3. systemctl stop firewalld.service
5、增加用户
在 /usr/local/samba/bin
  1. ./smbpasswd -a 用户名
6、开启samba
在 /usr/local/samba/sbin 下执行
  1. ./smbd
  2. ./nmbd
7、访问samba
打开windows下面的运行。输入\你安装samba的linux IP地址
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 





原文地址:https://www.cnblogs.com/yml435/p/6182304.html