Fedora16/RedHat6.4下配置samba

目录

1.samba的原理

2.安装samba

3.配置samba

4.防火墙的设置

5.启动samba服务


以前每次安装samba,都要折腾一会。今天仔细研究了下,发现配置起来还是很容易的。因此记录下来,方便日后复用。

1.samba的原理

  SMB协议是建立在NetBIOS协议之上的应用协议,是基于TCP138、139两个端口的服务,NetBIOS出现之后,Microsoft就使用NetBIOS实现了一个网络文件/打印服务系统。这个系统基于NetBIOS设定了一套文件共享协议,Microsoft称之为SMB(Server Message Block)协议,这个协议被用于LanManager和Windows服务器系统中,实现不同计算机之间共享打印机和文件等。因此,为了让Windows和Unix/Linux计算机相集成,最好的办法就是在Unix/Linux计算机中安装支持SMB协议的软件。这样使用Windows的客户端不需要更改设置,就能像使用Windows NT或Windows 2000服务器一样,使用Unix/Linux计算机上的共享资源了。

2.安装samba

  1). 先把cd挂载到/mnt/cdrom目录下。

[root@localhost shltsh]# mkdir /mnt/cdrom
[root@localhost shltsh]# mount -t iso9660 /dev/cdrom /mnt/cdrom
mount: block device /dev/sr0 is write-protected, mounting read-only

  2). 切换到安装盘的Packages目录下,安装samba。

[root@localhost shltsh]# cd /mnt/cdrom/Packages/
[root@localhost Packages]# ls *samba*
kdenetwork-fileshare-samba-4.7.2-2.fc16.i686.rpm samba-common-3.6.0-69rc2.fc16.1.i686.rpm system-config-samba-docs-1.0.9-2.fc15.noarch.rpm
samba-3.6.0-69rc2.fc16.1.i686.rpm samba-winbind-clients-3.6.0-69rc2.fc16.1.i686.rpm
samba-client-3.6.0-69rc2.fc16.1.i686.rpm system-config-samba-1.2.93-1.fc16.noarch.rpm
[root@localhost Packages]# rpm -ivh samba-3.6.0-69rc2.fc16.1.i686.rpm 
warning: samba-3.6.0-69rc2.fc16.1.i686.rpm: Header V3 RSA/SHA256 Signature, key ID a82ba4b7: NOKEY
error: Failed dependencies:
samba-common = 0:3.6.0-69rc2.fc16.1 is needed by samba-0:3.6.0-69rc2.fc16.1.i686
[root@localhost Packages]# rpm -ivh samba-common-3.6.0-69rc2.fc16.1.i686.rpm 
warning: samba-common-3.6.0-69rc2.fc16.1.i686.rpm: Header V3 RSA/SHA256 Signature, key ID a82ba4b7: NOKEY
Preparing... ########################################### [100%]
1:samba-common ########################################### [100%]
[root@localhost Packages]# rpm -ivh samba-3.6.0-69rc2.fc16.1.i686.rpm 
warning: samba-3.6.0-69rc2.fc16.1.i686.rpm: Header V3 RSA/SHA256 Signature, key ID a82ba4b7: NOKEY
Preparing... ########################################### [100%]
1:samba ########################################### [100%]

3.配置samba

  samba的配置在/etc/samba/smb.conf目录下。本文的目的是将文件共享在局域网中,并使得共享目录有访问以及读写权限。

[root@localhost Packages]# vi /etc/samba/smb.conf

  设置下面的各项

  workgroup = MYGROUP                     //设置工作组
  server string = Samba Server Version %v //共享文件(夹)的描述信息
  netbios name = MYSERVER                 //NetBIOS名字。Fedora16默认没有启动
  log file = /var/log/samba/log.%m        //日志文件的保存路径,%m代表windows主机名
  max log size = 50                       //日志的最大容量
  security = user                         //安全级别。user需要用户名以及密码,share不需要

  接下来设置具体的需要共享的文件的信息。

  [samba]                 //建立一个名字为samba的共享文件
  comment = share folder  //描述信息
  path = /home/samba      //需要共享的文件(夹)路径
  public = no             //是否允许guest用户访问(相当于guest ok = yes/no)
  writable = yes          //是否可写
  printable = no          //指定打印能否启动。取值为no时,则无打印权限
  write list = @users     //可写用户的列表(@代表用户组)

  配置信息准备好之后,接下来设置共享文件(夹)的信息

  [root@localhost ~]# mkdir /home/samba            //创建共享文件的目录
  [root@localhost ~]# chown -R nobody /home/samba/ //设置目录的拥有者为nobody
  [root@localhost ~]# chmod 777 /home/samba/       //设置目录属性(权限)为777,即任意读写以及执行权

  在进行到服务端的连接之前,需要预先对用于登录Samba的用户进行设置。这里我们以标准的Samba用户数据库管理工具“smbpasswd”为例,创建用于登录Samba的用户数据。这里需要注意的一点:用smbpasswd创建用户的前提是,系统用户中存在该用户--在基于系统用户之上,才可以创建该用户在Samba用户数据库中的信息。

  [root@localhost samba]# smbpasswd -a samba
  New SMB password:                       //输入密码
  Retype new SMB password:                //再次确认输入密码
  Added user samba.

4.防火墙的设置

  在启用samba服务之前,需要进行防火墙的设置。开放samba执行时所需要的端口。

  [root@localhost ~]# vi /etc/sysconfig/iptables

  //打开后的内容如下:

  # Firewall configuration written by system-config-firewall
  # Manual customization of this file is not recommended.
  *filter
  :INPUT ACCEPT [0:0]
  :FORWARD ACCEPT [0:0]
  :OUTPUT ACCEPT [0:0]
  -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
  -A INPUT -p icmp -j ACCEPT
  -A INPUT -i lo -j ACCEPT
  -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
  -A INPUT -j REJECT --reject-with icmp-host-prohibited
  -A FORWARD -j REJECT --reject-with icmp-host-prohibited
  COMMIT

  在这一行(*****tcp --dport 22 -j ACCEPT)后面加入下面的几行:

  -A INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
  -A INPUT -m state --state NEW -m TCP -p tcp --dport 445 -j ACCEPT
  -A INPUT -p udp -m udp --dport 137 -j ACCEPT
  -A INPUT -p udp -m udp --dport 138 -j ACCEPT

  重启启动iptables,使规则生效

  [root@localhost ~]#/etc/rc.d/init.d/iptables restart
  restartFlushing firewall rules: [ OK ]
  Setting chains to policy ACCEPT: filter [ OK ]
  Unloading iptables modules: [ OK ]
  Applying iptables firewall rules: [ OK ]

5.启动samba服务

  其中,samba的服务中包含两个守护进程(后台进程), 即smb以及nmb.

  [root@localhost ~]# chkconfig smb on             //设置samba自启动
  [root@localhost ~]# chkconfig --list smb         //确认samba的启动标签,其中2-5应该为on状态
  smb 0:off 1:off 2:on 3:on 4:on 5:on 6:off
  [root@localhost ~]# chkconfig nmb on             //设置nmb自启动
  [root@localhost ~]# chkconfig --list nmb         //确认nmb的启动标签,其中2-5应该为on状态
  nmb 0:off 1:off 2:on 3:on 4:on 5:on 6:off
  [root@localhost ~]# /etc/rc.d/init.d/smb restart //启动samba服务
  Restarting smb (via systemctl): [ OK ]
  [root@localhost ~]# /etc/rc.d/init.d/nmb restart //启动nmb服务
  Restarting nmb (via systemctl): [ OK ]
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值