Linux/Centos与Windows之间共享文件总结
1.Linux/Centos与Linux/Centos之间通过nfs共享文件
服务端ip:192.x.x.28
客户端ip:192.x.x.52
A.服务器(192.x.x.28上)端配置
(1).安装nfs服务器
yum install -y nfs-utils
yum clean metadata ##如果出现报错,清下yum缓存
yum clean all
(2).修改export文件。添加从机
vi /etc/exports ##添加
/home/docker/chapter11 192.x.x.52(rw,no_root_squash,sync,fsid=0,anonuid=501,anongid=50)
(3).创建目录
mkdir -p /home/docker/chapter11
(4).启动ntp服务
systemctl enable rpcbind.service
systemctl enable nfs-server.service
systemctl start rpcbind.service
systemctl start nfs-server.service
(5).检查NFS服务是否正常启动
rpcinfo -p
(6).关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld
(7).固定NFS服务器通讯端口
vi /etc/modprobe.d/lockd.conf ##更改
options lockd nlm_tcpport=32803
options lockd nlm_udpport=32769
vi /etc/sysconfig/nfs
RQUOTAD_PORT=1001 ##增加改行
MOUNTD_PORT=892 ##打开该行注释
(8).重启服务器(只重启nfs服务也可)
reboot
B.客户端(192.x.x.52上)配置
yum install -y nfs-utils ##安装nfs
systemctl enable rpcbind.service
systemctl start rpcbind.service ##启动ntp服务
showmount -e 192.x.x.28
mkdir /home/chapter11
mount -t nfs4 192.x.x.28:/ /home/chapter11 ##在客户端上临时绑定挂载服务器端
vi /etc/fstab ##设置永久挂载
192.x.x.28:/ /home/docker/chapter11 nfs4 auto,noatime,nolock,bg,intr,tcp,actimeo=1800 0 0
vi /etc/rc.local ##最底下增加
mount -a
df -h ##检验是否挂载成功;可进一步重启客户端,查看挂载是否永久生效
##此时在服务器的/home/docker/chapter11下创建文件,
##发现在机器2客户端上的/home/chapter11下有该文件。
2.Linux/Centos与Windows通过samba共享文件
(1).安装samba
yum -y install samba
(2).修改并添加配置
cd /etc/samba
cp smb.conf smb.conf.bak
ls
A.不设置用户登陆模式方式配置
vim smb.conf
##修改配置:
##global下的 workgroup 填写内容为自己电脑的工作组设置 ,查看方法为,右键 我的电脑, 属性查看;
## Bad User表示不设置smb登陆用户模式配置
workgroup = WORKGROUP
map to guest = Bad User
##然后添加:
##配置共享文件 FileShare为共享文件夹的名字; path 为共享文件夹在Linux中的路径
[FileShare]
comment = share linux file
path = /data
public = yes
writeable = yes
create mask = 0644
dictory mask = 0755
testparm ##查看samba是否配置的正确
mkdir -p -m 777 /data ##创建共享目录
chown nobody:nobody /data ##设置属性为共享
(3).关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
vi /etc/selinux/config ##修改selinux为disabled
SELINUX=disabled
(4).启动samba
systemctl start smb
systemctl enable smb
(5).共享文件查看
##打开我的电脑,windows文件系统上输入 \\Linux ip\FileShare
或者:
##我的电脑,右键-->映射网络驱动器(N)-->文件夹处输入 \\192.x.x.132\FileShare ,点击完成即可
(6).实际测试发现:
Windows上在共享文件夹下 创建文件/文件夹时,在Linux查看属主属主为nobody;windows上可以随意更改;
Linux上在共享文件夹下创建文件时,只要属主属组不是nobody时,则windows上只能查看而无法修改;
另外:
##选择映射模式打开之后,我的电脑里面会出现图标,方便下次直接打开;如果需要关闭下线的共享文件夹:
##我的电脑,右键-->断开网络驱动器的连接(C)-->选择需要断开的连接,确定;
##或者直接在网络位置处的共享文件夹上,右键--->断开连接
B.设置用户登陆模式方式配置
vim /etc/samba/smb.conf
workgroup = WORKGROUP ##修改工作组
##hosts allow = 192.168.1.100 ##限定window ip地址配置;可选配置
##添加
[public]
comment = Public share
path = /share
public = yes
writable = yes
mkdir -m 777 /share ##创建共享目录并设置权限
service smb restart ##重启服务
##创建samba的登陆用户(该用户必须存在Linux中)
useradd samba
echo samba | passwd --stdin samba ##设置本地samba用户密码
smbpasswd -a samba ##回车,然后设置密码为123456;区分本地和远程的密码
##windows上连接
##输入Linux ip\共享目录 然后输入samba远程共享时的用户密码 samba/123456
\\192.x.x.52\public
##linux上发现文件出现,并且属主属组为samba
3.VMware设置Centos与windows共享文件
##使用vmware自带的共享文件夹功能;前提需要安装vmware-tools;VM一般会自带且能用;
打开vmware,选择即将打开的centos,点击 虚拟机-->设置(setting)->选项(option)->共享文件夹(shared folders)
--> 添加桌面创面的文件夹mmkk,总是启用,
(1).打开centos,进行 shell操作
vmware-hgfsclient ##查看共享目录情况;输出结果为mmkk
mmkk
mkdir /mnt/hgfs ##创建挂载目录
(2).手动挂载共享目录;mmkk是设置的共享目录名字;/mnt/hgfs为挂载目录
vmhgfs-fuse .host:/mmkk /mnt/hgfs
注意:
如果找不到vmhgfs-fuse命令,则使用yum安装:
yum provides vmhgfs-fuse
yum install -y open-vm-tools
df -h ##查看挂载情况
ls -l /mnt/hgfs ##查看共享目录文件
(3).永久挂载
vim /etc/fstab ##添加:
.host:/mmkk /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0
mount -a ##使挂载生效
umount /mnt/hgfs ##取消挂载