Samba服务器搭建的心得
Ⅰ 如何配置samba服务器
1、  下载及安装Samba
        推荐用yum来安装,这样它可以自己解决包的依赖关系,省时、省事又方便。一条命令搞定:
        yum -y install samba
2、  配置Samba
        关于Samba的配置网上资料一大堆,可照着很多教程一步一步做下去发现最后就是用不了,郁闷至极啊。
        我的目的不是多仔细,多深入的教你Samba的好,而是教会你如何快速的可以将Samba用起来,因此安全性方面的东西考虑的不是很多。但为了照顾到大家不同档次的水平和口味,我还是尽可能的多写一些东西。
        首先,我强烈的建议大家在修改系统原有任何文件的时候一定要养成“先备份,后修改”的好习惯,相信我,这个习惯会为侬节约很多不必要浪费的时间。接下来我要做的是将/home/目录下的用户“koorey”的主目录给挖出来,供我在windows下访问。步骤如下:
       1). 备份Samba的配置文件:cp  /etc/samba/smb.conf  /etc/samba/smb.conf.bak
       2). 网上很多教程说针对/etc/samba/smb.conf文渗带件要在[global]字段中加入下配置项:
              dos charset = GB2312←将Windows 客户端的文字编码设置为简体中文 GB2312
                  unix charset =GB2312←指定Samba所在的CentOS服务端新建文件或目录时的编码为 GB2312
                 display charset= GB2312←指定使用SWAT(一种通过浏览器控尺唤制Samba的工具)时页面的默认文字编码
                 directory mask =0777←指定新建目录的属性(以下4行)
                 force directorymode = 0777
                 directorysecurity mask = 0777
                 force directorysecurity mode = 0777
                 create mask =0777←指定新建文件的属性(以下4行)
                 force createmode = 0777
                 security mask =0777
                 force securitymode = 0777
        声明:我没有加这些配置,而且在我在共享出来的目录里添加,修改删除文件都没任何问题,还没有乱码现象。
        我在/etc/samba/smb.conf文件的末尾之添加如下字段:
        [koorey]
                comment = koorey
                path = /home/koorey
                writable = yes
        3). linux中/etc/passwd里的用户和Samba里的用户几乎没啥关系,硬说有的话,那就是:Samba的所有用户都必须是系统里已存在的用户。我们要授权系统用户访问Samba的话,通过命令:
        smbpasswd  -a   koorey  #添加用户koorey到Samba用户数据库中
        这条命令输入完后,会提示为新建的用户koorey设陵喊凯置访问密码。最后再执行一下service smb restart命令就OK了。至此,Samba服务器就架设好了。不信?为啥?因为后面还有章节,哈哈,说的没错。理论上说确实已经架设好了,可千万不要忽略了Linux的安全机制的存在:iptables和selinux。其中本人就吃了selinux不少苦头。因为只弄了iptables,却忘记了selinux这个牛叉叉的家伙。关于iptables本人会在后面的博客从头到脚,从里到外,循序渐进的以此和大家交待它的来龙去脉。当然,如果你感兴趣的话。
3、  在对待iptables的问题上:
        普通青年:直接在命令行敲…
            service  iptables stop。
        文艺青年:依次在命令行敲…
            iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
            iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
            iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 137 -j ACCEPT
            iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 138-j ACCEPT
            iptables-save
            service iptables  restart
4、  同样,在对在selinux的问题上:(这丫的把我坑惨了呀)
        普通青年:直接在命令行敲…
            setenforce 0
            vi /etc/selinux/config
        将SELINUX=enforcing改为SELINUX=disabled为开机重启后不再执行setenfore节约光阴。
       文艺青年:依次在命令行敲…
            setsebool -Psamba_enable_home_dirs on
            setsebool -Psamba_export_all_rw on
       完事儿之后再:getsebool  -a  | grep  samba一把,你懂得…
5、最后在Windows系统里,访问结果如下:
6、打完收工。
      不管你是普通青年还是文艺青年,如果你是一步一步照着做下来的,结果最后Samba还不通,请留言告诉我。
