samba完美安装
感觉是一个相当强大的东西。
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件。它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。为客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
下载到你的linux下面。
1、解压
tar -xzvf samba-latest.tar.gz
2、安装
./configuremakemake install
在执行./configure的时候可能会出现一些库没安装的现象。
直接yum install 这些库就行了。
3、设置 smb.conf
这里我提供的smb.conf是共享 /home目录。
复制下面这个文件内容,命名 smb.conf 。放到
放到 /usr/local/samba/etc 下面。
# This is the main Samba configuration file. You should read the# smb.conf(5) manual page in order to understand the options listed# here. Samba has a huge number of configurable options (perhaps too# many!) most of which are not shown in this example## For a step to step guide on installing, configuring and using samba,# read the Samba-HOWTO-Collection. This may be obtained from:# http://www.samba.org/samba/docs/Samba-HOWTO-Collection.pdf## Many working examples of smb.conf files can be found in the# Samba-Guide which is generated daily and can be downloaded from:# http://www.samba.org/samba/docs/Samba-Guide.pdf## Any line which starts with a ; (semi-colon) or a # (hash)# is a comment and is ignored. In this example we will use a ## for commentry and a ; for parts of the config file that you# may wish to enable## NOTE: Whenever you modify this file you should run the command "testparm"# to check that you have not made any basic syntactic errors.##======================= Global Settings =====================================[global]# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTHworkgroup = MYGROUP# server string is the equivalent of the NT Description fieldserver string =SambaServer# Security mode. Defines in which mode Samba will operate. Possible# values are share, user, server, domain and ads. Most people will want# user level security. See the Samba-HOWTO-Collection for details.security = user# This option is important for security. It allows you to restrict# connections to machines which are on your local network. The# following example restricts access to two C class networks and# the "loopback" interface. For more examples of the syntax see# the smb.conf man page; hosts allow =192.168.1.192.168.2.127.# If you want to automatically load your printer list rather# than setting them up individually then you'll need thisload printers = yes# you may wish to override the location of the printcap file; printcap name =/etc/printcap# on SystemV system setting printcap name to lpstat should allow# you to automatically obtain a printer list from the SystemV spool# system; printcap name = lpstat# It should not be necessary to specify the print system type unless# it is non-standard. Currently supported print systems include:# bsd, cups, sysv, plp, lprng, aix, hpux, qnx; printing = cups# Uncomment this if you want a guest account, you must add this to /etc/passwd# otherwise the user "nobody" is used; guest account = pcguest# this tells Samba to use a separate log file for each machine# that connectslog file =/var/log/samba/log.%m# Put a capping on the size of the log files (in Kb).max log size =50# Use password server option only with security = server# The argument list may include:# password server = My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name]# or to auto-locate the domain controller/s# password server = *; password server =<NT-Server-Name># Use the realm option only with security = ads# Specifies the Active Directory realm the host is part of; realm = MY_REALM# Backend to store user information in. New installations should# use either tdbsam or ldapsam. smbpasswd is available for backwards# compatibility. tdbsam requires no further configuration. If you're# migrating from < samba 3.4, you'll have to convert your old user# passwords to the new backend with the command:# pdbedit -i smbpasswd:/var/lib/samba/private/smbpasswd -e; passdb backend = tdbsam# Using the following line enables you to customise your configuration# on a per machine basis. The %m gets replaced with the netbios name# of the machine that is connecting.# Note: Consider carefully the location in the configuration file of# this line. The included file is read at that point.; include =/etc/samba/smb.conf.%m# Configure Samba to use multiple interfaces# If you have multiple network interfaces then you must list them# here. See the man page for details.; interfaces =192.168.12.2/24192.168.13.2/24# Browser Control Options:# set local master to no if you don't want Samba to become a master# browser on your network. Otherwise the normal election rules apply; local master = no# OS Level determines the precedence of this server in master browser# elections. The default value should be reasonable; os level =33# Domain Master specifies Samba to be the Domain Master Browser. This# allows Samba to collate browse lists between subnets. Don't use this# if you already have a Windows NT domain controller doing this job; domain master = yes# Preferred Master causes Samba to force a local browser election on startup# and gives it a slightly higher chance of winning the election; preferred master = yes# Enable this if you want Samba to be a domain logon server for# Windows95 workstations.; domain logons = yes# if you enable domain logons then you may want a per-machine or# per user logon script# run a specific logon batch file per workstation (machine); logon script =%m.bat# run a specific logon batch file per username; logon script =%U.bat# Where to store roving profiles (only for Win95 and WinNT)# %L substitutes for this servers netbios name, %U is username# You must uncomment the [Profiles] share below; logon path = \\%L\Profiles\%U# Windows Internet Name Serving Support Section:# WINS Support - Tells the NMBD component of Samba to enable it's WINS Server; wins support = yes# WINS Server - Tells the NMBD components of Samba to be a WINS Client# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both; wins server = w.x.y.z# WINS Proxy - Tells Samba to answer name resolution queries on# behalf of a non WINS capable client, for this to work there must be# at least one WINS Server on the network. The default is NO.; wins proxy = yes# DNS Proxy - tells Samba whether or not to try to resolve NetBIOS names# via DNS nslookups. The default is NO.dns proxy = no# These scripts are used on a domain controller or stand-alone# machine to add or delete corresponding unix accounts; add user script =/usr/sbin/useradd %u; add group script =/usr/sbin/groupadd %g; add machine script =/usr/sbin/adduser -n -g machines -c Machine-d /dev/null -s /bin/false%u;delete user script =/usr/sbin/userdel %u;delete user from group script =/usr/sbin/deluser %u %g;delete group script =/usr/sbin/groupdel %g#============================ Share Definitions ==============================[homes]comment =HomeDirectoriesbrowseable = yeswritable = yesvalid users =%Screate mask =0644directory mask =0755# Un-comment the following and create the netlogon directory for Domain Logons;[netlogon]; comment =NetworkLogonService; path =/var/lib/samba/netlogon; guest ok = yes; writable = no; share modes = no# Un-comment the following to provide a specific roving profile share# the default is to use the user's home directory;[Profiles]; path =/var/lib/samba/profiles; browseable = no; guest ok = yes# NOTE: If you have a BSD-style print system there is no need to# specifically define each individual printer[printers]comment =AllPrinterspath =/var/spool/sambabrowseable = no# Set public = yes to allow user 'guest account' to printguest ok = nowritable = noprintable = yes# This one is useful for people to share files;[tmp]; comment =Temporary file space; path =/tmp; read only = no;public= yes# A publicly accessible directory, but read only, except for people in# the "staff" group[public]comment =PublicStuffpath =/public= yeswritable = yesprintable = nocreate mask =0644directory mask =0755# write list = @staff# Other examples.## A private printer, usable only by fred. Spool data will be placed in fred's# home directory. Note that fred must have write access to the spool directory,# wherever it is.;[fredsprn]; comment =Fred's Printer; valid users = fred; path =/homes/fred; printer = freds_printer;public= no; writable = no; printable = yes# A private directory, usable only by fred. Note that fred requires write# access to the directory.;[fredsdir]; comment =Fred's Service; path =/usr/somewhere/private; valid users = fred;public= no; writable = yes; printable = no# a service which has a different directory for each machine that connects# this allows you to tailor configurations to incoming machines. You could# also use the %U option to tailor it by user name.# The %m gets replaced with the machine name that is connecting.;[pchome]; comment = PC Directories; path =/usr/pc/%m;public= no; writable = yes# A publicly accessible directory, read/write to all users. Note that all files# created in the directory by users will be owned by the default user, so# any user with access can delete any other user's files. Obviously this# directory must be writable by the default user. Another user could of course# be specified, in which case all files would be owned by that user instead.;[public]; path =/usr/somewhere/else/public;public= yes; only guest = yes; writable = yes; printable = no# The following two entries demonstrate how to share a directory so that two# users can place files there that will be owned by the specific users. In this# setup, the directory should be writable by both users and should have the# sticky bit set on it to prevent abuse. Obviously this could be extended to# as many users as required.;[myshare]; comment =Mary's and Fred's stuff; path =/usr/somewhere/shared; valid users = mary fred;public= no; writable = yes; printable = no; create mask =0765
service iptables stopsetsebool -P samba_enable_home_dirs onsystemctl stop firewalld.service
5、增加用户
在 /usr/local/samba/bin
./smbpasswd -a 用户名
6、开启samba
在 /usr/local/samba/sbin 下执行
./smbd./nmbd
7、访问samba
打开windows下面的运行。输入\\你安装samba的linux IP地址
浙公网安备 33010602011771号