Linux局域网文件分享系统Samba

上学的时候在学校机房见过FTP做的文件分享系统,服务器是Windows的,当时感觉功能真的很强大,不管是哪台机器都可以共享一个文件夹,后来自己在家里通过查阅各种资料,用自己的win7做FTP服务器,做了一个文件服务器,但是真的很鸡肋,操作体验真的不尽人意。

下面介绍的是Linux服务器平台安装的文件分享系统软件Samba,通过Samba部署的文件分享系统可以兼容Mac、Linux和Windows三大主流操作系统,而且操作体验也非常好,自己在家里做了一个小型分享系统,家用服务器的配置:CPU:凌动 D2500,2G内存,32G SSD的一个小型服务器,4m带宽,速度秒杀FTP,文件上传和下载都在11M/s左右。

下面简单介绍一下CentOS下yum安装过程,如果是在公司内部用,一般会编译安装samba,然后会做一些细节的权限验证,我做家用,能用就可以了,如果你想做更细节的权限分配,去度娘,参考资料好几mol。

安装:

[root@jhq0229 ~]# yum install samba samba-client samba-swat

设置smb和nmb在3、5启动级别随系统启动:

[root@jhq0229 ~]# chkconfig –level 35 smb on

[root@jhq0229 ~]# chkconfig –level 35 nmb on

配置Samba:

[root@jhq0229 ~]# vim /etc/samba/smb.conf

进行如下修改:

#======================= Global Settings =====================================[global]config file = /usr/local/samba/lib/smb.conf.%m# ———————– Network Related Options ————————-## workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH## server string is the equivalent of the NT Description field## netbios name can be used to specify a server name not tied to the hostname## Interfaces lets you configure Samba to use multiple interfaces# If you have multiple network interfaces then you can list the ones# you want to listen on (never omit localhost)## Hosts Allow/Hosts Deny lets you restrict who can connect, and you can# specifiy it as a per share option as well#workgroup = MYGROUPserver string = Samba Server Version %v;netbios name = MYSERVERinterfaces = lo eth0 192.168.1.11/24 192.168.1.1/255hosts allow = 127. 192.168.1. 192.168.0.# ————————— Logging Options —————————–## Log File let you specify where to put logs and how to split them up.## Max Log Size let you specify the max size log files should reach# logs split per machinelog file = /var/log/samba/log.%m# max 50KB per log file, then rotatemax log size = 50# ———————– Standalone Server Options ————————## Scurity can be set to user, share(deprecated) or server(deprecated)## 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.security=share#security = user#passdb backend = tdbsam# ———————– Domain Members Options ————————## Security must be set to domain or ads## Use the realm option only with security = ads# Specifies the Active Directory realm the host is part of## 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.## Use password server option only with security = server or if you can't# use the DNS to locate Domain Controllers# 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 = *;security = domain;passdb backend = tdbsam;realm = MY_REALM;password server = <NT-Server-Name># ———————– Domain Controller Options ————————## Security must be set to user for domain controllers# use either tdbsam or ldapsam. smbpasswd is available for backwards # compatibility. tdbsam requires no further configuration.## 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 Logons let Samba be a domain logon server for Windows workstations. ## Logon Scrpit let yuou specify a script to be run at login time on the client# You need to provide it in a share called NETLOGON## Logon Path let you specify where user profiles are stored (UNC path)## Various scripts can be used on a domain controller or stand-alone# machine to add or delete corresponding unix accounts#;security = user;passdb backend = tdbsam;domain master = yes ;domain logons = yes# the login script name depends on the machine name;logon script = %m.bat# the login script name depends on the unix user used;logon script = %u.bat;logon path = \\%L\Profiles\%u# disables profiles support by specifing an empty path;logon path =;add user script = /usr/sbin/useradd "%u" -n -g users;add group script = /usr/sbin/groupadd "%g";delete user script = /usr/sbin/userdel "%u";delete user from group script = /usr/sbin/userdel "%u" "%g";delete group script = /usr/sbin/groupdel "%g"# ———————– 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## OS Level determines the precedence of this server in master browser# elections. The default value should be reasonable## Preferred Master causes Samba to force a local browser election on startup# and gives it a slightly higher chance of winning the election;local master = no;os level = 33;preferred master = yes#—————————– Name Resolution ——————————-# Windows Internet Name Serving Support Section:# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both## – WINS Support: Tells the NMBD component of Samba to enable it's WINS Server## – WINS Server: Tells the NMBD components of Samba to be a WINS Client## – 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 oneWINS Server on the network. The default is NO.## DNS Proxy – tells Samba whether or not to try to resolve NetBIOS names# via DNS nslookups.;wins support = yes;wins server = w.x.y.z;wins proxy = yes;dns proxy = yes# ————————— Printing Options —————————–## Load Printers let you load automatically the list of printers rather# than setting them up individually## Cups Options let you pass the cups libs custom options, setting it to raw# for example will let you use drivers on your Windows clients## Printcap Name let you specify an alternative printcap file## You can choose a non default printing system using the Printing optionload printers = yescups options = raw;printcap name = /etc/printcap#obtain list of printers automatically on SystemV;printcap name = lpstat;printing = cups# ————————— Filesystem Options —————————## The following options can be uncommented if the filesystem supports# Extended Attributes and they are enabled (usually by the mount option# user_xattr). Thess options will let the admin store the DOS attributes# in an EA and make samba not mess with the permission bits.## Note: these options can also be set just per share, setting them in global# makes them the default for all shares;map archive = no;map hidden = no;map read only = no;map system = no;store dos attributes = yes#============================ Share Definitions ==============================[homes]comment = Home Directoriesbrowseable = nowritable = yes;valid users = %S;valid users = MYDOMAIN\%S[printers]comment = All Printerspath = /var/spool/sambabrowseable = noguest ok = nowritable = noprintable = yes# Un-comment the following and create the netlogon directory for Domain Logons;[netlogon];comment = Network Logon Service;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# A publicly accessible directory, but read only, except for people in# the "staff" group[public]comment = Public Stuffpath = /sharepublic = yeswritable = yesprintable = nowrite list = +staff 建立共享文件夹并分配nobody权限:

[root@jhq0229 ~]# mkdir /share

[root@jhq0229 ~]# chown -R nobody:nobody /share

关闭防火墙:

[root@jhq0229 ~]# chkconfig iptables off

关闭selinux:

[root@jhq0229 ~]# vim /etc/sysconfig/selinux

修改为: #SELINUX=enforcingSELINUX=disabled

重启:

[root@jhq0229 ~]# init 6

重启完成后,,就可以通过局域网内的电脑连接共享目录了,如Windows:

连接分享目录:Win键+R,然后键入\\IP地址\,如:\\192.168.1.18\,结果如下图:

唯有斯人面上簌簌流下的,是点点无声无行的热泪。

Linux局域网文件分享系统Samba

相关文章:

你感兴趣的文章:

标签云: