需求

需要在 win 平台编辑代码,在 linux 平台进行编译和调试。这种情况只能使用 samba 才比较方便,nfs 必须双方都是 linux。

解决

安装 samba

sudo apt install samba samba-common

共享目录

对于需要共享的目录可能需要使用 chmod 修改权限

  • 如果共享的目录归属用户和 samba 用户一致,那么只要保证目录是 0755 即可
  • 如果共享的目录归属用户组和 samba 用户的用户组一致,那么只要保证目录是 0775 即可
  • 如果共享的目录归属用户和用户组和 samba 用户和用户组都不一致,那么只有修改目录权限为 0777 才可以。
chmod -R 777 /home/username/director

添加 samba 用户

添加已有用户为 samba 用户

sudo smbpasswd -a username

配置 samba

  1. 备份 samba 配置文件:
    sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
    
  2. 在配置文件最后增加:
    [workspace] #共享名,该共享标签,可随意取,该名字为在其他电脑上看到的共享名
        comment = work directories #该共享描述
        browseable = yes
        path = /home/username/work  #共享路径
        valid users = username
        writable = yes #writable用来指定该共享路径是否可写
        guest ok = no   #指定该共享是否允许guest账户访问
        read only = no
        create mask = 0775
        directory mask = 0775
    
  3. 重启 samba 服务
    sudo /etc/init.d/samba-ad-dc restart
    sudo /etc/init.d/smbd restart
    

参考

ubuntu 20.04 安装配置Samba服务,Windows 和 linux协同工作

ubuntu server 20.04 配置SMB