freebsd构建NFS、SAMBA、FTP

freebsd构建NFS、SAMBA、FTP

网络文件系统(NFS
 
络文件系统是FreeBSD支持的文件系统中的一种, 也被称为 NFS。 NFS允许一个系统在网络上与它人共享目录和文件。通过使用NFS,用户和程序可以象访问本地文件一样访问远端系统上的文件。

NFS的好处: 1、本地工作站使用更少的磁盘空间,因为通常的数据可以存放在一台存储服务器上而且可以通过网络访问到。 2、用户不必在每个网络上机器里头都有一个home目录。Home目录 可以被放在NFS服务器上并且在网络上处处可用。    3、诸如软驱,CDROM,和 Zip(是指一种高储存密度的磁盘驱动器与磁盘)之类的存储设备可以在网络上面被别的机器使用,这可以减少整个网络上的可移动介质设备的数量。   NFS的实际应用: 1、多机组建负载均衡集群时,可以使用NFS共享存储,保证各服务器读写文件的一致性 2、多个机器共享一台CDROM或者其他设备。这对于在多台机器中安装软件来说更加便宜跟方便。    3、在大型网络中,配置一台中心 NFS 服务器用来放置所有用户的home目录可能会带来便利。这些目录能被输出到网络以便用户不管在哪台工作站上登录,总能得到相同的home目录。    4、几台机器可以有通用的/usr/ports/distfiles 目录。这样的话,当您需要在几台机器上安装port时,您可以无需在每台设备上下载而快速访问源码。 注:NFS 由Sun microsystems 公司开发。是一种网络操作系统,并且是unix操作系统的协议   NFS的工作方式: NFS 至少包括两个主要的部分:一台服务器, 以及至少一台客户机, 客户机远程地访问保存在服务器上的数据。要让这一切运转起来, 需要配置并运行几个程序。   服务器必须运行以下服务: nfsd           NFS为来自NFS客户端的 请求服务。 mountd             NFS挂载服务,处理nfsd递交过来的请求。 rpcbind              此服务允许 NFS 客户程序查询正在被 NFS 服务使用的端口。   客户端同样运行一些进程,比如 nfsiod。 nfsiod处理来自NFS的请求。   一、NFS安装配置: 安装rpc  # cd /usr/ports/math/rpc  # make install clean   NFS服务器这端,确认/etc/rc.conf 文件里头以下开关都配上了:   nfs_server_enable="YES" rpcbind_enable="YES" nfs_server_flags="-u -t -n 4" mountd_flags="-r" 每当NFS服务器启动时,mountd就自动运行了。在选项 nfs_server_flags 中,-u 表示我们提供 UDP 方式联机,而 -t 表示以 TCP 方式联机。-n 4标志,告诉nfsd运行自己的4个相同的拷贝,如果您所要使用 NFS 的 client 都是 FreeBSD,您可以只以 TCP 联机,如此可以有较佳的效能。-n 4 表示我们一次打开四个 nfsd 的 daemon。   某些应用程序需要文件上锁支持才能正常运行。在使用 NFS 时, 可以用 rpc.lockd 来支持文件上锁功能。 要启用它, 需要在服务器和客户机的 /etc/rc.conf 中加入 (假定两端均已配好了 NFS):   rpc_lockd_enable="YES" rpc_statd_enable="YES"   然后使用下述命令启动该程序:   # /etc/rc.d/lockd start # /etc/rc.d/statd start   在客户端一侧,确认下面这个开关出现在 /etc/rc.conf里头:   nfs_client_enable="YES" nfs_client_flags="-n 4"  #像nfsd,-n 4告诉nfsiod运行自己的4个拷贝   二、exports配置文件相关设置参数:
打开NFS server的服务是个很简单的事情,只需要运行/stand/sysinstall,选择Configure,在这个菜单中选择Networking,里面有一个NFS Server的选项,把它勾上以后会进入编辑器编辑一个文件/etc/exports你直接写你要export出去的目录就可以了。 
实例说明: # cat /etc/exports   # /usr/src /usr/obj -ro 192.168.9.224 -ro             表示 read only,只读   # /home   -alldirs       192.168.9.220 192.168.9.221 192.168.9.222 -alldirs      标记允许子目录被作为挂载点,但前提是 /data 必须是一个独立的 filesystem   # /a      -maproot=0 -network 192.168.9.0 -mask 255.255.248.0 -maproot=root         标记授权远端系统上的 root 用户在被输出的文件系统上以root身份进行读写,-network IP -mask MASK 指定允许联机的网域   # /cdrom -ro -mapall=alex -mapall              将所有 client 的存取联机对映到 user,也就是说所有人的身份都转成 user   配置文件/etc/exports内容如下: # cat /etc/exports /data        -alldirs      192.168.9.223   三、NFS启动与重载配置文件 启动NFS # /etc/rc.d/nfsd start   重新加载NFS配置文件:   在修改了 /etc/exports 文件之后, 就必须让 mountd 服务重新检查它, 以便使修改生效。一种方法是通过给正在运行的服务程序发送 HUP 信号来完成: # kill -HUP `cat /var/run/mountd.pid`   或指定适当的参数来运行 mountd 脚本: # /etc/rc.d/mountd reload   如果第一次设定,所以连 mountd 都还没有启动,所以你可以选择重新开机或是执行下列指令来启动 NFS 服务 # rpcbind # nfsd -u -t -n 4 # mountd -r
  在 NFS 客户端: # nfsiod -n 4   四、客户端配置: 1.查看NFS服务器的输出 # showmount -e 192.168.9.134   2.挂载NFS服务器中的共享目录到本地目录/data2/下 # mount -t nfs 192.168.9.134:/data /data2/

freebsd构建NFS、SAMBA、FTP

3.卸载系统中已挂载的NFS共享目录 # umount /data/   4.修改fstab文件让系统启动时自动挂载NFS文件 # ee /etc/fstab 192.168.1.134:/data    /data2    nfs     defaults    0 0

 本文出自 “聆听未来” 博客,请务必保留此出处http://kerry.blog.51cto.com/172631/593108
 
FreeBSD配置Samba 1、在freebsd本机为samba添加用户smbguest
# adduser smbguest   2、创建用户共享的目录/home/share
# mkdir /home/share
将目录属主更改为smbguest
# chown smbguest:smbguest /home/share
将访问权限改为775
# chmod 775 /home/share   3、在samba数据库创建用于smbguest(这一步很重要,因为第一步创建的是系统用户,这一部创建的samba用户,samba服务器会验证smbguest用户,通过验证后,
才能通过系统用户smbguest访问文件系统)
# pdbedit -a -u smbguest   4、编辑/usr/local/etc/smb.conf配置文件
# vim /usr/local/etc/smb.conf
[global]
netbios name = freebsd       # netbios名称
workgroup = WORKGROUP        # 工作组
server string = Samba Server # 描述字符串
security = user              # 安全模式,为了安全起见,建议使用user
hosts allow = 192.168.1. 127. # 允许访问的网段
guest account = smbguest     # 使用smbguest账户访问共享文件夹
log file = /var/log/samba/log.%m # 日志文件的位置
max log size = 50            # 日志文件大小,最大50KB,超过后会自动删除旧的日志
passdb backend = tdbsam      # 数据库后端,现在的samba版本推荐使用tdbsam后端,所以才需要前面的第三步   [Share]
comment = Sharing files in FreeBSD host.
path = /home/share       # 共享文件夹位置
valid users = smbguest   # 有效账户,只有通过smbguest才能访问共享文件夹
public = no
writable = yes
printable = no   5、修改/etc/inetd.conf
# vim /etc/inetd.conf
将nmbd和smbd前面的注释符号去掉。samba只有通过nmbd和smbd守护进程才能启动。   6、修改/etc/rc.conf
# vim /etc/rc.conf
添加:
inetd_enable="YES"
samba_enable="YES"
winbindd_enable="YES"   7、重新启动inetd和samba
# ps -aux | grep inetd
找到inetd的pid
# kill -HUP inetd的pid
# cd /usr/local/etc/rc.d
# ./samba restart   之后在windows中,通过\\freebsd\share访问就可以了,OK :-) freebsd构建NFS、SAMBA、FTP Step1: 建立 ftp 用户/组,并将 ftp 用户的 root 目录设置为 /home/ftp

 

$ sudo pw groupadd ftp
$ sudo pw useradd ftp -g ftp -d /home/ftp

Step2: 开启 inetd 所管理的 ftp 服务,只需打开 /etc/inetd.conf 文件,去除下面这行语句的注释符 "#",

#ftp     stream  tcp     nowait  root    /usr/libexec/ftpd       ftpd -l

然后检查一下 /etc/rc.conf 文件中是否已经存在下面的语句:

inetd_enable="YES"

若没有,就添加它。

完后,重启后应该就可以正常使用匿名 ftp 服务了。也可运行下面的命令,直接开启:

$ sudo /usr/libexec/ftpd -l

当我可以正常使用匿名 ftp 时,发现无法对上传的文件进行删除、移动等操作。这就是我说的“小挫折”,开始不愿意费心去解决这个问题,结果无法忍受其他同学几次要求,便 man 了一下 ftpd,结果找到 "-m" 选项,将其添加到 /etc/inetd.conf 文件中,即修改刚才的那行代码为:

ftp     stream  tcp     nowait  root    /usr/libexec/ftpd       ftpd -l -m

重启 ftp 服务,大功告成。

上一篇:FreeBSD fcitx 4.X/5.X输入法框架


下一篇:在pycharm中调试和运行scrapy