centos下yum安装samba及配置

在我们使用 Windows 作为客户机的时候,通常有文件、打印共享的需求。作为Windows 网络功能之一,通常可以在 Windows 客户机之间通过Windows Network 固有的功能实现这些要求。然而,通过 Samba 我们也可以让一台 CentOS 主机来兼容 Windows 网络,实现同样的功能,进而充分发挥 CentOS 主机的可用性。
本篇文档主要介绍怎样通过 Samba 服务器的构建实现 Windows 网络中的文件共享。

安装 Samba

首先,通过 yum 来在线安装 Samba 。

  1. [root@sample ~]# yum -y install samba  ← 安装 Samba
  2. Setting up Install Process
  3. Setting up repositories
  4. —> Package samba.i386 0:3.0.10-1.4E.9 set to be updated
  5.  
  6. Downloading Packages:
  7. (1/2): samba-common-3.0.1 100% |=========================| 5.0 MB 00:04
  8. (2/2): samba-3.0.10-1.4E. 100% |=========================| 13 MB 00:11
  9. warning: rpmts_HdrFromFdno: V3 DSA signature: NOKEY, key ID 443e1821
  10. Public key for samba-common-3.0.10-1.4E.9.i386.rpm is not installed
  11. Retrieving GPG key from http://mirror.centos.org/centos/RPM-GPG-KEY-centos4
  12. Importing GPG key 0x443E1821 CentOS-4 key <centos-4key@centos.org>”
  13. Key imported successfully
  14. Running Transaction Test
  15. Finished Transaction Test
  16. Transaction Test Succeeded
  17. Running Transaction
  18. Installing: samba-common ######################### [1/2]
  19. Installing: samba ######################### [2/2]
  20.  
  21. Installed: samba.i386 0:3.0.10-1.4E.9
  22. Dependency Installed: samba-common.i386 0:3.0.10-1.4E.9
  23. Complete!

配置 Samba

然后,通过编辑 /etc/samba/smb.conf ,根据需求配置 Samba。在这里,本文的原则是只将文件共享应用于内网,并让将要被共享的目录拥有充分的读写权限属性。

  1. [root@sample ~]# vi /etc/samba/smb.conf  ← 编辑 Samba 的配置文件
  2. #======================= Global Settings =====================================
  3. [global]   找到这一行(全局设置标签),在此行下面添加如下行:
  4. dos charset = CP936  ← Windows 客户端的文字编码设置为简体中文 GB2312
  5. unix charset = utf8  ← 指定 Samba 所在的 CentOS 服务端新建文件或目录时的编码为 utf8
  6. display charset = CP936  ← 指定使用 SWAT(一种通过浏览器控制Samba的工具)时页面的默认文字编码
  7. directory mask = 0777  ← 指定新建目录的属性(以下4行)
  8. force directory mode = 0777
  9. directory security mask = 0777
  10. force directory security mode = 0777
  11. create mask = 0777  ← 指定新建文件的属性(以下4行)
  12. force create mode = 0777
  13. security mask = 0777
  14. force security mode = 0777
  15. workgroup = MYGROUP  ← 找到此行,将工作组名称改为 Windows 网络所定义的工作组名

  16. workgroup = WORKGROUP  ← 变为此状态,这里以Windows XP 默认的“WORKGROUP”为例
  17. ; hosts allow = 192.168.1. 192.168.2. 127.  ← 找到此行,去掉行首的“;”,并制定访问限制

  18. hosts allow = 192.168.0. 127.  ← 变为此状态,指定内网IP地址及本地,只允许这两种情况的访问
  19. 然后在配置文件的末尾填如下几行,定义公众共享目录:
  20. [public]
  21. comment = Public Stuff
  22. path = /home/samba  ← 指定共享目录位置
  23. public = yes
  24. writable = yes  ← 赋予共享目录写入权限的属性

