不同系统之间使用samba工具访问windows/ubuntu/macos文件

38 篇文章 1 订阅
19 篇文章 2 订阅

使用samba将linux的文件挂载到windows上

转载如下链接

如果能把服务器上的磁盘直接挂载到我们使用的Windows个人PC上是不是很爽?

如开头的视频里面演示的,可以通过建立局域网SAMBA服务来实现这个效果:

1.安装sambasamba-common-bin

sudo apt-get install samba samba-common-bin

1.配置/etc/samba/smb.conf文件

sudo nano /etc/samba/smb.conf

在最后一行后面加入:

# 共享文件夹显示的名称
[home]
# 说明信息
comment = Fusion WorkStation Storage
# 可以访问的用户
valid users = pengzhihui,root
# 共享文件的路径
path = /home/pengzhihui/
# 可被其他人看到资源名称(非内容)
browseable = yes
# 可写
writable = yes
# 新建文件的权限为 664
create mask = 0664
# 新建目录的权限为 775
directory mask = 0775

可以把配置文件中你不需要的分享名称删除,例如 [homes], [printers] 等。

运行这个命令测试一下配置文件是否有错误,根据提示做相应修改:testparm

\3. 添加登陆账户并创建密码

必须是 linux 已存在的用户:

sudo smbpasswd -a pi

然后重启服务即可:

sudo /etc/init.d/samba-ad-dc restart

接下来可以在Windows的网络中发现设备了:

图片

但是可能会出现无法点开的情况,这里需要在Windows的凭据管理器中添加账户信息(开始菜单里搜索凭据管理器即可打开),点击添加Windows凭据,输入你的服务器名称和账户密码:

图片

接下来就可以点进去看到服务器上的文件了。为了更加方便地进行文件交互,我们添加对应的磁盘到Windows资源管理器的此电脑中:

图片

选择刚刚服务器的网络路径即可添加:

图片

方案二,据反馈会有一定情况出现问题

有时我们需要使用windows或者mac来访问ubuntu系统的服务器的文件。xftp和winscp是两款不错的软件,但是它们无法现在看文件的结果,需要传输到本地。

下面我将介绍使用两种情况下的访问配置
  • 在Windows上访问linux的共享文件夹

    第一步:在Linux上安装Samba:

sudo apt-get install samba
第二步:配置一个通过samba访问Linux文件夹时,需要用到的用户名和密码:
smbpasswd -a username        
在实际时,把这个username替换成自己的用户名。enter后,会有密码输入

第三步:创建一个文件夹。或者直接使用现有的文件夹。

第四步:在配置文件中,添加这个我们想共享的文件夹的路径和一些配置信息:
sudo vi /etc/samba/smb.conf
第五步:在这个文件的最后,需要添加一点东西:
[share_name]                          #符号[ ]里面的是共享文件夹对外的名字,称为共享名字,注意[ ]不能掉
path = /home/usrname/data      #这个path就是你想共享的那个文件夹的路径
available = yes
valid users = usrname                   #这个usrname,就是我们刚才在第二步创建的那个用户名,记得替换
read only = no
browsable = yes
public = yes
writable = yes
其它设置,可根据自己需求来选择。
[share]                           # 该共享的共享名
    comment = smb share test  # 该共享的备注
    path = /home/share        # 共享路径
    allow hosts = host(subnet) # 设置该Samba服务器允许的工作组或者域
    deny hosts = host(subnet) # 设置该Samba服务器拒绝的工作组或者域
    available = yes|no        # 设置该共享目录是否可用
    browseable = yes|no       # 设置该共享目录是否可显示
    writable = yes|no         # 指定了这个目录缺省是否可写,也可以用readonly = no来设置可写
    public = yes|no           # 指明该共享资源是否能给游客帐号访问,guest ok = yes其实和public = yes是一样的
    user = user, @group       # user设置所有可能使用该共享资源的用户,也可以用@group代表group这个组的所有成员,不同的项目之间用空格或者逗号隔开
    valid users = user, @group # 指定能够使用该共享资源的用户和组
    invalid users = user, @group # 指定不能够使用该共享资源的用户和组
    read list = user, @group  # 指定只能读取该共享资源的用户和组
    write list = user, @group # 指定能读取和写该共享资源的用户和组
    admin list = user, @group # 指定能管理该共享资源(包括读写和权限赋予等)的用户和组
    hide dot files = yes|no   # 指明是否像UNIX那样隐藏以“.”号开头的文件
    create mode = 0755        # 指明新建立的文件的属性,一般是0755
    directory mode = 0755     # 指明新建立的目录的属性,一般是0755
    sync always = yes|no      # 指明对该共享资源进行写操作后是否进行同步操作
    short preserve case = yes|no # 指明是否区分文件名大小写
    preserve case = yes|no    # 指明是否保持大小写
    case sensitive = yes|no   # 指明是否对大小写敏感,一般选no,不然可能引起错误
    mangle case = yes|no      # 指明混合大小写
    default case = upper|lower # 指明缺省的文件名是全部大写还是小写
    force user = testuser     # 强制把建立文件的属主是谁。如果我有一个目录,让guest可以写,那么guest就可以删除,如果我用force user= testuser强制建立文件的属主是testuser,同时限制create mask = 0755,这样guest就不能删除了
    wide links = yes|no       # 指明是否允许共享外符号连接,比如共享资源里面有个连接指向非共享资源里面的文件或者目录,如果设置wide links = no将使该连接不可用
    max connections = 100     # 设定最大同时连接数
    delete readonly = yes|no  # 指明能否删除共享资源里面已经被定义为只读的文件
第六步:重启SMB服务:
sudo service smbd restart
OK,上面Linux的共享文件夹已经设置完毕
  • 在windows下有两种方式连接
  1. 新建快捷键连接

在这里插入图片描述
然后填写

//ip/share_name
ip是linux系统的地址,share_name是共享文件夹对外的名字,上面设置的

在这里插入图片描述

最后,在Windows上成功创建这个快捷方式后。访问它,就需要用到第二步设置的用户名和密码,注意第五步valid users与之进行匹配。

然后就是按提示,输入这个用户名和密码。
  1. 使用文件夹访问ip
\\ip\share_name
如下展示输入方式,你可以把这个文件夹放在快速访问中

在这里插入图片描述

  • 使用macos访问linux文件

    和上边一致linux需要安装samba,安装完毕后

    第一步:打开访问,使用command+K然后输入

smb://ip/share_name
点击连接就可以了
需要输入用户名和密码,这是上面提到的valid users

后记:

后期使用花生壳访问时,需要更换端口,就不是默认端口了。
samba的默认端口是445,
所以访问时是//ip:port/share_name

ubuntu smaba

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值