0


Ubuntu上设置共享文件夹

在Ubuntu上设置共享文件夹的方法主要有两种:使用Samba共享和使用NFS共享。

一、使用Samba共享

1.安装Samba服务器

在终端中运行以下命令安装Samba服务器:

sudo apt update
sudo apt install samba

2.创建共享文件夹

在终端中运行以下命令创建共享文件夹,并设置相应的权限:

sudo mkdir -p /home/sambashare
sudo chown -R sambashare:sambashare /home/sambashare
sudo chmod -R 777 /home/sambashare

3.创建Samba用户

在Ubuntu系统中,您可以创建一个本地用户账号,然后配置Samba使其仅能访问特定的共享文件夹samba,而不能登录到系统本身。以下是如何实现这一目标的步骤:

3.1. 创建本地用户账号

首先,创建一个新的本地用户账号,这个账号将用于Samba共享的访问:

sudo adduser sambashare

或者:
# 仅文件夹共享账号,不允许登录系统
sudo useradd -d /home/ftp -s /sbin/nologin Tygmsamba

# 查看有哪些账号
cat /etc/passwd

在提示时,填写必要的信息。此用户不需要具有特殊权限,因为它仅用于文件共享。

3.2. 设置Samba密码

Windows 上输入的是 Samba 用户名和密码,而不是 Ubuntu 系统用户的密码。Samba 用户密码是通过以下命令单独设置的:sudo smbpasswd -a sambauser你在 Windows 上输入的用户名和密码应该与上面设置的一致。

接下来,为Samba服务为这个新用户设置密码:

sudo smbpasswd -a sambashare

在提示时,输入并确认密码。

4. 配置Samba共享

编辑Samba配置文件来设置共享参数

sudo nano /etc/samba/smb.conf

编辑Samba配置文件并添加以下内容:

[samba]
#描述信息
comment = samba
#共享文件夹路径
path = /home/sambashare
#允许访问该共享的用户,多个用户或者组中间用逗号隔开
valid users = sambashare
#read only = no
#该共享是否可以浏览,如果no则表示隐藏,需要通过"//ip/共享目录"进行访问
browsable = yes
#是否有写权限
writable = yes
#该共享资源是否可用
available = yes

其他配置:
public = yes # 表示是否允许匿名访问该共享目录
browsable = yes # 表示是否可以在 Window Explorer中显示该目录
create mask = 777 # 指明新建立的文件的属性
directory mask = 777 # 指明新建立的目录的属性

确保将path指向正确的共享文件夹路径。如果您没有为用户sambashare创建samba文件夹,您需要先创建它:

sudo mkdir -p /home/sambashare/samba
sudo chown -R sambashare:sambashare /home/sambashare/samba

5. 限制用户登录权限

为了防止用户sambashare登录系统,可以编辑/etc/passwd文件来更改用户的登录shell为/bin/false/usr/sbin/nologin

sudo nano /etc/passwd

找到用户sambashare的条目,将其最后一部分(默认是/bin/bash)更改为/bin/false/usr/sbin/nologin。看起来会像这样:

sambashare:x:1001:1001:sambashare,,,:/home/sambashare:/bin/false
或者:
sambashare:x:1001:1001:sambashare,,,:/home/sambashare:/usr/sbin/nologin

保存并关闭文件。

6.开放、修改端口

使用Samba服务时通常需要开放139

以下是修改端口号的步骤:

6.1. 打开Samba配置文件进行编辑

sudo nano /etc/samba/smb.conf

6.2. 修改端口

在配置文件中找到Globals部分或相应章节,添加或修改以下两行来更改SMB服务的端口号:

smb ports = 39139

6.3. 防火墙开放端口

更新防火墙规则以开放新的端口号。如果你使用的是ufw,可以使用以下命令:

sudo ufw allow 19139/tcp

请注意,更改默认端口可能会带来一些问题:

  • 需要确保所有需要连接到Samba服务的客户端都配置为使用新的端口号。
  • 其他网络设备或安全策略可能也需要更新以允许这些新的端口号。