接下来,创建将要通过 Samba 共享给 Windows 网络的专用目录。
在进行到服务端的连接之前,需要预先对用于登录 Samba 的用户进行设置。这里我们以 CentOS 中 Samba标准的 Samba 用户数据库管理工具“smbpasswd”为例,创建用于登录 Samba 的用户数据。这里需要注意的一点:用 smbpasswd 才可以创建该用户在 Samba 用户数据库中的信息。

  1. [root@sample ~]# smbpasswd -a centospub  ← 将系统用户 centospub(例)加入到 Samba 用户数据库
  2. New SMB password:  ← 输入该用户用于登录 Samba 的密码
  3. Retype new SMB password:  ← 再次确认输入该密码
  4. Added user centospub.

启动 Samba 服务

在启动 Samba 服务之前,首先将防火墙设置中 Samba 所用到的端口进行开放。有时你的防火墙可能会把smbd服务器的端口封掉,所以我们应该smbd服务器所占用的端口;下面查看中,我们知道smbd所占用的端口是139和445 ;

  1. [root@sample ~]# netstat -tlnp |grep smb
  2. tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 10639/smbd
  3. tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 10639/smbd
  4. 如果您有防火墙,一定要把这两个端口打开。如果不知道怎么打开。可能你和我一样是新手,还是把防火墙规则清掉也行;
  5.  
  6. [root@sample ~]# iptables -F

  7. [root@sample ~]# /sbin/iptables -F
  8. [root@sample ~]# /etc/rc.d/init.d/iptables restart  ← 重新启动 iptables ,使新的规则生效
  9. Flushing firewall rules:          [ OK ]
  10. Setting chains to policy ACCEPT: filter   [ OK ]
  11. Unloading iptables modules:       [ OK ]
  12. Applying iptables firewall rules:      [ OK ]

最后,设置开机启动 Samba 服务。

  1. [root@sample ~]# vi /etc/rc.d/rc.local 编辑开机启动rc.local文件
  2. touch /var/lock/subsys/local
  3. /etc/rc.d/init.d/smb start 需启动Samba安装路径
  4.  
  5. 注意:我的这个路径是yum安装这些服务得到的路径,填写时要根据自己的安装路径,找不到可以借助whereis命令,主要是找到smb 启动文件。
  6.  
  7. [root@sample ~]# /etc/rc.d/init.d/smb start  ← 启动 Samba 服务
  8. Starting SMB services:       [ OK ]
  9. Starting NMB services:       [ OK ]

从 Windows 客户端连接到 Samba 服务器

在服务端启动 Samba 服务后,我们就可以从 Windows 客户端通过 Windows 网络连接到 Samba。这里以 Windows XP 为例,说明如下连接过程:
1、从桌面打开“网上邻居”,并点击“查看工作组计算机”选项;
2、确认出现 Samba 服务端的连接,并双击该连接;(本站文档的主机名以 Sample 为例)
3、输入在服务端预先设置好的 Samba 用户的用户名及密码;(用户名同系统用户名,密码需要输入在通过 smbpasswd 为该系统用户设置的Samba 专用的密码。)
4、然后确认能够连接到 Samba 服务器,并出现根目录及 Samba 专用共享目录。
最后,在相应目录进行新建、修改以及删除文件的操作,测试相应权限的可操作性。

