随着Linux的普及,如何共享Linux下的文件成为用户关心的问题。其实,几乎所有的Linux发行套件都提供了一个很好的工具Samba——通过它可以轻松实现文件共享。Samba的功能很强大,在Linux服务器上的Samba运行起来以后,Linux就相当于一台文件及打印服务器,向Windows和Linux Samba客户提供文件及打印服务。
   Samba的功能很强大,但易用性也极差。原因是它的配置文件太大而且不容易理解,新手和熟手都对其望而却步。但是,如果仅仅实现文件共享,配置Samba也很简单,下面我们就一起来配置吧。

wget  http://samba.org/samba/ftp/stable/samba-3.4.4.tar.gz
tar -xvf samba-3.4.4.tar.gz
cd samba-3.4.4/source3
./configure --prefix=/usr/local/samba
make 
make install ----若出现以下表示安装成功
==============================================================
MO files for pam_winbind are installed.
==============================================================
==============================================================
All MO files for Samba are installed. You can use "make uninstall"
or "make uninstallmo" to remove them.
==============================================================

make installbin----若出现以下表示安装成功
======================================================================
The binaries are installed. You may restore the old binaries (if there
were any) using the command "make revert". You may uninstall the binaries
using the command "make uninstallbin" or "make uninstall" to uninstall
binaries, man pages and shell scripts.
======================================================================
cd ..   //返回上级目录
cp examples/smb.conf.default /usr/local/samba/lib/smb.conf   //复制配置文件到指定目录

-----------------------以下启动和关闭的方式,只作为参考。后有介绍简单的启动、关闭方式------------------------------------------------------
启动和关闭samba
(1)、 启动(其中&表示在后台运行)
/usr/local/samba/sbin/smbd  start  &   
/usr/local/samba/sbin/nmbd  start  &

(2)、关闭
ps -auxf |grep samba  查找samba 的进程
效果如下:
[root@localhost ~]# ps -auxf |grep samba 
Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ
root     32355  0.0  0.3   4636   644 pts/2    R+   17:44   0:00          \_ grep samba
root     32233  0.0  1.2  13420  2536 ?        Ss   17:27   0:00 /usr/local/samba/sbin/smbd start   //这条是主进程
root     32234  0.0  0.4  13420  1012 ?        S    17:27   0:00  \_ /usr/local/samba/sbin/smbd start
root     32335  0.0  0.6  11268  1300 ?        Ss   17:41   0:00 /usr/local/samba/sbin/winbindd
root     32336  0.0  0.4  11268  1052 ?        S    17:41   0:00  \_ /usr/local/samba/sbin/winbindd
杀掉: kill -9  32233  就可以杀掉了。这个比较麻烦。后面我带大家使用一种更简单的启动和关闭的方法。
***************
报错: /usr/local/samba/sbin/smbd: error while loading shared libraries: libtalloc.so.1: cannot open shared object file: No such file or directory
解决办法:
ln -s /usr/local/samba/lib/libtalloc.so.1  /usr/lib/libtalloc.so.1
ln -s /usr/local/samba/lib/libtdb.so.1  /usr/lib/libtdb.so.1
ln -s /usr/local/samba/lib/libwbclient.so.0  /usr/lib/libwbclient.so.0
-----------------------------------------------------------------------------

**************************配置samba启动和关闭
(1)、编写启动脚本:也可以以标准服务的形式启动samba,以下是启动脚本
 
1.建立启动脚本
 vi /etc/init.d/smbd
