Samba 或 NFS 实现文件共享

Samba 或 NFS 实现文件共享
Samba 文件共享服务
[root@linuxprobe ~ ]# yum install samba 服务端安装samba程序
[root@linuxprobe ~]# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak 备份配置文件
[root@linuxprobe ~]# cat /etc/samba/smb.conf.bak | grep -v "#" | grep -v ";" | grep -v "^$" > /etc/samba/smb.conf
[root@linuxprobe ~]# cat /etc/samba/smb.conf
配置共享资源
用于设置 Samba 服务程序的参数以及作用
[database] 共享名称为 database
comment = Do not arbitrarily modify the database file 警告用户不要随意修改数据库
path = /home/database 共享目录为/home/database
public = no 关闭“所有人可见”
writable = yes 允许写入操作
用于 pdbedit 命令的参数以及作用
-a 用户名 建立 Samba 账户
-x 用户名 删除 Samba 账户
-L 列出账户列表
-Lv 列出账户详细信息的列表
1、创建用于访问共享资源的账户信息
[root@linuxprobe ~]# id linuxprobe 此用户必须存在
[root@linuxprobe ~]# pdbedit -a -u linuxprobe 给系统中的用户名创建账号与密码
2、创建用于共享资源的文件目录
[root@linuxprobe ~]# mkdir /home/database
[root@linuxprobe ~]# chown -Rf linuxprobe:linuxprobe /home/database
[root@linuxprobe ~]# semanage fcontext -a -t samba_share_t /home/database
[root@linuxprobe ~]# restorecon -Rv /home/database
restorecon reset /home/database context unconfined_u:object_r:home_root_t:s0->
unconfined_u:object_r:samba_share_t:s0
3、设置 SELinux 服务与策略
[root@linuxprobe ~]# getsebool -a | grep samba
[root@linuxprobe ~]# setsebool -P samba_enable_home_dirs on
4、修改主配置文件
[root@linuxprobe ~]# vim /etc/samba/smb.conf
1 [global]
2 workgroup = MYGROUP
3 server string = Samba Server Version %v
4 log file = /var/log/samba/log.%m
5 max log size = 50
6 security = user
7 passdb backend = tdbsam
8 load printers = yes
9 cups options = raw
10 [database]
11 comment = Do not arbitrarily modify the database file
12 path = /home/database
13 public = no
14 writable = yes
5、Samba 服务程序的配置工作基本完毕
[root@linuxprobe ~]# systemctl restart smb
[root@linuxprobe ~]# systemctl enable smb
[root@linuxprobe ~]# iptables -F
[root@linuxprobe ~]# service iptables save

windows客户端连接服务端:
运行中输入:cmd进入屏幕后再输入:\\IP地址
linux客户端连接服务端:
[root@linuxprobe ~]# yum install cifs-utils 安装客户端程序
[root@linuxprobe ~]# vim auth.smb
username=linuxprobe
password=redhat
domain=MYGROUP
[root@linuxprobe ~]# chmod 600 auth.smb 修改权限
[root@linuxprobe ~]# mkdir /database
[root@linuxprobe ~]# vim /etc/fstab 加入启动
//192.168.10.10/database /database cifs credentials=/root/auth.smb 0 0
[root@linuxprobe ~]# mount -a
[root@linuxprobe ~]# cat /database/Memo.txt 可直接进去查看文件
以上配置已完成。

NFS(网络文件系统)
[root@linuxprobe ~]# yum install nfs-utils
[root@linuxprobe ~]# iptables -F
[root@linuxprobe ~]# service iptables save
[root@linuxprobe ~]# mkdir /nfsfile
[root@linuxprobe ~]# chmod -Rf 777 /nfsfile
[root@linuxprobe ~]# echo "welcome to linuxprobe.com" > /nfsfile/readme
用于配置 NFS 服务程序配置文件的参数
ro 只读
rw 读写
root_squash 当 NFS 客户端以 root 管理员访问时,映射为 NFS 服务器的匿名用户
no_root_squash 当 NFS 客户端以 root 管理员访问时,映射为 NFS 服务器的 root 管理员
all_squash 无论 NFS 客户端使用什么账户访问,均映射为 NFS 服务器的匿名用户
sync 同时将数据写入到内存与硬盘中,保证不丢失数据
async 优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据
修改配置文件,请注意, NFS 客户端地址与权限之间没有空格。
[root@linuxprobe ~]# vim /etc/exports
/nfsfile 192.168.10.*(rw,sync,root_squash)
[root@linuxprobe ~]# systemctl restart rpcbind 启动此rpc服务
[root@linuxprobe ~]# systemctl enable rpcbind
[root@linuxprobe ~]# systemctl start nfs-server 启动nfs服务
[root@linuxprobe ~]# systemctl enable nfs-server

客户端配置:(linux)
showmount 命令中可用的参数以及作用
-e 显示 NFS 服务器的共享列表
-a 显示本机挂载的文件资源的情况
-v 显示版本号
[root@linuxprobe ~]# showmount -e 192.168.10.10
[root@linuxprobe ~]# mkdir /nfsfile
[root@linuxprobe ~]# mount -t nfs 192.168.10.10:/nfsfile /nfsfile
[root@linuxprobe ~]# cat /nfsfile/readme
192.168.10.10:/nfsfile /nfsfile nfs defaults 0 0

客户端配置:(windows)
showmount -e 192.168.10.10 查看NFS服务器配置情况
mount 192.168.10.10:/nfsfile z: 磁盘映射到本地

autofs 自动挂载服务
[root@linuxprobe ~]# yum install autofs 安装程序
[root@linuxprobe ~]# vim /etc/auto.master
/media /etc/auto.misc 添加此行到文档中
/nfsfile /etc.auto.misc 添加此行到文档中
[root@linuxprobe ~]# vim /etc/auto.misc
cdrom -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom 光盘的格式
test -fstype=nfs 192.168.10.10:/nfsfile nfs文件格式
[root@linuxprobe ~]# systemctl start autofs 启动程序
[root@linuxprobe ~]# systemctl enable autofs
[root@linuxprobe ~]# mkdir -p /nfsfile/cdrom 新建挂载目录
[root@linuxprobe ~]# mkdir -p /media/test 新建挂载目录
[root@linuxprobe ~]# cd /nfsfile/cdrom 进入目录后自动挂载文件
[root@linuxprobe ~]# cd /media/test 进入目录后自动挂载文件
以上配置已经全部完成。

猜你喜欢

转载自www.cnblogs.com/comprehensive/p/12120000.html