Linux NFS+Samba 服务器搭建

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/     (注意点):

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

#service iptables stop

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

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

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

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

(截图5张)

 

Linux NFS+Samba 服务器搭建

Linux NFS+Samba 服务器搭建

Linux NFS+Samba 服务器搭建

Linux NFS+Samba 服务器搭建

Linux NFS+Samba 服务器搭建

Linux NFS+Samba 服务器搭建

Linux NFS+Samba 服务器搭建

Linux NFS+Samba 服务器搭建

Linux NFS+Samba 服务器搭建

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命令,分别建立公共目录、计算机系和英语系存储资料的目录。

Linux NFS+Samba 服务器搭建

(2)添加用户和组

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

[[email protected] ~]# groupadd computer

[[email protected] ~]# groupadd english

[[email protected] ~]# useradd master

[[email protected] ~]# useradd –g computer zhoudake

[[email protected] ~]# useradd –g computer zhangbin

[[email protected] ~]# useradd –g computer lihua

[[email protected] ~]# useradd –g english liyouling

[[email protected] ~]# useradd –g english zhanglili

[[email protected] ~]# useradd –g english wangli

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

Linux NFS+Samba 服务器搭建

(4)配置smb.conf文件

① 建立配置文件

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

Linux NFS+Samba 服务器搭建

② 设置主配置文件smb.conf

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

[[email protected] ~]# 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,如下所示:

[[email protected] ~]# 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共享目录设置即可,如下所示:

[[email protected] ~]# vi/etc/samba/computer.smb.conf

[computer]

       comment = computer

       path = /computer

       valid users = @computer,master

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

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

[[email protected] ~]# vi/etc/samba/english.smb.conf

[english]

       comment = english

       path = /english

       valid users = @english,master

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

Linux NFS+Samba 服务器搭建

(9)验证测试

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

Linux NFS+Samba 服务器搭建

图7.20 用master账号登录

 

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

Linux NFS+Samba 服务器搭建

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

Linux NFS+Samba 服务器搭建

图7.21 用master登录成功

 

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

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

Linux NFS+Samba 服务器搭建

图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张)

 

Linux NFS+Samba 服务器搭建

Linux NFS+Samba 服务器搭建

 

Linux NFS+Samba 服务器搭建

 

Linux NFS+Samba 服务器搭建

Linux NFS+Samba 服务器搭建