**************************添加如下内容:
#!/bin/sh
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
# Check that networking is up.
[ ${NETWORKING} = "no" ] && exit 0
# Check that smb.conf exists.
[ -f /usr/local/samba/lib/smb.conf ] || exit 0         #其中: /usr/local/samba/lib/smb.conf  是我的samba配置文件存放路径
RETVAL=0
case "$1" in
  start)
        echo -n "Starting SMB services: "
        /usr/local/samba/sbin/smbd -D  -d 3        # 其中: /usr/local/samba/sbin/smbd -D   启动samba 服务
        RETVAL=$?
        echo
        echo -n "Starting NMB services: "
        /usr/local/samba/sbin/nmbd -D -d 3     # 其中: /usr/local/samba/sbin/nmbd -D   启动samba 服务
        RETVAL2=$?
        echo
        [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ]  
           RETVAL=1
        ;;
  stop)
        echo -n "Shutting down SMB services: "
        killproc smbd
        RETVAL=$?
        echo
        echo -n "Shutting down NMB services: "
        killproc nmbd
        RETVAL2=$?
        [ $RETVAL -eq 0 -a $RETVAL2 -eq 0 ] 
        echo ""
        ;;
  restart)
        $0 stop
        $0 start
        RETVAL=$?
        ;;
  reload)
        echo -n "Reloading smb.conf file: "
        killproc -HUP smbd
        RETVAL=$?
        echo
        ;;
  status)
        status smbd
        status nmbd
        RETVAL=$?
        ;;
  *)
        echo "Usage: $0 {start|stop|restart|status}"
        exit 1
esac
exit $RETVAL

2.修改权限,使其可执行
     chmod 700 /etc/init.d/smbd
     chown  root:root  /etc/init.d/smbd

3.加入系统服务,使其开机可以自动运行
   chkconfig --add smbd 
   chkconfig --level 2345 smbd on

4. 现在启动和关闭以及重新启动
/etc/init.d/smbd   start 
/etc/init.d/smbd   stop 
/etc/init.d/smbd   restart

*****************************日志存放路径:  /var/log/samba/目录下
详细说明:vi  /usr/local/samba/lib/smb.conf
[global] 全局配置
    workgroup = MYHOME     ---- 指定工作组
    server string = File Server ---- 服务器的说明 
    security = share   ----安全级别: 共分3种 
                    1.share (任何用户都不需要密码,直接可以访问)
                    2.user   要提供用户名和密码才能访问
                    3.server 将用户和密码提交到另一服务器验证,如果递交失败,就 退到user安全级。 要求网络上存在一台Windows的主域控制器,samba把用户名和密码递交给它去验证。
****************匿名用户
匿名用户,只要把security = share 修改成这样。就可以访问了。

----------------
window ===打开网上邻居=====\\ip地址(比如我的: \\192.168.1.131) 如果可以访问,说明配置成功。
-------------------

********************增加用户,验证用户。
[
常用参数:
    comment :         目录说明 
    path :             目录路径
    public             开放共享 默认为no , 如果=yes 表示无需身份验证
    browseable:        显示共享名称。
    valid users:       允许列表中的用户访问
    read only:         默认为yes,共享目录只读 。
    write able:        write able =no 与read only = yes 一样的效果
    wire list:        如果前面只读,只有在此里面的用户才有写的权利
    creat mask:       指定在共享目录里面建立文件的权限, 权限最高只能为 766
    directory mask:   指定建立目录的权限
    force user:       指定存取的用户张号
    force group:     指定用户存取组
]
(1)、   增加用户:  useradd  sambashare(用户名)
(2)、    smbpasswd  -a  sambashare(用户名)  键入回车,提示你输入密码 [必须进入: cd /usr/local/samba/bin/中]

(3)、----------配置如下:(放在配置文件最下面)
[sambashare]  
 comment = sambashare directory
 path = /home/sambashare
 public = no
 write list = sambashare
 valid users = @sambashare
注释:
(1)、如果其他用户想查看sambashare用户下的文件,只需要把valid users = @sambashare,@用户名就可以了。
(2)、建立一个文件共享目录, 要求全部人可查看, 但每个人只能删除自己的文件, 不能删除别人。
[public]
            comment = Public Stuff
            path = /home/forevergao/
            public = yes
            browseable = yes
            writeable = yes

(4)、 设定public的权限, 因为samba不能做到每个人只能删除自己的文件, 不能删除别人的功能,linux设置目录Sticky bit权限. 目录设定了Sticky的权限,在这个目录下的文件只有root与文件的所有者才能删除, 别的用户可能通过设置,才能查看此用户目录下所有文件,但不能删除,只有本用户才能删除。
chmod  1777  /home/sambashare

