1、系统环境变量

Fedora:

 yum install libacl-devel libblkid-devel gnutls-devel \
readline-devel python-devel gdb pkgconfig libattr-devel \
krb5-workstation

Debian or Ubuntu:

 apt-get install build-essential libacl1-dev libattr1-dev \
libblkid-dev libgnutls-dev libreadline-dev python-dev \
python-dnspython gdb pkg-config libpopt-dev libldap2-dev \
dnsutils libbsd-dev attr krb5-user docbook-xsl libcups2-dev acl

Red Hat Enterprise Linux or CentOS:

yum install gcc libacl-devel libblkid-devel gnutls-devel \
readline-devel python-devel gdb pkgconfig krb5-workstation \
zlib-devel setroubleshoot-server libaio-devel \
setroubleshoot-plugins policycoreutils-python \
libsemanage-python setools-libs-python setools-libs \
popt-devel libpcap-devel sqlite-devel libidn-devel \
libxml2-devel libacl-devel libsepol-devel libattr-devel \
keyutils-libs-devel cyrus-sasl-devel cups-devel bind-utils

我用的CentOS 6.4。

2、编译和安装Samba源文件

从Samba官网http://www.samba.org/下载最新的源代码,进行编译

我下载的是samba-.., 将下载文件解压,然后进入samba-..目录中,运行以下命令

./configure
make
make install #安装

samba的默认安装路径是:/usr/local/samba

3、配置Samba

(1)启动samba服务方法:

/usr/local/samba/sbin/samba
 
(2)将/usr/local/samba/sbin/samba这条路径添加到/etc/rc.d/rc.local中
 
(3)链接动态链接库,运行samba的中smbd和nmbd需要用到目录/usr/local/samba/lib下的动态链接库文件。但是该目录不是系统默认的动态链接库文件搜索路径,于是我们需要将该目录添加到文件ld.so.conf中。执行下面的命令

 vi /etc/ld.so.conf    #打开文件
/usr/local/samba/lib #在文件中添加一行,保存退出
ldconfig #更新动态链接库缓存
 
(4)配置环境变量
打开root目录下的.bash_profile文件
#.bash_profile
#Get the aliases and functions
if[ -f ~/.bashrc ]; then
.~/.bashrc
fi
#User specific environment and startup programs
PATH=$PATH:$HOME/bin:/usr/local/samba/bin:/usr/local/samba/sbin
export PATH
 
(5)建立域
/usr/local/samba/bin/samba-tool domain provision --use-rfc2307 --interactive
 
