Ubuntu上设置共享文件夹

打印 上一主题 下一主题

主题 834|帖子 834|积分 2502

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

  1.安装Samba服务器

  在终端中运行以下命令安装Samba服务器:
   
  1. sudo apt update
  2. sudo apt install samba
复制代码
   2.创建共享文件夹

  在终端中运行以下命令创建共享文件夹,并设置相应的权限:
   
  1. sudo mkdir -p /home/sambashare
  2. sudo chown -R sambashare:sambashare /home/sambashare
  3. sudo chmod -R 777 /home/sambashare
复制代码
   3.创建Samba用户

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

  起首,创建一个新的本地用户账号,这个账号将用于Samba共享的访问:
   
  1. sudo adduser sambashare
  2. <br />
  3. 或者:
  4. # 仅文件夹共享账号,不允许登录系统
  5. sudo useradd -d /home/ftp -s /sbin/nologin Tygmsamba<br /><br />
  6. # 查看有哪些账号
  7. cat /etc/passwd
复制代码
   在提示时,填写必要的信息。此用户不必要具有特殊权限,因为它仅用于文件共享。
  3.2. 设置Samba暗码

  Windows 上输入的是 Samba 用户名和暗码,而不是 Ubuntu 体系用户的暗码。Samba 用户暗码是通过以下命令单独设置的:sudo smbpasswd -a sambauser你在 Windows 上输入的用户名和暗码应该与上面设置的一致。
  接下来,为Samba服务为这个新用户设置暗码:
   
  1. sudo smbpasswd -a sambashare
复制代码
   在提示时,输入并确认暗码。
  4. 配置Samba共享

  编辑Samba配置文件来设置共享参数
   
  1. sudo nano /etc/samba/smb.conf
复制代码
   编辑Samba配置文件并添加以下内容:
   
  1. [samba]
  2. #描述信息
  3. comment = samba
  4. #共享文件夹路径
  5. path = /home/sambashare
  6. #允许访问该共享的用户,多个用户或者组中间用逗号隔开
  7. valid users = sambashare
  8. #read only = no
  9. #该共享是否可以浏览,如果no则表示隐藏,需要通过"//ip/共享目录"进行访问
  10. browsable = yes
  11. #是否有写权限
  12. writable = yes
  13. #该共享资源是否可用
  14. available = yes<br /><br />其他配置:<br />public = yes # 表示是否允许匿名访问该共享目录<br />browsable = yes # 表示是否可以在 Window Explorer中显示该目录<br />create mask = 777 # 指明新建立的文件的属性<br />directory mask = 777 # 指明新建立的目录的属性
复制代码
   

  

  确保将`path`指向精确的共享文件夹路径。如果您没有为用户`sambashare`创建`samba`文件夹,您必要先创建它:
   
  1. sudo mkdir -p /home/sambashare/samba
  2. sudo chown -R sambashare:sambashare /home/sambashare/samba
复制代码
   5. 限制用户登录权限

  为了防止用户`sambashare`登录体系,可以编辑`/etc/passwd`文件来更改用户的登录shell为`/bin/false`或`/usr/sbin/nologin`:
   
  1. sudo nano /etc/passwd
复制代码
   找到用户`sambashare`的条目,将其最后一部门(默认是`/bin/bash`)更改为`/bin/false`或`/usr/sbin/nologin`。看起来会像这样:
   
  1. sambashare:x:1001:1001:sambashare,,,:/home/sambashare:/bin/false
  2. 或者:
  3. sambashare:x:1001:1001:sambashare,,,:/home/sambashare:/usr/sbin/nologin
复制代码
   生存并关闭文件。
  6.开放、修改端口

  使用Samba服务时通常必要开放139
  以下是修改端口号的步骤:
  6.1. 打开Samba配置文件进行编辑

   
  1. sudo nano /etc/samba/smb.conf
复制代码
   6.2. 修改端口

  在配置文件中找到`Globals`部门或相应章节,添加或修改以下两行来更改SMB服务的端口号:
   
  1. smb ports = 39139<br />
复制代码
   

  6.3. 防火墙开放端口

  更新防火墙规则以开放新的端口号。如果你使用的是`ufw`,可以使用以下命令:
   
  1. sudo ufw allow 19139/tcp
复制代码
   请注意,更改默认端口可能会带来一些问题:
- 必要确保所有必要毗连到Samba服务的客户端都配置为使用新的端口号。
- 其他网络装备或安全策略可能也必要更新以允许这些新的端口号。
  6.4 检察samba服务使用的端口

   
  1. netstat -tlnp |grep smb
复制代码
   使用非尺度端口可以提高安全性,因为它们不如尺度端口那样常见,这可能使得恶意扫描器不太可能发现你的Samba服务。然而,最佳的安全性实践还包括使用其他安全步伐,如配置强暗码、限制用户权限、使用加密以及定期更新软件。
  7. 重启Samba服务

  应用更改后,重启Samba服务:
   
  1. sudo systemctl restart smbd
  2. 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端口”的方式实现访问
   
  1. # 添加<br />netsh interface portproxy add v4tov4 listenport=445 listenaddress=127.0.0.1 connectport=1399 connectaddress=SERVER_IP   #SERVER_IP写自己服务器IP
  2. <br /># 删除端口转发命令:
  3. netsh interface portproxy delete v4tov4 listenaddress=<Listen Address> listenport=<Listen Port>
  4. <br /><br />参数解释:   <br />   --  <Listen Address>要删除的规则的监听地址<br />   --  <Listen Port>要删除的规则的监听端口。
复制代码
   添加后可查抄映射列表是否已存在
   
  1. netsh interface portproxy show all
复制代码
   

  8.2 方式二

  8.2.1. **修改 Samba 配置**

  你必要在 Samba 的配置文件 `/etc/samba/smb.conf` 中修改 `445` 端口为 `11445`:
   
  1. smb ports = 139 11445
复制代码
   这里你保留 `139` 端口并将 `445` 改为 `11445`。
  8.2.2. **配置防火墙**

  你必要确保防火墙允许新的 `11445` 端口通过,而不必要保留 `445` 端口:
  8.2.3. **访问阐明:

  8.2.3.1 - **Linux 客户端访问**

  在 Linux 体系上,访问 SMB 共享时必要指定新的端口号:
   
  1. sudo mount -t cifs //服务器IP地址/apk /mnt -o username=sambauser,password=密码,port=11445
复制代码
   8.2.3.2- **Windows 客户端访问**

   - Windows 文件资源管理器无法直接指定端口,因此可以通过 **命令提示符** 映射共享:
打开 **命令提示符 (cmd)**,然后运行:
   
  1. net use Z: \\服务器IP地址\apk /user:sambauser 密码 /persistent:yes /port:11445
复制代码
   这将通过 `11445` 端口映射到 Windows 的 `Z:` 驱动器。
  通过这些步骤,你可以成功修改端口并确保防火墙的配置与之匹配。
  8.3  windows开启SMB文件共享

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


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

tsx81429

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表