centos 5.3 安装(samba 3.4.4)的更多相关文章

  1. [转载]centos下yum安装samba及配置

    centos下yum安装samba及配置 在我们使用 Windows 作为客户机的时候,通常有文件.打印共享的需求.作为Windows 网络功能之一,通常可以在 Windows 客户机之间通过Wind ...

  2. CentOS 6.3 安装 samba 共享(转)

    PHP环境在linux下,但是开发的时候用的是windows,于是我用了samba将linux的一个目录共享,然后在windows上做映射,这样就可以直接在windows下编辑linux上的文件了 首 ...

  3. CentOS 7下安装samba

    Samba是一种软件,它可以运行在非Windows平台上,比如UNIX, Linux, IBM System 390, OpenVMS或其他操作系统.Samba使用安装在主机上的TCP/IP协议.当正 ...

  4. CentOS Linux 下安装Samba

    一.Samba简介: Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.Linux中搭建环境有几个需要使用的软件包: (1)samba-client:这个 ...

  5. Centos 7.4 安装samba服务

    # See smb.conf.example for a more detailed config file or # read the smb.conf manpage. # Run 'testpa ...

  6. Centos 7 下安装 samba 服务

    yum install samba 配置文件在:/etc/samba/smb.conf [global] #添加下面这句 map to guest = Bad User #这个选项是保证匿名访问! # ...

  7. CentOS 6.3下Samba服务器的安装与配置方法(图文详解)

    这篇文章主要介绍了CentOS 6.3下Samba服务器的安装与配置方法(图文详解),需要的朋友可以参考下   一.简介  Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件, ...

  8. CentOS 6.3下Samba服务器的安装与配置

    一.简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Microsoft的 ...

  9. CentOS 7.2 安装配置Samba服务器

    1背景 转Linux刚刚1年,vim操作还不能应对工程代码,之前一直都是Gnome桌面 + Clion 作开发环境,无奈在服务器上没有这样的环境, 看同事是(Windows)Source Insigh ...

  10. centOS下yum安装配置samba

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

随机推荐

  1. 解决android 大图OOM的两种方法

    最近做程序中,需要用到一张大图.这张图片是2880*2180大小的,在我开发所用的华为3C手机上显示没有问题,但是给米3装的时候,一打开马上报OOM错误.给nexus5装,则是图片无法出来,DDMS中 ...

  2. studio安装插件

    Android Studio安装插件的方式其实和Eclipse大同小异.废话不多说,直接上图: 区域1:你当前已经安装了的插件 区域2:在线安装 区域3:从硬盘安装,即针对你已经下载好了的插件,可通过 ...

  3. 怎么对MySQL数据库操作大数据?这里有思路

    最近学到一招关于使用java代码操作MySQL数据库,对大文本数据(LOB)进行CRUD的技巧,虽然向数据库很少向中存入大文本文件(一般都是存储在硬盘上),但是还是很有必要知道这一技巧的.下面我就来说 ...

  4. Andriod的国际化-android学习之旅(五十八)

    android资源国际化

  5. 04_Weblogic之受管服务器:配置受管服务器,启动受管服务器,解决因为强制关闭Weblogic之后导致启动有问题的问题,配置boot.properties

     配置受管服务器, 先启动WebLogic服务器,启动方式如下: 在WebLogic控制台中的"开发模式"---"锁定并编辑"模式下,点击"Ser ...

  6. Java中的五种单例模式

    Java模式之单例模式: 单例模式确保一个类只有一个实例,自行提供这个实例并向整个系统提供这个实例. 特点: 1,一个类只能有一个实例 2 自己创建这个实例 3 整个系统都要使用这个实例 例: 在下面 ...

  7. Uva - 177 - Paper Folding

    If a large sheet of paper is folded in half, then in half again, etc, with all the folds parallel, t ...

  8. Libgdx1.5.3发布

    - API更改:TextField#setRightAlign改成TextField#setAlignment - I18NBundle 现在兼容Android2.2 - 修复GWT反射包括3D粒子 ...

  9. 小强的HTML5移动开发之路(7)——坦克大战游戏1

    来自:http://blog.csdn.net/dawanganban/article/details/17693145 上一篇中我们介绍了关于Canvas的基础知识,用Canvas绘制各种图形和图片 ...

  10. iOS9关键字的简单使用

    在iOS 9 苹果推出了很多关键字, 目的其实很明确, 主要就是提高开发人员的效率, 有益于程序员之间的沟通与交流, 在开发中代码更加规范! 1. nullable 与 nonnull nullabl ...