centos 5.3 安装(samba 3.4.4)

 

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


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.
==============================================================shell

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   //复制配置文件到指定目录centos


-----------------------如下启动和关闭的方式,只做为参考。后有介绍简单的启动、关闭方式------------------------------------------------------
启动和关闭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
-----------------------------------------------------------------------------bash


**************************配置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   restartspa


*****************************日志存放路径:  /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

相关文章
相关标签/搜索