• linux上安装配置samba服务器


    linux上安装配置samba服务器

    在linux上安装配置samba服务器

    在这给大家介绍一个不错的家伙,samba服务。如果您正在犯愁,如何在Windows和Linux之间实现资源共享,就请看看这篇详解,希望能帮您解决困扰。

    先简单介绍一下,SMB(Server Messages Block,信息服务块)是在局域网上共享文件和打印机的一种协议,通过它可以使局域网内的Windows、linux和Unix等系统共享文件和打印机等资源。在linux上可以运行SMB的软件很多,最常用的就是Samba。如果您使用的是REDHAT 9,在那三张光盘中就提供了samba服务器的RPM包。

    安装samba服务器的RPM

    像在linux下安装配置其他服务一样,先要安samba有关的RPM包:

    1)Samba-common:包括samba服务器和客户端均需要的文件(在第一张光盘中)

    2)Samba:samba服务端软件(在第一张光盘中)

    3)Samba:samba客户端软件(在第一张光盘中)

    说明一下,列出这些要安装的rpm包包只是为了说明清楚些,其实只要用个“samba*”就全搞定了。为了老少皆宜,我把所有操作过程都帖了过来,连不会挂载光驱的朋友都应该能看懂吧。

    1)

    [root@linux root]# mount /mnt/cdrom

    [root@linux root]# cd /mnt/cdrom/RedHat/RPMS/

    [root@linux RPMS]# rpm -ivh rpmdb-redhat-9-0.20030313.i386.rpm

    warning: rpmdb-redhat-9-0.20030313.i386.rpm: V3 DSA signature: NOKEY, key ID

    db42a60e

    Preparing...        ###################################### [100%]

       1:rpmdb-redhat     ################################### [100%]

    这一步是准备工作,把REDHAT 9的C盘中的rpmdb-redhat包安上,可以解决安装时的依赖关系错误。

    [root@linux RPMS]# cd

    [root@linux root]# umount /dev/cdrom

    [root@linux root]# mount /mnt/cdrom

    既然samba的包都在REDHAT 9的A盘,就在光驱中放入A盘,mount挂载一下。

    mount: /dev/cdrom already mounted or /mnt/cdrom busy

    mount: according to mtab, /dev/cdrom is already mounted on /mnt/cdrom

    [root@linux root]# cd /mnt/cdrom/RedHat/RPMS/

    [root@linux RPMS]# rpm -ivh samba* --aid

    安装所有以samba开头的包,加上—aid参数,就把安装时所需的其他包也安上了,很方便。

    warning: samba-2.2.7a-7.9.0.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e

    Preparing...         ##################################### [100%]

       1:libjpeg           ##################################### [ 14%]

       2:libtiff              ##################################### [ 29%]

       3:libpng            ##################################### [ 43%]

       4:cups-libs        ##################################### [ 57%]

       5:samba-common    ################################## [ 71%]

       6:samba           ##################################### [ 86%]

       7:samba-client  #################################### [100%]

    修改配置文件

    [root@linux RPMS]# vi  /etc/samba/smb.conf

    在[global]部分做如下修改:

    1) workgroup = WORKGROUP        (改一下工作组名)

    2) hosts allow = 192.168.138.    (写一个允许访问这服务器的网段,末尾有“.”)

    3) security=user

        samba有四种安全等级:

        share:用户不需要账户及密码即可登录samba服务器

        user:由提供服务的samba服务器负责检查账户及密码(默认)

        server:检查账户及密码的工作由另一台windows或samba服务器负责

        domain:指定windows域控制服务器来验证用户的账户及密码)

    4) encrypt passwdords=yes         (去掉前面的注释“;”)

        smb passwd file = /etc/samba/smbpasswd     (密码文件的位置)

    在文件末尾添加如下内容:

    [samba]              (共享文件夹名)

    comment=This is my samba server  (这是注释行,可以不写东西)

    path=/samba    (指定要共享文件的位置)

    writable = yes         

    browseable =yes

    read only = yes

    create mode=0664   (这是文件权限)

    directory mode=0777    (这是目录权限)

    保存退出。vi编辑器使用,按“i”,修改添加;先按“esc”,再按“:”输入“wq”即是保存退出,输入“q!”是不存盘退出。

    启动samba服务

    [root@linux samba]# service smb start     (启动samba服务)

    Starting SMB services: [  OK  ]

    Starting NMB services: [  OK  ]

    [root@linux samba]# testparm         (检查配置文件的正确性)

    Load smb config files from /etc/samba/smb.conf

    Processing section "[homes]"

    Processing section "[printers]"

    Processing section "[samba]"

    Loaded services file OK.

    Press enter to see a dump of your service definitions

    创建一个samba用户 

    该用刻户在windows下有没有都无所谓。

    1)建一个系统用户

    [root@linux samba]# useradd  samba      (建一个名叫samba的用户)

    [root@linux samba]# passwd samba        (给samba用户添加密码)

    Changing password for user samba.

    New password:               (密码要六位以上,不显示在屏幕上)

    BAD PASSWORD: it does not contain enough DIFFERENT characters

    Retype new password:         (确认密码)

    passwd: all authentication tokens updated successfully.

    2)然后创建samba帐户

    [root@linux samba]# smbpasswd -a samba 

    (-a必须加,为了生成密码文件smbpasswd,该密码是windows登陆Linux的samba用户密码)

    New SMB password:

    Retype new SMB password:

    unable to open passdb database.

    Added user samba.

    3)查看一下生成的用户名、密码

    [root@linux samba]# vi /etc/samba/smbpasswd

    samba:500:A9C604D244C4E99DAAD3B435B51404EE:ACB98FD0478427CD18949050C5E87B47:[UX         ]:LCT-468268E6:

    4)重新启动samba服务

    [root@linux samba]# service smb restart

    Shutting down SMB services: [  OK  ]

    Shutting down NMB services: [  OK  ]

    Starting SMB services: [  OK  ]

    Starting NMB services: [  OK  ]

    最后阶段,进行测试

    1)先按照主配置文件所指定的位置,建好要共享的资源。

    [root@linux usr]# mkdir samba     (建/usr/samba文件夹)

    [root@linux usr]# chmod 777 /usr/samba   (samba服务器受本地文件系统权限和共享权限两种权限,而且是取最严格的权限,为了方便就把本地权限都给足好了)

    [root@linux usr]# cd samba

    [root@linux samba]# vi aaa.txt

    2)在Windows客户机的地址栏中输入samba服务器ip(如“\192.168.138.110)

     

     

    OK了,在linux搭建的samba服务器上资源可以供Windows客户端访问了。

    Linux Samba服务器配置小记

    公司需求:

    1. 公司搭建Samba服务器,将对公司数据进行统一的有效管理;

    2. 所有员工在公司局域网内不论在哪台电脑上工作,都能访问并能将自己的文件数据保存在Samba文件服务器上。

    3. 销售部,技术部都拥有各自部门的共享目录,其他部门不允许访问;

    4. Samba服务器只供公司内部使用,并限量员工的使用空间。

    根据网络拓扑进行Samba服务器的部署步骤;

    一、建立公司员工账号及技术与销售组;

    二、将相关员工加入技术及销售组;

    三、建立销售及技术共享的目录,并更改目录相关权限;

    四、安装并配置Samba服务器;

    五、利用quota进行磁盘配额;

    关于如何建账号,组这里就不再叙述。直接从第三步开始进行部署;

    [root@server ~]# mkdir /home/sales

    [root@server ~]# mkdir /home/jishu

    [root@server ~]# chgrp jishu /home/jishu

    [root@server ~]# chmod 770 /home/jishu

    [root@server ~]# chgrp sales /home/sales

    [root@server ~]# chmod 770 /home/sales

    安装并配置Samba

    [root@server ~]# rpm -qa samba*

    samba-common-3.0.23c-2

    samba-3.0.23c-2

    samba-client-3.0.23c-2

    默认系统已经安装好Samba组件;

    设置smb.conf配置文件如下:

    [root@server ~]# vi /etc/samba/smb.conf

    具体相关配置文件里面的参数,有兴趣自己去搜索相关资料;

    #设置主机方面的参数;

    [global]

    #与Linux主机名称有关的设置信息

    workgroup = keywise 工作组设置

    netbios name=server Samba服务器的NETBIOS名称

    server string = This is liang’s Samba Server

    #与语言有关的设置信息

    unix charset=utf8

    display charset=utf8

    dos charset=cp950

    #与日志文件有关的设置信息

    log file = /var/log/samba/%m.log 日志存放位置

    max log size = 50

    #与密码有关的设置信息

    security = user 访问需要提供密码

    encrypt passwords=yes 是否加密

    smb password file=/etc/samba/smbpasswd 密码放置文件

    #新增每个用户的默认目录及群组用户目录,如下图;

    编辑完smb.conf文件后,保存退出;

    然后设置可使用Samba的账号与密码;

    先查看并确认密码文件是否存在,若不存在,得自行建立;

    [root@server ~]# ls -l /etc/samba/smbpasswd

    -rw------- 1 root root 207 Jul 6 01:15 /etc/samba/smbpasswd

    新增用户并查看/etc/samba/smbpassword;如下图;添加samba账户之前,确认系统中有相关账号;

    测试smb.conf语法设置的正确性;

    [root@server ~]# testparm

    Load smb config files from /etc/samba/smb.conf

    Processing section "[homes]"

    Processing section "[printers]"

    Processing section "[temp]"

    Processing section "[homes]"

    Processing section "[jishu]"

    Processing section "[sales]"

    Loaded services file OK.

    Server role: ROLE_STANDALONE

    Press enter to see a dump of your service definitions

    启动并观察SMB服务

    [root@server ~]# /etc/init.d/smb start

    Starting SMB services: [ OK ]

    Starting NMB services: [ OK ]

    [root@server ~]# netstat -tlunp

    Active Internet connections (only servers)

    Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name

    tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 2667/smbd

    tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 2667/smbd

    udp 0 0 192.168.1.50:137 0.0.0.0:* 2671/nmbd

    udp 0 0 0.0.0.0:137 0.0.0.0:* 2671/nmbd

    udp 0 0 192.168.1.50:138 0.0.0.0:* 2671/nmbd

    udp 0 0 0.0.0.0:138 0.0.0.0:* 2671/nmbd

    注:Samba默认会启动多个端口,TCP端口139,445;UDP端口137,138;

    测试SAMBA

    l         使用匿名账号查看,密码为空;看到相关的工享目录;

    l         使用jack账号查看,能看到自己的家目录;每个拥有SAMBA账号的用户,看到的目录都和自己的账号同名;

    l         开始在客户端进行测试;利用一个账户进行测试;在测试时,遇到相关LINUX防火墙安全性问题;因此建议先关闭防火墙,或建相应的规则允许通过;如下图:

    l         利用一个属于sales组的账户,访问sales共享目录,出现如下错误;

    查看由于账号没有加入sales组;因为/home/sales目录所属组为sales;因此没权限访问;

    [root@server ~]# ll /home

    total 72

    drwxrwx--- 2 root jishu 4096 Jul 6 06:21 jishu

    drwx------ 2 liang liang 4096 Jul 6 06:16 liang

    drwx------ 2 root root 16384 Jun 26 08:43 lost found

    drwxrwx--- 2 root users 4096 Jul 6 01:16 public

    drwxrwx--- 2 root sales 4096 Jul 6 02:30 sales

    将账户加入相应组;

    [root@server ~]# vi /etc/group

    jishu:x:504:jack

    sales:x:505:tom

    然后利用net use * /del 删除已建连接;重新用Jack账号访问;

    能成功看到属于自己的私有目录;并对目录有写入权限;

    l         看对技术目录有没有权限写入,测试一下;因为Jack属于技术组;因此应该对jishu目录有写入权限;

    OK,测试成功;SAMBA基本配置完成;

    由于服务器空间有限,还得利用quota限制用户及组的空间使用;

    Quota的前提,磁盘空间必须为独立的分区;可以依据不同的用户及组来加以限制使用硬盘空间;这里以/home为例;

    比如限制每个用户的hardlimit为50MB;而softlimit为40MB;

    1、修改/etc/fstab, 如下图;

    [root@server ~]# vi /etc/fstab

    [root@server ~]# mount–a

    [root@server ~]# sync;sync;sync; reboot

    建立quota所需要的设置文件;

    [root@server ~]# quotacheck -avug

    quotacheck: Scanning /dev/hda6 [/home] quotacheck: Cannot stat old user quota file: No such file or directory

    quotacheck: Cannot stat old group quota file: No such file or directory

    quotacheck: Cannot stat old user quota file: No such file or directory

    quotacheck: Cannot stat old group quota file: No such file or directory

    done

    quotacheck: Checked 10 directories and 21 files

    quotacheck: Old file not found.

    quotacheck: Old file not found.

    [root@server ~]#

    以上提示为找不到相关设置文件;只能自行建立;

    [root@server ~]# touch /home/aquota.user; touch /home/aquota.group

    [root@server ~]# quotacheck -avug

    quotacheck: Scanning /dev/hda6 [/home] done

    quotacheck: Checked 10 directories and 23 files

    [root@server ~]#

    启动quota

    [root@server ~]# quotaon -av

    /dev/hda6 [/home]: group quotas turned on

    /dev/hda6 [/home]: user quotas turned on

    [root@server ~]#

    设置用户磁盘配额;

    [root@server ~]# edquota -u jack

    磁盘配额也基本完成;如果要对组进行配额,就执行以下命令;这里就不多言了;

    [root@server ~]# edquota -g jishu

    所有的配置步骤基本完成,由于在学习阶段;希望博友们多指教不足之处,并提相关建议,博主在此有礼了,THX;

  • 相关阅读:
    错误:The columns and the margins do not fit the page width.
    jasperreport使用动态jason数据源
    DynamicReport使用XML数据源+ireport的.jxml文件作为模板
    Report bands中文版
    iReport 使用json 数据源
    bat设置java环境变量
    解决DynamicReports中含有中文pdf版本不显示
    vba实现excel二级联动多选功能
    打字游戏 C语言
    fpga 任意分频 奇偶数 分频
  • 原文地址:https://www.cnblogs.com/jinjiangongzuoshi/p/3155780.html
Copyright © 2020-2023  润新知