Linux命令学习—文件服务器 NFS 和 Samba

1.1、NFS 服务器

1.1.1、NFS 服务器介绍

NFS network file system 网络文件服务器

最初由 SUN 公司发展起来,一种简单的文件服务器,NFS 允许一个系统在网络上与他人共享目录和文 件。

1.1.2、配置 NFS 服务器

①、NFS 的配置相关文件

/etc/exports

NFS 服务的管理

service nfs start(stop,restart)

检查 NFS 服务是否开机启动

chkconfig - - list nfs

检查 NFS 包是否安装

rpm -qa |grep nfs

NFS 的安装

rpm -ivh /media/cdrom/RedHat/RPMS/nfs-utils-1.0.6-46.i386.rpm
rpm -ivh /media/cdrom/RedHat/RPMS/portmap-4.0-63.i386.rpm(nfs 相关服务进程)

②、vi /etc/exports 编辑 NFS 的服务器配置文件

在配置文件中以行为单位写入共享信息,格式如下:

在配置文件中以行为单位写入共享信息,格式如下:
directory client (option1,option2)
directory 代表共享目录
client 代表授权主机

()内的内容代表常用操作选项

操作选项

rw 可读写权限
ro 只读权限
all_squash 所有用户登陆都以匿名用户身份访问
anonuid 指定匿名用户的 UID(默认以 nobody 的身份登陆)
anongid 指定匿名用户的 GID(默认以 nobody 的身份登陆)
sync 数据同步写入硬盘
async 数据先存放在内存中,不直接写入硬盘

example:

/nfs/share *(async)

将/nfs/share 共享给所有人访问,默认是只读,数据不直接写入硬盘

/nfs/sh1 192.168.1.*(ro,all_squash,async)

将/nfs/sh1 目录共享给 192.168.1.0 网段的客户端访问,访问时以只读,匿名用户,数据不直接写入硬盘

/nfs/sh2 192.168.1.100(rw,sync,anonuid=500,anongid=500)

将/nfs/sh2 目录共享给指定 IP192.168.1.100,访问以 UID 和 GID500 的用户的身份登陆,读写权限,数 据直接写入硬盘.

③、NFS 客户端的访问

查看 NFS 共享:

showmount -a 在 server 上应用,查看已经 mount 上本机 NFS 共享目录的机器
showmount -e NFS 服务器的 IP 地址

查看指定 NFS 服务器上的共享目录:

mount 192.168.1.1:/nfs/sh2 /mnt/nf2

将 NFS 服务器 192.168.1.1 上的/nfs/sh2 共享目录挂载到本机的/mnt/nf2 目录下 如果指定文件系统类型。

1.2、samba 服务器

1.2.1、samba 服务器介绍

SMB 协议:

SMB(Server MessageBlock,服务信息块)协议可以看作是局域网上的共享文件/打印机的一种协议,它 可以为网络内部的其它 Windows 和 Linux 机器提供文件系统、打印服务或是其他一些信息。

Samba:

Samba 是用来实现 SMB 的一种软件,由澳大利亚的 Andew Tridgell 开发,是一种在 Linux(Unix)环境下 运行的免费软件。Samba 整合了 SMB 协议及 Netbios 协议,使其运做在 TCP/IP 上。能够让 Unix based 的机 器与 windows 互动,采用的是服务器/客户端的架构,执行 Samba 客户端程序,我们就可以访问 Windows 主机上的共享资源。而运行 Samba 服务器,Windows 主机也可以访问 Linux 上的共享资源。

SAMBA 服务有两个进程:

smbd:SMB 服务器
nmbd:netbios 名字服务器。
smbd 为 SMB 客户机,诸如 Windows 9x/NT 等提供 Windows NT 和 Lan Manager 风格的文件和打印服务。
nmbd 提供浏览支持,使采用 Linux 操作系统的计算机用户可以融入使用 netbios 协议的 windows 网络。

Samba 服务能够做什么:

  1. 在网络上共享目录,就好像一台文件服务器一样。

  2. 在网络上共享打印机。

  3. 决定每一个目录由谁来使用,可以让一个人、某些人、组和所有人访问。

  4. 决定打印机由谁来使用,可以让一个人、某些人、组和所有人使用。 可以看出,安装和配置好了 Samba 服务器后,Linux 就可以使用 Windows 网络中的文件和打印服务器了。

1.2.2、图形化界面配置 samba 服务器

①、访问 Samba 服务器配置工具

依次单击"主菜单→系统设置→服务器设置→Samba 服务器",即可打开 Samba 服务器配置窗口。

注意:

1.必须以 root 用户身份才可以对 Samba 服务器进行配置。

2.也可以在终端窗口输入 redhat-config-samba 命令打开配置窗口。

②、进行服务器设置

这里首先要对 Samba 服务器的基本设置和安全选项进行配置,单击配置窗口上的"首选项→服务器设置",即可打开服务器设置对话框

1)基本设置