[转载]centos下yum安装samba及配置的更多相关文章

  1. CentOS下yum安装PHP,配置php-fpm服务

    yum list installed | grep php 先删除已有的php版本 ,执行下面的命令删除php yum remove php-common 然后像安装那样问你是否继续的,输入yes即可 ...

  2. centOS下yum安装配置samba

     centOS下yum安装配置samba 2010-03-29 15:46:00 标签:samba yum centOS 安装 休闲 注意:本文的原则是只将文件共享应用于内网服务器,并让将要被共享的目 ...

  3. centos下yum安装crontab+mysql自动备份

    参考博文: centos下yum安装crontab yum install vixie-cron crontabs      //安装 chkconfig crond on               ...

  4. centos下yum安装lamp和lnmp轻松搞定

    centos下yum安装lamp和lnmp轻松搞定.究竟多轻松你看就知道了.妈妈再也不操心不会装lamp了. 非常辛苦整理的安装方法,会持续更新下去.凡无法安装的在评论里贴出问题来,会尽快解决.共同维 ...

  5. centos 下yum 安装nginx

    centos 下yum 安装nginx 1. 直接yum install nginx不行,要先处理下源: rpm -ivh http://nginx.org/packages/centos/6/noa ...

  6. 阿里云,CentOS下yum安装mysql,jdk,tomcat

    首先说明,服务器是阿里云的,centos6.3_64位安全加固版.首先需要登陆进来,使用的是putty,因为最初的时候,Xshell登陆会被拒绝. 0. 创建个人文件夹 # 使用 yum 安装tomc ...

  7. CentOS下yum安装FFmpeg

    一.yum安装FFmpeg 1.    最偷懒的方式就是yum安装了,自动解决依赖.不过CentOS系统默认无FFmpeg源,企业版 Linux 附加软件包EPEL源也不包含,需要手动添加yum源配置 ...

  8. CentOS下yum安装LAMP

    1. 用yum安装Apache,Mysql,PHP. 1.1安装Apache yum install httpd httpd-devel 安装完成后,用/etc/init.d/httpd start  ...

  9. CentOS下yum安装VNCserver

    VNC全称是Virtual Network Computing,属于远程控制类软件.其优点是支持跨操作系统的远程图形化控制.在日常工作中,服务器常常是存在机房,不可能每次需要图形界面操作就跑到机房,因 ...

随机推荐

  1. 关于v4l2的一点变更

    先打个连接 http://linuxtv.org/downloads/presentations/media_ws_2013/v4l2-multi-format.pdf 2013年linux 多媒体构 ...

  2. java.net.UnknownHostException异常处理

    1.问题描述 最近迁移环境,在Linux系统下部署Java产品的应用,后台报出如下异常,系统报找不到名为“xxx-houtai1”的主机: 1 java.net.UnknownHostExceptio ...

  3. 算法总结之 在单链表和双链表中删除倒数第k个节点

    分别实现两个函数,一个可以删除单链表中倒数第k个节点,另一个可以删除双链表中倒数第k个节点 思路: 如果链表为空,或者k<1 参数无效 除此之外 让链表从头开始走到尾,每移动一步,就让k的值减1 ...

  4. DanceLink

    DanceLink是一个可以解决精确覆盖和重复覆盖的搜索算法 重复覆盖就是在精确覆盖的remove等处做改变 都是十字循环链表 精确覆盖 给出一个01矩阵 要求选择几行 使每一列都有且仅有一个1 在求 ...

  5. pandas read_sql与read_sql_table、read_sql_query 的区别

    一:创建链接数据库引擎 from sqlalchemy import create_engine db_info = {'user':'user', 'password':'pwd', 'host': ...

  6. 谷歌地图OGC WMTS服务规则

    http://mt0.google.cn/vt/lyrs=s&x=0&y=0&z=1 其中:z即为瓦片的层次,0层覆盖全球:y为行,从上往下为0~2^z-1:x为列,从左往右依 ...

  7. mysql数据简单去重

    我有一个 foo 表,定义了如下几个字段:id / a / b,其中 id 是主键,a,b 原本应该具有唯一性, 但因为程序 bug 导致 a,b 内容有重复,现在我要在 a,b 上加唯一索引,请问如 ...

  8. 将命令绑定到事件中(WPF)

    绑定到指定名称控件的——>指定属性上 <i:Interaction.Triggers>                            <i:EventTrigger E ...

  9. 论文笔记 — Learning to Compare Image Patches via Convolutional Neural Networks

    论文: 引入论文中的一句话来说明对比图像patches的重要性,“Comparing patches across images is probably one of the most fundame ...

  10. iTunes 12恢复.ipsw固件

    恢复.ipsw步骤: 1. 下载好与移动设备对应的.ipsw固件(zip文件可以解压出来). 2. 将移动设备连接到安装有iTunes的电脑,解锁并信任这台电脑 3. 启动iTunes,选择这个移动设 ...