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 | yum install samba -y #Cenots |
配置 SAMBA
编辑配置文件:/etc/samba/smb.conf
1 | [global] |
为 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 | systemctl restart smb nmb #重启samba |
Debian 环境下:
1 | /etc/init.d/samba restart #重启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 | apt-get install -y nfs-common nfs-kernel-server #debian |
配置 NFS
编辑 /etc/exports
文件
1 | /opt/test 192.168.1.0/24(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 | systemctl restart nfs #重启samba |
Debian 环境下:
1 | /etc/init.d/nfs-kernel-server restart #重启samba |
访问 NFS 共享
windows 环境下,需要先安装 NFS 支持。
安装完成后,按 WIN+R
键,在运行框内输入 cmd
回车。
1 | showmount #显示开始NFS服务的主机 |
LINUX 环境下:
1 | showmount #显示开始NFS服务的主机 |