linux下的文件共享

LINUX下有好多种共享,分享nfs和samba这二种共享方式。

SAMBA共享

Samba最大的功能可用于Linux与Windows系统直接的文件共享和打印共享,Samba既可用于Windows与Linux之间的文件共享,也可用于Linux与Linux之间的资源共享,由于NFS的出现,因而 Samba更多用在Linux与Windows之间的数据共享上面。
Samba服务器可实现如下功能:

  • WINS和DNS服务;
  • 网络浏览服务;
  • Linux和Windows域之间的认证和授权;
  • UNICODE字符集和域名映射;
  • 满足CIFS协议的UNIX共享等。

安装SAMBA服务

执行下面的安装命令:

1
2
yum install samba -y  #Cenots
apt-get install samba -y #debian

配置SAMBA

编辑配置文件:/etc/samba/smb.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
[global]
workgroup = WORKGROUP #设置工作组
security=user #使用用户名和密码登陆。
netbios name=centos #NMB名字
printcap name =/etc/printercap #指定打印机配置文件的位置。读取printcap文件中的配置信息,监视打印机的工作情况.
[共享名]
path = /mnt/ #共享文件路径
valid users = 用户名1,用户名2 #只共享给哪个用户
write list = 用户名,用户名2 #给用户写权限
browseable = yes #是否出现在共享目录中
public = yes #是否可以公共访问
write only = yes #只读

#下面部分是配置SAMBA打印机部份,不需要可以不写。
[printers]
comment = All Printers #这部分用于配置打印机共享,所有用户都可以共享打印机。

path = /var/spool/samba #设置打印机队列的位置,用户必须自行创建该目录,存放打印的临时文件

browseable = no #不允许浏览共享打印机

# Set public = yes to allow user ’guest account’ to print

guest ok = no #必须用帐号和密码才可以访问共享打印机

writable = no #共享打印机,writable必须设置为no

printable = yes #允许用户更改打印机队列中的文件

[fredsprn]

comment = Fred’s Printer #该共享的打印机只允许fred私人使用

valid users = fred

path = /home/fred #打印机队列是fred的用户目录,要主义fred必须有权访问该目录。

printer = freds_printer #设置共享打印机的名称,此参数又可以写成“printer name=”,该参数如果放在[global]字段,所有打印服务用到的打印机名都将是一样的

public = no

writable = no

printable = yes

为Windows 客户机准备打印驱动

为了给Windows 客户机准备打印驱动,可以运行cupsaddsmb命令。执行如下的操作将打印机驱动程序放置在/etc/samba/drivers目录下。

创建/etc/samba/drivers目录

1
mkdir /etc/samba/drivers

运行cupsaddsmb命令,以root身份执行该命令,共享所有打印机

1
cupsaddsmb -a -U root

配置文件完成之后,还需要用smbpasswd -a 用户名,来添加用户访问帐号。

启动SAMBA

Centos7环境下:

1
2
3
4
5
systemctl restart smb nmb	#重启samba
systemctl enable smb nmb #启用samba
systemctl status smb nmb #查看服务状态
systemctl stop smb nmb #停止samba
systemctl disable smb nmb #禁用samba

Debian环境下:

1
2
3
4
5
/etc/init.d/samba restart   #重启samba
/etc/init.d/samba enable #重启samba
/etc/init.d/samba status #查看samba状态
/etc/init.d/samba stop #停止samba
/etc/init.d/samba desable #禁用samba

访问SAMBA

windows下直接在我的电脑里输入\\IP地址或nmb名\

LINUX下用mount挂载:

1
mount -t cifs //IP地址或nmb名/video /mnt/raye -o username=*** password=”***” iocharset=utf8

如果没有写入权限,可以试试下面这行。

1
mount -t cifs //IP地址或nmb名/video /mnt/raye/video -o username=***,password="***",gid=””,uid=””,rw,fmask=775,dmask=777


NFS共享

NFS做为LINUX之间共享文件用的比较多。

安装NFS

根据linux系统选择安装命令

1
2
apt-get install -y nfs-common nfs-kernel-server #debian
yum install -y rpc-bind nfs-utils #centos

配置NFS

编辑/etc/exports文件

1
2
3
/opt/test 192.168.1.0/24(rw,sync)

/opt/test1/ *(rw,sync)

配置说明:
/opt/test 为共享目录
192.168.1.0/24 可以为一个网段,一个IP,也可以是域名,域名支持通配符 如: *.qq.com
rw:read-write,可读写;
ro:read-only,只读;
sync:文件同时写入硬盘和内存;
async:文件暂存于内存,而不是直接写入内存;
no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。
root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;
all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;
anonuid:匿名用户的UID值,可以在此处自行设定。
anongid:匿名用户的GID值。

启动NFS

Centos7环境下:

1
2
3
4
5
systemctl restart nfs   #重启samba
systemctl enable nfs #启用samba
systemctl status nfs #查看服务状态
systemctl stop nfs #停止samba
systemctl disable nfs #禁用samba

Debian环境下:

1
2
3
4
5
/etc/init.d/nfs-kernel-server restart   #重启samba
/etc/init.d/nfs-kernel-server enable #重启samba
/etc/init.d/nfs-kernel-server status #查看samba状态
/etc/init.d/nfs-kernel-server stop #停止samba
/etc/init.d/nfs-kernel-server desable #禁用samba

访问NFS共享

windows环境下,需要先安装NFS支持。

安装完成后,按WIN+R键,在运行框内输入cmd回车。

1
2
3
4
5
showmount    #显示开始NFS服务的主机
showmount -e #显示出可以NFS挂载的目录
showmount -d #显示被挂载的共享目录
showmount -a #显示客户端信息和共享目录
mount 192.168.1.99:/srv/upload X: #挂载到windows的X盘

LINUX环境下:

1
2
3
4
5
6
showmount    #显示开始NFS服务的主机
showmount -e #显示出可以NFS挂载的目录
showmount -d #显示被挂载的共享目录
showmount -a #显示客户端信息和共享目录
mount 192.168.1.99:/srv/upload /mnt/upload #挂载到/mnt/upload。
192.168.1.99:/srv/upload /mnt/upload nfs rsize=8192,wsize=8192,timeo=14,intr #客户端每次启动时自动挂载NFS


-------------本文结束 感谢您的阅读-------------
-------------如果觉得这篇文章不错,可以请作者喝杯咖啡!-------------