Ⅱ Linux下如何搭建SAMBA服务器
1、相关的文件
   samba-common   samba服务器的主文件
   samba          服务器端的软件
   samba-client   客户端的软件
   redhat-config-samba    图形界面的配置文件
   samba-swat     web配置工具
   2、步骤
   1)安装SAMBA服务器
   (1)检测是否安装samba
    #rpm -qa | grep samba
    (2)安装:将第一张光盘放入光驱
    #mount /mnt/cdrom
    #cd /mnt/cdrom/RedHat/RPMS
    #ls samba*.*
    #rpm -ivh samba-common-2.2.7a-7.9.0.i386.rpm
    #rpm -ivh samba-2.2.7a-7.9.0.i386.rpm
    #rpm -ivh samba-client-2.2.7a-7.9.0.i386.rpm
    #cd /
    #umount /mnt/cdrom
    #eject
   2)设置samba的密码文件
    (1)成批用户密码文件的生成
     #cat /etc/passwd | mksmbpasswd.sh > /etc/samba/smbpasswd
     (2)删除一些无用的shell帐户
     #vi /etc/samba/smbpasswd
     从1到9。
     (3)设置目录和文件的权限
    #chown root.root /etc/samba/smbpasswd
    #chmod 500 /etc/samba
    #chmod 600 /etc/samba/smbpasswd
    #ll -d /etc/samba
     (4)单个用户设置samba密码
     #useradd wujianan
     #passwd wujianan
     #smbpasswd -a wujianan
  3)启动samba服务器
     #service smb start
     #pstree | grep mbd
     #smbclient -L localhost或者IP地址
  4)配置samba的共享
    #vi /etc/samba/smb.conf
    [global]
      workgroup = workgroup
      server string = samba server
     ;hosts allow = 192.168.1. 192.168.2. 127.
     printcap = /etc/printcap
     load prints = yes
     printing = cups
     ;guest account = pcguest
     log file = /var/log/samba/%m.log
     max log size = 0
     安全选项
     security = user(share)
     encrypt passwords = yes
     smb passwd file = /etc/samba/smbpasswd
   ;interfaces = 192.168.12.2/24 192.168.13.2/24
    dns proxy = no
     设置每个用户主目录共享
     [homes]
     comment = Home Directries
     browseable = no  不允许浏览共享文件夹
     writeable = yes  允许写入
     valid users = %s    
     create mode = 0664
     directry mode = 0775  
     [printers]
     comment = All prints
     path = /var/spool/samba
     browseable = no 
     printable = yes
     [doc]
     comment =  doc
     path = /home/doc
     browseable = no
     writeable = no或 read only = yes
     guest ok = yes
   示例:
   要求:创建一个共享目录,所有用户都可访问,权限为只读。  
   #vi /etc/samba/smb.conf
   workgroup = workgroup
   server string = samba server
   netbios name = RH9
   dos charset = cp936
   unix charset = cp936
   secrity = share
   [read]
    comment = read
    path = /home/read
    public = yes
    guest ok = yes
    read only = yes
保存退出
    #mkdir /home/read
    #service iptables stop
    #service smb start
    #testparm
   \\ip地址
 创建一个可写的目录,允许所有用户可写入。 
 [write]
   comment = write
   path = /home/write
   public = yes
   guest ok = yes
   writeable = yes
  保存退出
   #mkdir /home/write
   #chmod 777 /home/write
   #service iptables stop
   #service smb restart
   为指定的用户和组访问samba服务器
   #useradd mehost
   #passwd wujianan
   #smbpasswd -a wujianan
   #mkdir /var/samba/wujianan
   #chown stu1.stu1 /var/samba/wujianan
   #vi /etc/samba/smb.conf
   
    security = user
    
    [wujianan]
      comment = wujianan
      path = /var/samba/wujianan
      valid users = wujianan
      public = yes
      writeable = yes
   保存退出
    #service smb restart
      最简单的电影服务器的配置
    #vi /etc/samba/smb.conf
     workgroup = workgroup
     server string = movies server
     guest account = nobody
     security = share
     client code page = cp936
     wins support = yes
    [movies]
      comment = movies
      browseable = yes
      writeable = no
      path = /movies
      guest ok = yes
      read only = yes
     保存退出
     #mkdir /movies
     #useradd admin -d movies
     #passwd admin
     #vi /etc/passwd
     admin:x:0:500::/movies:/bin/bash
     保存退出
     #ntsysv
       选择smb和vsftp项
     #service smb start
     #service vsftpd start
     #service iptables stop
Ⅲ 谈谈samba服务器的工作原理及基本步骤
Samba 的工作原理是,让NETBIOS(Windows95网络邻居的通讯协议)和SMA Server Message Block)这两个协议运行于TCP/IP通信协议之上,并且使用Windows 95的NETBEUI协议让LINUX 可以在网络邻居上被Windows 95看到。 其中最重要的就是SMB协议(Server Message Block),这是一个用于不同计算机之间共享打印机、串行口和通讯抽象(如命名管道、邮件插槽等)的协议。SMB协议是一个非常重要的协议,在所有 的Microsoft Windows系列操作系统中广为应用。 Samba是SMB服务器在类UNIX系统上的实现。它是开放源代码的GPL自由软件。目前Samba可以在几乎所有的UNIX变种上运行。
Ⅳ samba安装、配置、排错
 零:场景:
   | 共享名 | 路径 | 权限 |
   | SHAREDOC | /smb/docs | 所有人员包括来宾均可以访问 |
   | RDDOCS | /smb/tech | 仅允许特定组的用户进行读写访问 |
特定组的组名为RD,目前的Alice、Jack、Tom三个人
一、 安装Samba
//或者使用rpm安装
//查看安装版本信息
 Tips:也之前的SAMBA 3有一个重大的变化是:security不再支持share
   WARNING: Ignoring invalid value 'share' forparameter 'security'.
二、 配置Samba服务器
1.创建共享目录(假设共享/smb目录下的文件)
2.配置内核参数
 3.配置smb.conf文件
   1)备份原配置文件:
2)删除原有所有内容,添加如下内容:
 [global]
   workgroup=BIGCLOUD
   netbios name=ZZSRV2
   server string=Samba Server
 security=user
   map to guest = Bad User
   [SHAREDOCS]
   path=/smb/docs
   readonly=yes
   browseable=yes
   guest ok=yes
   [RDDOCS]
   path = /smb/tech/
   public = no
   writable = yes
   write list = @RD
   valisers = @RD
三、 创建用户并分配权限
1.创建操作系统用户
2.修改用户的组
uid=1000(alice) gid=1000(alice)groups=1000(alice),1003(RD)
3.创建SAMBA用户
4.修改目录权限
5.查看服务状态
drwxrwx--- 2 RD RD 4096 Aug 11 17:08 /smb/tech/
 smb.service - Samba SMB Daemon
   Loaded: loaded(/usr/lib/systemd/system/smb.service; enabled)
   Active: active (running) since Tue2014-08-12 11:38:29 CST; 14s ago
   Main PID: 16807 (smbd)
   Status: "smbd: ready to serveconnections..."
   CGroup: /system.slice/smb.service
   16807 /usr/sbin/smbd
   16808 /usr/sbin/smbd
 systemd[1]:Starting Samba SMB Daemon...
   smbd[16807]:[2014/08/12 11:38:29.255341,  0]../lib/util/become_daemon.c:136(daemon_ready)
   systemd[1]:Started Samba SMB Daemon.
   smbd[16808]:STATUS=daemon 'smbd' finished starting up and ready to serve connectionsfailedto retrieve print...CCESSFUL
   Hint:Some lines were ellipsized, use -l to show in full.
四、 测试连通性
1.Linux上测试
Domain=[BIGCLOUD] OS=[Unix] Server=[Samba 4.1.1]
Domain=[BIGCLOUD] OS=[Unix] Server=[Samba 4.1.1]
2.Windows上测试
 1)使用虚拟机(如VMware)安装Linux(如Ubuntu)系统时,为方便Windows和Linux文件互通方便(主要是Windows下访问Linux文件了),一般都会在LINUX下安装Samba服务器。
   在XP下,可以通过[//192.168.3.104](file://192.168.3.104/)(Linux系统IP)进行访问其共享文件,但在WIN7或VISTA下却不行,因为Samba只支持NTLM认证,而WIN7或VISTA则采用NTLMv2认证,因此必须经过一些设置才行,具体设置如下:
   开始->运行->secpol.msc->本地策略->安全选项->网络安全:LAN管理器身份验证级别->发送 LM 和 NTLMv2 ,如果已协商,则使用NTLMv2 (会话安全 &)->完成设置。(如下图所示)
   这时,再使用[//192.168.3.104](file://192.168.3.104/)(Linux系统IP)就可以访问Linux共享文件了   _ 
 2)C:>netuse * /del
   您有以下的远程连接:
继续运行会取消连接。
 您想继续此操作吗? (Y/N) [N]: y
   命令成功完成。
 C:>netuse 192.168.188.12 P@ssw0rd /U:alice
   命令成功完成。
3)打开资源管理器进行写入测试
 4)如果windows下登录samba服务器后无法访问linux下共享目录,提示没有权限。则检查:
   a、确保linux下防火墙关闭或者是开放共享目录权限;
   b、确保samba服务器配置文件smb.conf设置没有问题,可网上查阅资料看配置办法  ;
   c、确保setlinux关闭,可以用setenforce 0命令执行。 默认的,SELinux禁止网络上对Samba服务器上的共享目录进行写操作,即使你在smb.conf中允许了这项操作。