如果删除域使用以下命令:
rm -rf /usr/local/samba/etc/smb.conf
rm -rf /usr/local/samba/private/*
 
执行建立域命令后出现:
Realm[BTA.NET.CN]: test.com  #域名
Domain[xfs]: test
ServerRole (dc, member, standalone) [dc]: dc
DNSbackend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE)[SAMBA_INTERNAL]:
DNSforwarder IP address (write 'none' to disable forwarding)[202.106.0.20]:
Administratorpassword:
Retypepassword:
 
创建完之后需要启动samba:
/usr/local/samba/sbin/samba
 
首先测试samba和smbclient的版本:
/usr/local/samba/sbin/samba -V
/usr/local/samba/bin/smbclient --version
 
然后运行下列命令列出samba服务器上共享的目录;
$ /usr/local/samba/bin/smbclient -L localhost -U%

       Sharename       Type      Comment
--------- ---- -------
netlogon Disk
sysvol Disk
IPC$ IPC IPC Service (Samba .x.y)
 
如果失败了,重新启动samba:
killall samba
/usr/local/samba/sbin/samba
 
测试认证正常工作,输入以下命令:
$ smbclient //localhost/netlogon -UAdministrator -c 'ls'

Domain=[SAMDOM] OS=[Unix] Server=[Samba .x.y]
. D Tue Dec ::
.. D Tue Dec ::
 
(6)配置DNS
 
刚才选择的是samba自带的dns,并已经设置了下一跳的dns服务器地址。
 
所以为了本地正常解析,所以配置本地的/etc/resolv.conf文件
domain test.com
nameserver 192.168.10.215 #本地IP地址 
 
测试DNS
输入以下命令:
$ host -t SRV _ldap._tcp.samdom.example.com.
_ldap._tcp.samdom.example.com has SRV record dc1.samdom.example.com. $ host -t SRV _kerberos._udp.samdom.example.com.
_kerberos._udp.samdom.example.com has SRV record dc1.samdom.example.com. $ host -t A dc1.samdom.example.com.
dc1.samdom.example.com has address 192.168.10.215
 
(7)配置Kerberos
Kerberos是由krb5.conf文件配置,kerberos的默认配置文件在/etc/krb5.conf中,但是/usr/local/samba/share/setup/krb5.conf是一个样板文件,你可以将该文件复制并覆盖原来的krb5.conf文件,并进行修改
[libdefaults]
default_realm = TEST.COM #大写
dns_lookup_realm = false
dns_lookup_kdc = true
 
测试kerberos正常工作,运行以下命令:
kinit administrator@TEST.COM
$ klist
Ticket cache: FILE:/tmp/krb5cc_1000
Default principal: administrator@SAMDOM.EXAMPLE.COM Valid starting Expires Service principal
// :: // :: krbtgt/TEST.COM@TEST.COM

4、从Windows客户端连接Samba服务器

(1)在windows上安装windows远程管理工具。win7或者Win XP详细下载请见:http://wiki.samba.org/index.php/Samba_AD_management_from_windows  并且安装组管理策略(仅XP需要),组管理策略需要.NET版本1.1。
(2)通过Windows客户端查看Samba AD。在开始->控制面板->管理工具->Active Directory用户和计算机。或者直接在运行中输入dsa.msc
(3)通过Windows客户端查看Samba的组管理策略。在开始->控制面板->管理工具->组策略管理

Samba服务器的配置与使用的更多相关文章

  1. ubuntu samba服务器多用户配置【转】

    转自:http://www.2cto.com/os/201204/127043.html ubuntu samba服务器多用户配置   在/home/下有多个用户目录A.B...,现通过samba共享 ...

  2. linux中Samba服务器的配置

    Samba简介 Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成.SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件 ...

  3. Ubuntu 18.04安装Samba服务器及配置

    Ubuntu 18.04安装Samba服务器及配置 局域网下使用samba服务在Linux系统与Windows系统直接共享文件是一项很方便的操作.以Ubuntu为例配置samba服务,Linux服务器 ...

  4. Samba服务器搭建配置

    本次环境: 服务端-centos6.8-192.168.2.200 客户端1-centos6.8-192.168.2.201 客户端2-Windows7-192.168.2.104 假设条件如下: 使 ...

  5. samba服务器详细配置(非域模式)

    组成Samba运行的有两个服务,一个是SMB,另一个是NMB:SMB是Samba 的核心启动服务,主要负责建立Samba服务器与Samba客户机之间的对话,验证用户身份并提供对文件和打印系统的访问,只 ...

  6. CentOS下Samba服务器的配置

    主要用途: 在两台计算机间共享文件.打印机 安装: yum install samba 启动服务: /etc/rc.d/init.d/smb start 添加用户  (必须是系统中真实存在的用户) s ...

  7. centos6.5下安装samba服务器与配置

    转自:http://www.centoscn.com/CentosServer/ftp/2014/1023/3989.html http://www.cnblogs.com/x_wukong/p/56 ...

  8. Ubuntu12.04下samba服务器共享配置

    1 . 前置工作 首先保证你的Ubuntu能上网:虚拟机网络连接方式为NAT:虚拟机雨物理机互ping可通: 2. 安装samba sudo apt-get insall samba sudo apt ...

  9. linux samba 服务器 简单配置

    1. rpm -qa|grep samba 查看是否有samba 2.使用yum -y install samba 安装samba 服务 进入/etc/samba/ 使用vi smb.conf 修改配 ...

随机推荐

  1. Java CountDownLatch解析(下)

    写在前面的话 在上一篇CountDownLatch解析中,我们了解了CountDownLatch的简介.CountDownLatch实用场景.CountDownLatch实现原理中的await()方法 ...

  2. JDK的安装与卸载

      1.jdk 下载链接:http://www.oracle.com/technetwork/java/javase/downloads/jdk9-downloads-3848520.html 2.在 ...

  3. JDBC入门(5)--- 时间类型、大数据

    一.时间类型 数据库类型与Java中类型的对应关系: DATE->java.sql.Date:表示日期,只有年月日,没有时分秒,会丢失时间. TIME->java.sql.Time:表示时 ...

  4. Bzoj3197: [Sdoi2013]assassin

    题面 传送门 Sol 套路:找出重心,如果有两个就新建一个点 然后把这棵树hash一下 设\(f[i][j]\)表示第一颗树到\(i\)第二棵树到\(j\),子树\(i,j\)同构的付出的最小代价 转 ...

  5. JavaScript周报#184

    This week’s JavaScript news Read this issue on the Web | Issue Archive JavaScript Weekly Issue 184Ju ...

  6. C++学习笔记(5)----重载自增自减运算符

    自增运算符“++”和自减运算符“--”分别包含两个版本.即运算符前置形式(如 ++x)和运算符后置形式(如 x++),这两者进行的操作是不一样的.因此,当我们在对这两个运算符进行重载时,就必须区分前置 ...

  7. 自定义View和ViewGroup(有这一篇就够了)

    为了扫除学习中的盲点,尽可能多的覆盖Android知识的边边角角,决定对自定义View做一个稍微全面一点的使用方法总结,在内容上面并没有什么独特的地方,其他大神们的博客上面基本上都有讲这方面的内容,如 ...

  8. 规划将 IaaS 资源从经典部署模型迁移到 Azure Resource Manager

    尽管 Azure 资源管理器提供了许多精彩功能,但请务必计划迁移,以确保一切顺利进行. 花时间进行规划可确保执行迁移活动时不会遇到问题. Note 以下指导的主要参与者为 Azure 客户顾问团队,以 ...

  9. 关于webWorker的理解和简单例子

    一.理解 当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成. web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能.您可以继续做任何愿 ...

  10. Angular5中提取公共组件之radio list

    上一篇说到了Checkbox List的公共组件提取,现在说一下Radio List的公共组件提取. Radio List组件提取起来很方便,不想Checkbox那么复杂. radio-list.co ...