在对话框的"基本"标签页,我们可以指定 Linux 主机所在的工作组名称,需要注意的是,此处的工 作组 名称不一定非得与 Windows 主机所在的工作组名称一致。

2)安全设置

Samba 服务器安全设置,这里一共有四个选项,分别介绍如下:

A. 验证模式:如果 Windows 主机不是位于 NT 域里,此处应该选择"共享"验证模式,这样只有在连接 Samba 服务器上的指定共享时才要求输入用户名、密码;

B. 验证服务器:对于"共享"验证模式,无须启用此项设置;

C. 加密口令:应该选择"是",这样可以防止黑客用嗅探器截获密码明文;

D.来宾账号:当来宾用户要登录入 Samba 服务器时,他们必须被映射到服务器上的某个有效用户。选择系 统上的现存用户名之一作为来宾 Samba 账号。当用户使用来宾账号登录入 Samba 服务器,他们拥有和这个 用户相同的权限。

③、添加共享目录

添加共享目录,单击 Samba 配置窗口工具栏上的"增加"按钮,即可打开一个添加共享对话框。

1)在该对话框上的"基本"标签页上,指定要共享的目录为某个存在的目录,例如可以指定/tmp,再 指定该目录的基本权限是只读还是读/写。

2)在"访问"标签页上,可以指定允许所有用户访问、或者只允许某些用户访问。

④、添加 samba 共享用户

添加用户,在首选项中选择 samba 用户管理,启动 Samba 用户管理界面,先要选择一个 linux 用户, 然后在这个用户下面建立 windows 登录时使用的用户和密码。使用这个 windows 用户登录时自动继承 linux 用户的权限,默认有 linux 用户的主目录的访问权限。

确定后一个新用户就建立好了,添加共享目录时就可以分配每个用户的访问目录来。

⑤、从 Windows 访问 Samba 服务器

须启动 Samba 服务。打开一个终端窗口,键入"service smb start"命令,即可出现以下提示信息, 表示 Samba 服务已经启动:

# service smb start
启动 SMB 服务 [确定]
启动 NMB 服务 [确定]

1.2.3、文本界面下配置 samba 服务器

①、samba 相关

后台进程:smbd,nmbd
使用端口:137,138,139
所需 RPM 包:samba,samba-common,samba-client
相关 RPM 包:samba-swat
配置文件:/etc/samba/smb.conf
samba 服务的启动/停止/重启
service smb start
service smb stop
service smb restart

②、samba 主配置文件介绍

/etc/samba/smb.conf
使用[]分成几段,每段的含义
[global]:一些全局配置
[homes]:让用户可以访问其主目录
[printers]:定义共享的打印机资源
[global 段的配置
workgroup 配置工作组
security 安全模式,共享级别(user,share)
[homes]共享段的配置
example:
[tmp]
comment = Temporary file space 共享描述
path = /tmp 共享目录
read only = no 共享权限
browseable = yes 是否显示(隐藏共享)
public = yes 公开访问,提供给所有用户
配置共享级别的 samba
example:
security = share
[share]
comment = share test 
path = /media/share 
read only = no 
browseable = yes 
public = yes 
添加共享目录/media/share,共享名为 share,描述为 test,开放给所有用户访问
配置用户级别的 samba
example:
security = user
#smbpasswd -a jake 共享访问用户为 jake
password: 共享访问密码为***

1.3、windows 和 linux 下的共享互访

linux 访问 windows

①、使用 mount

mount windowsIP 地址/共享名 本机目录 -o username=用户名

②、mount.cifs

mount.cifs windowsIP 地址/共享名 本机目录 -o username=用户名

③、使用 mount 加参数 -t cifs

mount windowsIP 地址/共享名 本机目录 -o username=用户名

④、使用 sambaclient

sambaclient windowsIP 地址/共享名 -U 用户名
windows 访问 linux
windows 访问 linux 与访问 windows 相同,使用 UNC 路径
相关推荐
zhd15306915625ff9 分钟前
化工厂主要涉及的自动化备件有哪些?
运维·自动化·化工厂
Jason-河山10 分钟前
利用API返回值实现商品信息自动化更新:技术与实践
运维·自动化
wowocpp1 小时前
查看 linux ubuntu 分区 和 挂载 情况 lsblk
linux·运维·ubuntu
wowocpp1 小时前
查看 磁盘文件系统格式 linux ubuntu blkid ext4
linux·数据库·ubuntu
并不会2 小时前
常见 CSS 选择器用法
前端·css·学习·html·前端开发·css选择器
龙鸣丿2 小时前
Linux基础学习笔记
linux·笔记·学习
耶啵奶膘4 小时前
uniapp-是否删除
linux·前端·uni-app
Nu11PointerException4 小时前
JAVA笔记 | ResponseBodyEmitter等异步流式接口快速学习
笔记·学习
_.Switch5 小时前
高级Python自动化运维:容器安全与网络策略的深度解析
运维·网络·python·安全·自动化·devops
2401_850410835 小时前
文件系统和日志管理
linux·运维·服务器