Chinaunix首页 | 论坛 | 博客
  • 博客访问: 10805609
  • 博文数量: 2905
  • 博客积分: 20098
  • 博客等级: 上将
  • 技术积分: 36298
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-23 05:00
文章存档

2012年(1)

2011年(3)

2009年(2901)

分类: LINUX

2009-03-23 11:09:26

一、安装
 
#tar zxvf samba-3.0.24.tar.gz
#cd samba-3.0.24/source

#env CPPFLAGS="-I/usr/local/openldap/include" LDFLAGS="-L/usr/local/openldap/lib" ./configure --prefix=/usr/local/samba --sysconfdir=/etc/samba --with-ldap --with-syslog --with-quotas --with-acl-support --with-automount --with-smbmount --with-libsmbclient
 
说明:这种编译方式是为了整合LDAP而做了特殊配置,如果你打算启用LDAP,请确保您已经成功安装LDAP;我这里由于是源码安装的LDAP,所以需要指明头文件及库文件的搜索路径;如果你不需要实现此功能,可以把env声明语句去掉而直接从./configure开始,而且还要去掉--with-ldap项。
 
#make
#make install
#make installbin
#make installman
 
#cp ../examples/smb.conf.default /usr/local/samba/lib/smb.conf
复制一个主配置文件范例,以使得服务能够启动
 
# mkdir -pv /var/log/samba
创建日志文件目录
 
#echo "/usr/local/openldap/lib" >> /etc/ld.so.conf
#ldconfig -v
如果你上面没有选择整合LDAP,此句可以去掉
 
#/usr/local/samba/sbin/smbd -D
#/usr/local/samba/sbin/nmbd -D
 
启动服务进程,如果是Windows域成员的话,还要开启以下服务
 
#/usr/local/samba/sbin/winbindd -B
 
二、编写启动脚本
 
也可以以标准服务的形式启动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
RETVAL=0
case "$1" in
  start)
        echo -n "Starting SMB services: "
        /usr/local/samba/sbin/smbd -D  -d 3
        RETVAL=$?
        echo
        echo -n "Starting NMB services: "
        /usr/local/samba/sbin/nmbd -D -d 3
        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
 
3.加入系统服务,使其开机可以自动运行
 
#chkconfig --add smbd
#chkconfig --level 2345 smbd on
 
三、启用图形管理界面swat
 
1.在xinetd中添加服务启动项
 
#vi /etc/xinetd.d/swat
添加如下内容
 
service swat
{
  port  = 901   #指定服务的端口号
  socket_type   = stream    #指定socket的数据传输格式
  wait  = no
  only_from     = 0.0.0.0   #指定可以访问此服务的客户端来源为所有机器,像这样设置将非常危险;你可以指定为127.0.0.1或某此特定的IP以限制访问,减少风险。
  user  = root              #启动swat的用户
  server        = /usr/local/samba/sbin/swat #服务程序的路径
  log_on_failure        += USERID
  disable       = no        #开启服务
}
 
2. 编辑/etc/services
 
请确保你的文件中有以下项
swat     901/tcp
 
3. 重启xinetd
 
#service xinetd restart
 
查看服务端口是否开启
#netstat -tnlp |grep :901
 
4.打开浏览器,输入以下链接即可访问

阅读(1156) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~