Ⅳ 濡备綍鎼寤轰笌Windows瀹㈡埛链虹粨钖堜娇鐢ㄧ殑Samba鏂囦欢链嶅姟鍣
鎹甋amba椤圭洰缃戠珯澹扮О锛孲amba鏄涓缁勫紑婧/鍏嶈垂杞浠跺椾欢锛屽畠涓篠MB/CIFS瀹㈡埛链烘彁渚涗简镞犵绅椤虹晠镄勬枃浠跺拰镓揿嵃链嶅姟銆备笉镀忓疄鐜癝MB/CIFS缃戠粶鍗忚镄勫叾浠栫郴缁燂纸姣斿傞溃钖慔P-UX镄凩M Server銆侀溃钖慜S/2镄凩AN Server鎴胧isionFS锛夛纴Samba锛埚强鍏舵簮浠g爜锛夊彲浠ュ厤璐硅幏鍙栵纸链缁堢敤鎴蜂笉闇瑕佹敮浠树换浣曡垂鐢锛夛纴骞朵笖鍏佽窎inux/Unix链嶅姟鍣ㄥ拰Windows/Unix/Linux瀹㈡埛链轰箣闂村疄鐜板岗钖岃繍琛屻
姝f槸鐢变簬杩欎簺铡熷洜锛屽湪涓嶅悓镄勬搷浣灭郴缁燂纸骞堕潪浠呬粎鍙链茔inux锛夊叡瀛樼殑缃戠粶鐜澧冧笅锛孲amba鏄鏂囦欢链嶅姟鍣ㄧ殑浼橀夎В鍐虫柟妗堚曗曡屾渶甯歌佺殑缃戠粶鏋舵瀯灏辨槸澶氢釜寰杞疻indows瀹㈡埛链鸿块梾涓鍙板畨瑁呮湁Samba镄凩inux链嶅姟鍣锛屾垜浠灏嗗湪链鏂囦腑鎺㈣ㄨ繖绉嶆儏褰銆
瑕佹敞镒忥细鍙︿竴鏂归溃锛屽傛灉鎴戜滑镄勭绣缁滃畬鍏ㄧ敱锘轰簬Unix镄勫㈡埛链猴纸姣斿侺inux銆丄IX鎴朣olaris绛夌瓑锛夌粍鎴愶纴鍙浠ヨ冭槛浣跨敤NFS锛堜笉杩囧湪杩欑嶆儏鍐典笅Samba浠嶆槸涓绉嶉夋嫨锛夛纴杩欐椂NFS镄勯熷害镟村揩銆
灏哠amba瀹夎呭湪Debian鍜孋entOS涓
鍦ㄦ垜浠寮濮嬬潃镓嫔畨瑁呬箣鍓嶏纴鍙浠ヤ娇鐢ㄦ搷浣灭郴缁熺殑杞浠跺寘绠$悊绯荤粺锛屽绘垒鍏充簬Samba镄勪俊鎭锛
鍦―ebian涓婏细
#aptitudeshowsamba
鍦–entOS涓婏细
#yuminfosamba
鍦ㄤ笅闱㈣繖涓灞忓箷鎴锲句腑锛屾垜浠鍙浠ョ湅鍒扳渁ptitude show samba钬濈殑杈揿嚭缁撴灉锛堚测um info samba钬濅细寰楀埌绫讳技镄勭粨鏋滐级锛
Ⅵ linux访问windows的samba配置,如何配置详细教程
1,首先我们要知道samba的作用是做什么的?
其实在我看来samba有三点好处
a:是一个文件共享服务器,是linux与windows的沟通管道
b:可以作为打印print server提供windows远程联机打印,(有人会说windows也可以啊,但个人认为还是linux稳定些)
c:samba也可以作为wins server服务器,配合dhcp服务器可以管理NT网域。
2,samba每次启动至少有两个服务进程smbd,nmbd,它们分别的作用是?
smbd 用来管理samba主机分享什么什么目录,打印服务等
nmbd 用来管理群组,netbios name的解析
3,当samba启动的时候会用到那些端口呢?
samba启动的时候会用到137,138,139,三个端口所以我们在配置防火墙的时候会用到这三个端口的
4,samba的安装?
首先我们需要检测自己到底安装了samba服务没有,因为我们装系统的时候默认是装了samba服务的(我这里装的是fedora4)
[root@www ~]# rpm -qa |grep samba
samba-3.0.14a-2
system-config-samba-1.2.31-1
samba-common-3.0.14a-2
samba-client-3.0.14a-2
本机已经安装了 ,其实我真的挺建议大家装的时候用rpm包装,而不用tar.gz,我给大家推荐个网站可以下载所有的rpm包,只需要安装4个rpm包就可以了,以后缺少什么rpm包就直接来这里下载了,这里提醒下samba的最新版本为3.0.28版本,下载地址为
5,确认samba服务是否启动
[root@www ~]# ps aux |grep samba
root 32713 0.0 0.0 280 16 pts/0 R+ 15:46 0:00 grep samba
6.启动samba服务
[root@www samba]# service smb start
启动 SMB 服务: [ 确定 ]
启动 NMB 服务: [ 确定 ]
想要开机就启动samba服务,有两种方法a. [root@www samba]# ntsysv b.[root@www samba]# chkconfig --level 345 smb on
7,samba是装在默认是装在etc目录下的,而samba文件夹下有那些文件以及文件的含义?
[root@www ~]# cd /etc/samba/
[root@www samba]# ls
lmhosts 局域网内相关的netbios name对应的ip信息
secrets.tdb 这是加密库
smb.conf samba的主配置文件
smbpasswd samba服务器的使用者密码对应表
smbusers user模式下的Samba 服务,在登录的时候所使用的用户名必需是在/etc/samba/smbusers中定意过。只有提供smbusers中定义过的用户SAMBA才能允许登录。
8.smb.conf配置
a,首先挑几个比较重要的解释下
workgroup = MYGROUP 工作组群:同一个局域网内,要有相同的workgroup
server string = Samba Server 主机的说明,可以随便起名字
log file = /var/log/samba/%m.log 日志登录文件存放的位置
max log size = 50 最大日志大小这里的50指的是50kB
security = user 需要用户名和密码才能登录,与smbpasswd有关
= share 不需要用户名和密码进行登录
= domin 就是让你的samba作为主域控制器
[myshare] 共享目录
comment =  对这个共享目录的说明
path = /var/www/html 共享的路径 
public = no 是否让所有登录者都看到这个目录
read only = no 不光可读还可执行存取
writable = yes 是否可以写入
printable = no 是否可以打印 
valid users = zy 允许的登陆者
create mask = 0765 权限是目录所有者是可读可写可执行 同一个组的用户可读可写 其他用户只有读和执行的权利
9,以security = share 写一个实例
[root@www samba]# vi smb.conf
workgroup = MYGROUP 
server string = 赵勇 Server
client code page = 950 想让你的samba可以在windows上显示中文就需要加入这句,没设定默认的值是850
security = share 安全级别是share
log file = /var/log/samba/%m.log 日志登录文件存放的位置
max log size = 0 表示登录档案大小不限制
下面的是自己添加的
[zy]
comment = zy samba server 
path = /tmp
read only = no 
public = yes
然后测试samba服务器
[root@www samba]# testparm
然后再按enter键 就会出现你的所有配置
从新启动samba
[root@www samba]# service smb restart
客户端的测试
打开网上邻居 然后查看所有网络 然后找到mygroup 找到你的samba主机
10.接下来我们要设定需要密码认证才能登陆的samba服务器
workgroup = MYGROUP 
server string = zy Server
hosts allow = 192.168.1.102 127. 需要说明我windows主机地址为192.168.1.102 这里是为了安全期间 只允许192.168.1.102这个地址才能访问我的samba服务器 
client code page = 950 想让你的samba可以在windows上显示中文就需要加入这句,没设定默认的值是850
security = user 安全级别是user
encrypt passwords = yes 使用加密密码对samba访问
smb passwd file = /etc/samba/smbpasswd 密码保存文件路径
log file = /var/log/samba/%m.log 日志登录文件存放的位置
max log size = 0 表示登录档案大小不限制
底下设定每个使用者的家目录,这里我有两个用户zy,yy
[homes]
comment = zy yy homes
browseable = no browseable是yes/否no在浏览资源中显示共享目录,若为否则必须指定共享路径才能存取
valid users = %s %s指的是任何可以登录者都可以登录的意思,比如是zy登录则[homes]变为[zy],而yy登录[homes]变为[yy]
writable = yes 可写
create mask = 0755 创建档案的权利是755
directory mask = 0755 创建目录的权力是755
[public]
comment = zy yy
path = /home/public 指定路径
public = yes 允许公开共享
writable = yes 可以写入
11,创建public目录,创建用户,并测试从新启动samba服务器
[root@www home]# mkdir public
[root@www ~]# chmod 777 public 给这个目录的权限
[root@www ~]# useradd yy 创建系统用户yy 
[root@www ~]# smbpasswd -a yy 把yy用户加入smbpasswd中
New SMB password:
Retype new SMB password:
Added user yy.
[root@www ~]# useradd zy
[root@www samba]# smbpasswd -a zy
New SMB password:
Retype new SMB password:
Added user zy.
[root@www samba]# service smb restart 
我可以帮助你,你先设置我最佳答案后,我网络Hii教你。
Ⅶ Linux系统怎么搭建Samba共享服务器
方法/步骤
1
需要检查linux是否已安装samba;
检查命令为:rpm –qa |grep samba;
如果没有输出什么信息,表明没有安装,需要到网络下载安装,下载如下:
2
以下可以看到我的linux系统有安装samba,可以进行下一步;
建立共享文件夹,命令如下:
Mkdir /home/fileshare;
如下图:
如下图,已建立好文件夹;
设置好文件夹权限,命令如下:
Chmod 755 fileshare;
建立samba用户;
Groupadd fileshare
Useradd –s /sbin/nologin file
Smbpasswd –a file
注意:访问共享的用户必须为samba用户,不能使用其他用户;
修改sambe配置文件;命令如下:
Vim /etc/samba/smb.conf;
修改samba配置文件全局设置;
#==============================Global settings===============
[global]     workgroup = WORKGROUP     server string = Samba Server     security = share
设置文件夹共享,如下:
[sharefile]     path = /home/sharefile     public = yes     read only = yes
重启smb服务;
Service smb restart;
Windows 访问共享成功。如下:
linux共享服务器完美架设,下次会继续和大家分享linux其他经验。
