samba服务配置

Samba 服务是由两个进程组成,分别是nmbd 和smbd。
nmbd:其功能是进行NetBIOS 名解析,并提供浏览服务显示网络上的共享资源列表。
smbd:其主要功能就是用来管理Samba 服务器上的共享目录、打印机等,主要是针对网络上的共享资源进行管理的服务。当要访问服务器时,要查找共享文件,这时我们就要依靠smbd 这个进程来管理数据传输

作用:实现linux平台和windows平台文件共享和打印共享原理:samba基于SMB(server message block服务消息块)协议
配置的核心文件:/etc/samba/smb.conf
启动文件:/etc/init.d/smb  (stop start restart)
安装: rpm -q samba  检验软件包的安装
       rpm -iv samba 软件包安装
如果无法安装:
    [root@localhost Server]# rpm -ivh samba-3.0.33-3.14.el5.i386.rpm       --force --nodeps    #   --force 强制安装  --nodeps解除依赖关系
也可以使用yum -y install samba

结合公司实例:

linux centos samba服务_centos

文件权限说明:
 linux centos samba服务_samba_02
上面不知道要不要新建公共目录/home(只有自己才可以删除自己的文件,所有用户都可以读写)
创建系统用户:
    [root@localhost ~]# groupadd zixun
    [root@localhost ~]# useradd itadmin -g zixun
    [root@localhost ~]# useradd it -g zixun
    [root@localhost ~]# groupadd public
    [root@localhost ~]# useradd publicadmin -g public
    [root@localhost ~]# useradd public -g public
    [root@localhost ~]# groupadd jingguan
    [root@localhost ~]# useradd jingguan -g jingguanadmin
    [root@localhost ~]# useradd jingguanadmin -g jingguan
    [root@localhost ~]# useradd jingguan -g jingguan
    创建各组目录的主文件(/data/samba)
    [root@localhost samba]# mkdir zixun
    [root@localhost samba]# mkdir public
    [root@localhost samba]# mkdir jingguan
    [root@localhost samba]# chmod 777 zixun
    [root@localhost samba]# chmod 777 public
    [root@localhost samba]# chmod 777 jingguan
    新建/date/samba/home目录
    [root@localhost samba]# mkdir home
    [root@localhost samba]# chmod -R 1777 home 
    这里的1代表黏着位。只有这样才能实现别人不能删除自己功能

    修改主配置文件
    [root@localhost ~]# cat /etc/samba/smb.conf |gre
    [global]
            workgroup = MYGROUP                          #代表工作组
            server string = Samba Server Version %v      #描述信息
            hosts allow = 172.16.8.                      #运行哪个网段访问
            security = user                              #用户认证方式
            passdb backend = tdbsam                      #密码
            load printers = yes                          #打印
            cups options = raw

                                                  
    [homes]
            comment = this is homes           #目录描述
            path = /data/samba/home           #定义路径
            browseable = yes                  #是否隐藏文件 no隐藏 yes不隐
            writable = yes                    #是否给予写权限
            guest ok = yes                    #是否允许匿名用户访问

    [public]
            comment = this is public
            path = /data/samba/public
            browseable = yes
            write list = publicadmin  #定义哪个用户可以对这个目录有写权限
            valid users = @public,@zixun,@jingguan,@admin

            #定义哪个用户可以访问 @代表组,不加代表用户

    [jingguan]
            comment = this is jingguan
            path = /data/samba/jingguan
            browseable = yes
            write list = jingguanadmin
            valid users = @admin,@jingguan
    [zixun]
            comment = this is zixun
            path = /data/samba/zixun
            browseable = yes
            write list = @admin,@itadmin
            valid users = @admin,@zixun
    [printers]
            comment = All Printers
            path = /var/spool/samba
            browseable = no
            guest ok = no
            writable = no
            printable = yes

    添加samba用户
    [root@localhost / ]# smbpasswd -a cyberfoxadmin 创建samba用户和密码
    默认将上面所有用户都添加到此文件

    附注:
    pdbedit –a username:新建Samba账户。
    pdbedit –x username:删除Samba账户。
    pdbedit –L:列出Samba用户列表,读取passdb.tdb数据库文件。
    pdbedit –Lv:列出Samba用户列表的详细信息。
    pdbedit –c “[D]” –u username:暂停该Samba用户的账号。
    pdbedit –c “[]” –u username:恢复该Samba用户的账号  

用户认证方式
1. share:用户访问Samba Server不需要提供用户名和口令, 安全性能较低。

2. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密码的正确性。账号和密码要在本Samba Server中建立。
3. server:依靠其他Windows NT/2000或Samba Server来验证用户的账号和密码,是一种代理验证。此种安全模式下,系统管理员可以把所有的Windows用户和口令集中到一个NT系统上,使用 Windows NT进行Samba认证, 远程服务器可以自动认证全部用户和口令,如果认证失败,Samba将使用用户级安全模式作为替代的方式。
4. domain:域安全级别,使用主域控制器(PDC)来完成认证。