在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
- <br />
- 或者:
- # 仅文件夹共享账号,不允许登录系统
- sudo useradd -d /home/ftp -s /sbin/nologin Tygmsamba<br /><br />
- # 查看有哪些账号
- 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<br /><br />其他配置:<br />public = yes # 表示是否允许匿名访问该共享目录<br />browsable = yes # 表示是否可以在 Window Explorer中显示该目录<br />create mask = 777 # 指明新建立的文件的属性<br />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`:
找到用户`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服务的端口号:
6.3. 防火墙开放端口
更新防火墙规则以开放新的端口号。如果你使用的是`ufw`,可以使用以下命令:
请注意,更改默认端口可能会带来一些问题:
- 必要确保所有必要毗连到Samba服务的客户端都配置为使用新的端口号。
- 其他网络装备或安全策略可能也必要更新以允许这些新的端口号。
6.4 检察samba服务使用的端口
使用非尺度端口可以提高安全性,因为它们不如尺度端口那样常见,这可能使得恶意扫描器不太可能发现你的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端口”的方式实现访问
- # 添加<br />netsh interface portproxy add v4tov4 listenport=445 listenaddress=127.0.0.1 connectport=1399 connectaddress=SERVER_IP #SERVER_IP写自己服务器IP
- <br /># 删除端口转发命令:
- netsh interface portproxy delete v4tov4 listenaddress=<Listen Address> listenport=<Listen Port>
- <br /><br />参数解释: <br /> -- <Listen Address>要删除的规则的监听地址<br /> -- <Listen Port>要删除的规则的监听端口。
复制代码 添加后可查抄映射列表是否已存在
- netsh interface portproxy show all
复制代码
8.2 方式二
8.2.1. **修改 Samba 配置**
你必要在 Samba 的配置文件 `/etc/samba/smb.conf` 中修改 `445` 端口为 `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文件共享支持
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |