Manjaro使用Samba实现局域网内跨系统文件共享

2020-03-07  本文已影响0人  乌云老思

文件共享Samba

安装samba

yay -S samba manjaro-settings-samba

注:只安装samba时,/etc/samba目录里并不自带默认配置文件samba.conf,无法启动服务。网上有人提示说manjaro还需要安装相关的辅助软件[1],最后查到manjaro官网有一篇解释:在你的文件管理器中使用Samba,简单意思就是不同的桌面环境需要安装不同的辅助包,并且给出了对应表。我并没有按照文章里说的做,我只补充安装了manjaro-settings-samba,但也正常出现了默认samba.conf文件,并且可以启动服务:

systemctl start smb

没有提示就说明服务启动正常。

修改配置文件

配置文件/etc/samba/smb.conf,先把默认的配置文件复制到别处备份一下,再修改配置文件。修改配置文件会用到root权限,谨慎操作。配置文件中有几个部分,其中[homes]是可以给我们修改的,不过你也可以令外建一个部分,把[homes]中的内容复制过去,“homes”这个单词改掉,然后再做修改(防止把原文改乱了)。以下是我做的修改:

[homes]
   comment = Home Directories
   browseable = yes #改
   read only = no #改
   writable = yes #新
   path = /home/share #新
   create mask = 0700
   directory mask = 0700
   valid users = %S

path就是共享目录的路径了,需要自己创建这个目录,记得写一个好找并且自己对权限有把握的路径。
此配置文件中每个参数的详细功能详见其他资料[2]

创建samba账户

添加一个samba用户,并设置密码:

sudo smbpasswd -a 用户名

此命令只能使用权限运行,否则无效。-a意思是添加用户。
这个用户名是给其他计算机访问这台Linux时提供一个认证,和linux用户没有关系,也可以重名。密码为空也可以,推荐设置一个,与linux用户密码相同也可以。
查看所有Samba用户[3],查看对应IP上的samba服务器[4],也都需要权限,分别如下:

sudo pdbedit -L
sudo smbclient -L IP地址   #举例,查看本机: smbclient -L 127.0.0.1

开放共享目录给所有用户:

chmod 777 /home/share/ -R 

chmod 777意思是开放所有权限给所有人,不给权限会拒绝访问。-R代表递归修改文件和目录。
开放所有权限并不是好做法,应该有更好的方法,但是懒得折腾了。

连接

Samba由两个主要程序组成,它们是smbd和nmb[5]。只需要用文件共享的话只需要开启smb就好了。

现在重启一下服务:

systemctl restart smb

在Windows资源管理器的地址栏输入类似//192.168.0.7这样的Linux的IP地址就可以看到共享的文件夹了,但是还不能传文件。
在资源管理器左边目录列表最下面,右键点“网络”->“映射网络驱动器...”->选盘符(随意)->浏览->点我们设的共享目录->会提示一个网络错误,点取消->确定->勾选使用其他凭据连接->完成->输入之前设置的samba用户名和密码。

按照顺序进行操作
一切完成之后就可以读写这个共享目录了。
真的是非常方便。
  1. 博客园-Manjaro搭建无密访问samba服务器

  2. 博客园-Samba服务器的配置全过程

  3. 简书-CentOS7下Samba服务安装与配置

  4. archWiki-Samba

  5. CentOS7下Samba服务安装与配置

上一篇下一篇

猜你喜欢

热点阅读