6.4 查看samba服务使用的端口

netstat -tlnp |grep smb

使用非标准端口可以提高安全性,因为它们不如标准端口那样常见,这可能使得恶意扫描器不太可能发现你的Samba服务。然而,最佳的安全性实践还包括使用其他安全措施,如配置强密码、限制用户权限、使用加密以及定期更新软件。

7. 重启Samba服务

应用更改后,重启Samba服务:

sudo systemctl restart smbd
sudo systemctl restart nmbd

现在,用户sambashare应该能够通过Samba访问samba文件夹,但无法登录到系统。在客户端连接时,使用sambashare作为用户名和之前设置的密码进行身份验证。

请注意,更改系统文件,如/etc/passwd,可能会对您的系统安全造成风险,因此请确保您了解所做的更改,并仅在不违反系统安全策略的情况下进行

8. 在Windows下访问samba服务器

win10通过ip访问时似乎都是默认走445

 --Port 139 (TCP) - 文件和打印共享 ; smbd (基于SMB(Server Message Block)协议,主要在局域网中使用,文件共享协议)

 --Port 445 (TCP) - NetBIOS服务在windos 2000及以后版本使用此端口, (Common Internet File System,CIFS,它是SMB协议扩展到Internet后,实现Internet文件共享)。这是 Windows 系统当前主要使用的方式。

如果你只修改了 445 端口,Windows 系统默认会尝试通过修改后的端口进行通信。因为 Windows 更倾向于使用 445 端口,而不是 139,所以即使只修改 445 端口,Windows 应该能够正常工作。

8.1 方式一

映射服务器的19139端口到本地455端口。

由于windows访问远程文件夹时使用默认455端口,无法指定自定义端口,因此还需要在win端通过“映射该服务器的1939端口到本地455端口”的方式实现访问

# 添加
netsh interface portproxy add v4tov4 listenport=445 listenaddress=127.0.0.1 connectport=1399 connectaddress=SERVER_IP   #SERVER_IP写自己服务器IP

# 删除端口转发命令:
netsh interface portproxy delete v4tov4 listenaddress=<Listen Address> listenport=<Listen Port>

参数解释:   
   --  <Listen Address>要删除的规则的监听地址
   --  <Listen Port>要删除的规则的监听端口。

添加后可检查映射列表是否已存在

netsh interface portproxy show all

8.2 方式二

8.2.1. 修改 Samba 配置

你需要在 Samba 的配置文件 /etc/samba/smb.conf 中修改 445 端口为 11445

smb ports = 139 11445

这里你保留 139 端口并将 445 改为 11445

8.2.2. 配置防火墙

你需要确保防火墙允许新的 11445 端口通过,而不需要保留 445 端口:

8.2.3. **访问说明:
8.2.3.1 - Linux 客户端访问

在 Linux 系统上,访问 SMB 共享时需要指定新的端口号:

sudo mount -t cifs //服务器IP地址/apk /mnt -o username=sambauser,password=密码,port=11445
8.2.3.2- Windows 客户端访问
  • Windows 文件资源管理器无法直接指定端口,因此可以通过 命令提示符 映射共享:
    打开 **命令提示符 (cmd)**,然后运行:
net use Z: \\服务器IP地址\apk /user:sambauser 密码 /persistent:yes /port:11445

这将通过 11445 端口映射到 Windows 的 Z: 驱动器。

通过这些步骤,你可以成功修改端口并确保防火墙的配置与之匹配。

8.3 windows开启SMB文件共享

进入控制面板 > 程序 > 启用或关闭windows功能,勾选SMB文件共享支持

标签: ubuntu linux 运维

本文转载自: https://blog.csdn.net/qq_37818471/article/details/143197496
版权归原作者 O波V步 所有, 如有侵权,请联系我们删除。

“Ubuntu上设置共享文件夹”的评论:

还没有评论