Linux NFS+Samba 服务器搭建

    xiaoxiao2022-07-05  172

    1、配置NFS服务器(提供实训参考,以能拷贝挂载本机或另一台Linux的文件为准)

    一、NFS服务器的安装

        检查linux系统中是否安装了nfs-utils和portmap两个软件包(默认安装)

        命令#rpm –q nfs-utils portmap

    二、查看NFS服务器是否启动

        命令#service nfs status

        #service portmap status

    三、如果服务器没有启动,则开启服务(默认服务下nfs没有完全开启)

        命令#service nfs start

        #service portmap start

    四、指定NFS服务器的配置文件

        NFS服务器的配置文件保存“/etc/”目录中,文件名称是“exports”,该文件用于被指NFS服务器提供的目录共享

        命令#vi /etc/exports

        配置“exports”文件格式如下

        /home *(sync,ro)

        Home:共享目录名

        *:表示所有主机

        (sync,ro):设置选项

        exports文件中的“配置选项”字段放置在括号对(“( )”)中 ,多个选项间用逗号分隔

        sync:设置NFS服务器同步写磁盘,这样不会轻易丢失数据,建议所有的NFS共享目录都使用该选项

        ro:设置输出的共享目录只读,与rw不能共同使用

        rw:设置输出的共享目录可读写,与ro不能共同使用

        exports文件中“客户端主机地址”字段可以使用多种形式表示主机地址

        192.168.152.13 指定IP地址的主机

        nfsclient.test.com 指定域名的主机

        192.168.1.0/24 指定网段中的所有主机

        *.test.com 指定域下的所有主机

        * 所有主机

    五、重新输出共享目录

        Exportfs管理工具可以对“exports”文件进行管理

        命令#exportfs –rv 可以让新设置的“exports”文件内容生效

     六、显示NFS服务器的输出目录列表

        显示当前主机中NFS服务器的输出列表

        # showmount -e

     七、显示NFS服务器中被挂载的共享目录

        显示当前主机NFS服务器中已经被NFS客户机挂载使用的共享目录

        # showmount -d

     八、在另外一个linux系统中挂在共享目录

        显示NFS服务器的输出

        # showmount -e 172.16.75.1    挂载NFS服务器中的共享目录

        # mount -t nfs 172.16.75.1:/software /mnt/

     九、查看mnt目录中的内容

        Cd /mnt |ll

     十、卸载系统中已挂载的NFS共享目录

        命令# umount /mnt/     (注意点):

    在配置NFS服务器之前用ping命令确保两个linux系统正常连接,如果无法连接关闭图形界面中的防火墙

    #service iptables stop

        2、在配置中确保输入的命令是正确的

        3、更改完“exports”文件后要输入exportfs –rv ,使得“exports”文件生效。

    4、检查nfs服务是否开启,默认是关闭的。

    5、卸载的时候不能在/mnt目录中卸载,必须注销系统后卸载

    (截图5张)

     

    2、配置SAMBA服务器(提供实训参考,过程按需调整,以Windows能拷贝Linux文件为准)

    一、实训概要

    学校现有三个系,要创建一台samba服务器,其目录如下:

    公共目录/share。

    计算机系/computer。

    英语系/English

    会计系/account。

    员工信息情况:

    主管:院长master

    计算机系:系主任zhoudake,教师zhangbin,教师lihua。

    英语系:系主任liyouling,教师zhanglili,教师wangli。

    会计系:系主任dongwulun,教师zhangshang,教师lili。

    需要建立公共共享目录,允许所有老师访问,权限为只读。为三个系分别建立单独目录,只允院长和相应的系的老师访问,并且学校教师无法在网络邻居查看到非本系共享目录。

    二、实训内容

    在RedHat Enterprise Linux 5操作系统上架设Samba 服务器。

    三、实训过程

    1.实训分析

    对于建立公共目录,我们可以使用public字段很容易实现匿名访问。但是,本实训后面还要求,只允许本部门访问自己的目录,共他系部的目录是不可见,如果我们设置共享字段“browsable=no”,以实现隐藏功能,但这样设置,所有用户都无法查看共享。因为对同一共享目录,有多种需求,一个配置文件无法完成这项工作,这里需要用到我们前面学习的方法,建立独立配置文件。但是不要被列出的老师名单影响,为每个用户建立一个配置文件,显然操作太繁琐了。我们可以为每个系部建立一个组,并为每个组建立配置文件,实现隔离用户的目标。

    2.实训步骤

    (1)建立各部门专用目录(这里只实现前两个系,最后一个系由读者完成)

    使用mkdir命令,分别建立公共目录、计算机系和英语系存储资料的目录。

    (2)添加用户和组

    先建立计算机系组,英语系组,然后使用useradd命令添加院长账号master和不同系教师账号到不同的用户组。

    [root@zq ~]# groupadd computer

    [root@zq ~]# groupadd english

    [root@zq ~]# useradd master

    [root@zq ~]# useradd –g computer zhoudake

    [root@zq ~]# useradd –g computer zhangbin

    [root@zq ~]# useradd –g computer lihua

    [root@zq ~]# useradd –g english liyouling

    [root@zq ~]# useradd –g english zhanglili

    [root@zq ~]# useradd –g english wangli

    (3)使用smbpasswd命令添加samba用户

    (4)配置smb.conf文件

    ① 建立配置文件

    用户配置文件使用用户名命令,组配置文件使用组名命名

    ② 设置主配置文件smb.conf

    先打开vi编辑器打开smb.conf

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

    然后编辑主配置文件,添加相应的字段,确保samba服务器会调用独立的用户配置文件,以及组配置文件。

    [global]

           workgroup = workgroup

           server string = file server

           security = user

           include = /etc/samba/%U.smb.conf

           include = /etc/samba/%G.smb.conf

    [public]

           comment = public

           path = /share

           public = yes

    其中:  

    include = /etc/samba/%U.smb.conf,表示为使用samba服务器加载/etc/samba目录下,格式不“用户名.smb.conf”的配置文件。

    include = /etc/samba/%G.smb.conf,表示保证samba服务器加载格式为“组名.smb.conf”的配置文件。

    (5)设置院长master配置文件

    用vi编辑器修改master账号配置文件master.smb.conf,如下所示:

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

    [global]

           workgroup = workgroup

           server string = file server

           security = user

    [public]

           comment = public

           path = /share

           public = yes

    [computer]

           comment = computer

           path = /computer

           valid users = master

    [english]

           comment = english

           path = /english

           valid users = master

    其中:

    [computer]部份,表示为了使master账号访问计算机系的目录computer,指定samba服务器存放路径,并添加valid users字段,设置访问用户为master

    [english]部份,表示为了使master账号访问英语系的目录english,还需要添加english目录共享,并设置valid users字段,允许master访问。

    (6)设置计算机系组computer配置文件

    编辑配置文件computer.smb.conf,注意global全局配置以及共享目录public的设置,保持和master一样,因为计算机系组仅允许访问computer目录,所以只添加computer共享目录设置即可,如下所示:

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

    [computer]

           comment = computer

           path = /computer

           valid users = @computer,master

    (7)设置英语系组english的配置文件

    编辑english.smb.conf,全局配置和public与computer对应字段相同,添加english共享设置,如下示所:

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

    [english]

           comment = english

           path = /english

           valid users = @english,master

    (8)重新启动域加载服务器

    (9)验证测试

    我们用master用户进行登录,希望是能够查看的访问两个系的目录,登录窗口如图7.20所示。这里我们输入用户名和密码。可是系统反复出现这样的提法登录框,其原因是我们在使用smbpasswd命令添加samba用户名的时候,没有把master用户名添加进去,所以登录不成功。

    图7.20 用master账号登录

     

    如果要登录成功,必须执行下列语句

    这时我们重新输入用户名master和相对应的密码,登录成功如图7.21所示。

    图7.21 用master登录成功

     

    从上图可以看出,master登录成功后,可以看到computer、public和english,并且可以操作打开。达到了我们预期的要求。

    我们现在用英语系的客户端登录,登录成功后,如图7.22所示。

    图7.22用liyouling用户登录成功

     

    从上图可以看出,liyouling是英语系的老师,登录成功后,只可以看到本系english共享目录和public共享目录,此时看不到计算机computer共享目录。也达到了我们预期的要求。

    读者可以用其它账号进行测试。

    四、实训总结

    通过此次的上机实训,使用户掌握在Red Hat Enterprise Linux 5上安装与配置Samba 服务器,从而实现了不同操作系统之间的资源共享。

    注意:解决/etc/samba目录下没有smbpasswd文件

    原因:samba启用了tdbsam验证。

    解决:smb.conf文件中注释掉passdb backend = tdbsam 一行,加上smb passwd file = /etc/samba/smbpasswd,然后保存退出。

    这样再建立用户就产生了/etc/samba/smbpasswd文件了。

    使用cat命令查看smbpasswd文件滴内容哈~:cat /etc/samba/smbpasswd

    touch /share/test_sharemode_samba.tar

    (截图5张)

     

     

     

     

    最新回复(0)