Linux文件共享
Linux文件共享
@firestaradmin 2020年12月10日
NFS
NFS 服务端
sudo apt-get install nfs-kernel-server rpcbind
安装完成后创建一个nfs文件夹,以后需要通过网络用的文件都放这里.xxxx/nfs
之后配置文件/etc/exports:
sudo vi /etc/exports
在文件末尾添加如下所示内容:
xxxx/nfs *(rw,sync,no_root_squash)
重启 NFS 服务
sudo /etc/init.d/nfs-kernel-server restart
NFS客户端
安装客户端应用:
apt-get install -y nfs-common
用mkdir命令创建一个文件夹xxx/nfs-mount。
将NFS服务器的xxx/nfs 目录挂载到NFS客户端的xxx/nfs-mount 目录,执行以下命令:
mount 192.168.119.128:xxx/nfs xxx/nfs-mount
连接失败情况解决:
如果出现以下情况
ARM-Linux NFS挂载不上,是由于高版本的NFS服务,默认不支持nfs v2的连接,而uboot中nfs服务是 V2版本的,所以需要修改/etc/default/nfs-kernel-server
文件以支持v2 nfs。
修改完内容如下:
# Number of servers to start up
#RPCNFSDCOUNT=8
RPCNFSDCOUNT='-V 2 8'
# Runtime priority of server (see nice(1))
RPCNFSDPRIORITY=0
# Options for rpc.mountd.
# If you have a port-based firewall, you might want to set up
# a fixed port here using the --port option. For more information,
# see rpc.mountd(8) or http://wiki.debian.org/SecuringNFS
# To disable NFSv4 on the server, specify '--no-nfs-version 4' here
#RPCMOUNTDOPTS="--manage-gids"
RPCMOUNTDOPTS="-V 2 --manage-gids"
# Do you want to start the svcgssd daemon? It is only required for Kerberos
# exports. Valid alternatives are "yes" and "no"; the default is "no".
NEED_SVCGSSD=""
# Options for rpc.svcgssd.
RPCSVCGSSDOPTS="--nfs-version 2,3,4 --debug --syslog"
Samba
1、在Ubuntu上安装Samba
更新apt包索引:
sudo apt update
安装Samba软件包:
sudo apt install samba
安装完成后,Samba服务将自动启动。 要检查Samba服务器是否正在运行,请键入:
sudo systemctl status nmbd
//或
service smbd status
输出应如下所示,表示Samba服务处于活动状态并正在运行:
2、创建共享的文件位置和创建用户
1、创建要共享的文件位置:
mkdir xxx/samba_share
2、设置共享文件的权限
chomd -R 777 xxx/samba_share
3、创建Samba用户
sudo smbpasswd -a Samba用户名
然后输入密码
3、配置Samba
1、在更改Samba配置文件之前,请创建备份以供将来参考或还原:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
2、修改配置文件
sudo vim /etc/samba/smb.conf
在最后增加以下内容:
[share] # 连接的时候的名字
comment = share folder # 描述,说明共享信息
path = xxx/samba_share # 要共享的文件位置
create mask = 0777 # 创建文件的权限
directory mask = 0777 # 创建目录的权限
valid users = wzh # 允许使用服务的用户列表
force user = nobody # 前置把共享的文件属主
force group = nogroup # 可以访问的用户组
public = yes # 允许guest用户访问,与guest ok=yes完全相同
available = yes # 该指定共享资源可使用
writable = yes # 是否可写
browseable = yes # 是否可见,no为隐藏共享
read only = no # 是否为只读
其他设置:
samba安全级别
share ##匿名共享,不需要用户名密码
user #需要用户名密码,默认由samba服务器检查
server #由指定的服务器认证
domain #由域控制器验证
3、重启Samba
sudo systemctl restart nmbd
// 或者
service smbd restart
4、验证配置的正确性
smbclient -L //localhost/share
输入账号和密码,正确则会出现以下内容:
4、WIN10连接Samba
0、确保windows配置正确
- 确保windows能访问到Ubuntu的地址
- 确保windows共享服务已开启
1、法一:
win键 + R 打开运行,,并输入:\\192.168.12.200\share
注意!!此处的\\192.168.12.200\share
里的 share
和之前我们添加配置的 中括号中的内容一致,而不是你的共享目录的路径。
2、法二:
此电脑==》映射网络驱动器==》映射网络驱动器
5、可能遇到的问题
防火墙问题
有时候会因为防火墙的原因导致window访问Ubuntu中的共享文件失败。
(1)法一:
关闭防火墙:
sudo ufw disable
注:开启防火墙:
sudo ufw enable
(2)允许Samba使用端口
查看Samba服务所使用的端口:
netstat -anop | grep smbd(Samba)
netstat -anop | grep nmbd
nmbd是属于smb服务的一个进程。
我们看到使用了tcp的139和445端口,udp的137和138端口。在防火墙中允许通行,如允许139端口被访问:
sudo ufw alow 139
\\ 或者
sudo allow Sambd
(3)查看ufw状态
sudo ufw status
windows10上面的配置问题
(1)开启共享服务
控制面板==》卸载程序==》启动或关闭windows功能==》勾选SMB1.0/CIFS文件共享支持==》重启电脑
(2)本地组策略编辑
注意win10家庭版一开始是打不开本地组策略的
(a)新建文档,内容入下:
@echo off
pushd "%~dp0"
dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientExtensions-Package~3*.mum >List.txt
dir /b C:\Windows\servicing\Packages\Microsoft-Windows-GroupPolicy-ClientTools-Package~3*.mum >>List.txt
for /f %%i in ('findstr /i . List.txt 2^>nul') do dism /online /norestart /add-package:"C:\Windows\servicing\Packages\%%i"
pause
(b)修改扩展名并运行
将文本文档的扩展名由txt修改成cmd,出现扩展名修改提示按确定按钮
鼠标右键单击新建文本文档.cmd这个文件,选择以管理员身份运行
(c)重启电脑,在运行中输入gpedit.msc启动组策略
(d)修改本地组策略
计算机配置==》管理模板==》网络==》Lanman工作站
启用不安全的来宾登录:
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!