共计 4168 个字符,预计需要花费 11 分钟才能阅读完成。
System-config-samba 是用于管理 samba 共享和用户的图形界面。在 Linux 公社之前的教程中,我解释了如何在命令行上设置 Ubuntu 16.04 上的 Samba 服务器,但 Samba 配置文件可能会让初学者感到困惑。所以本教程将向您展示如何使用图形工具(system-config-samba)来设置 Samba 服务器。(Ubuntu 16.04,Ubuntu 17.10 都可以按照本教程来设置)
在 Ubuntu 17.10 上安装 Samba 服务器
在使用 system-config-samba 之前,让我们通过在终端中运行以下命令从 Ubuntu 存储库安装 Samba 服务器套件。
linuxidc@linuxidc:~$ sudo apt install samba samba-common-bin
如下图:
最新的稳定版本是 4.7.4,于 2017 年 12 月 22 日发布。要检查您的 Samba 版本,请运行
linuxidc@linuxidc:~$ smbd –version
输出示例:
Samba version 4.6.7-Ubuntu
要检查 Samba 服务是否正在运行,请运行以下命令。
linuxidc@linuxidc:~$ systemctl status smbd
输出示例:
● smbd.service – Samba SMB Daemon
Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: ena
Active: active (running) since Mon 2018-01-22 13:24:45 CST; 1min 5s ago
Docs: man:smbd(8)
man:samba(7)
man:smb.conf(5)
Main PID: 5610 (smbd)
Status: “smbd: ready to serve connections…”
Tasks: 4 (limit: 4915)
CGroup: /system.slice/smbd.service
├─5610 /usr/sbin/smbd
├─5611 /usr/sbin/smbd
lines 1-12…skipping…
● smbd.service – Samba SMB Daemon
Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: ena
Active: active (running) since Mon 2018-01-22 13:24:45 CST; 1min 5s ago
Docs: man:smbd(8)
man:samba(7)
man:smb.conf(5)
Main PID: 5610 (smbd)
Status: “smbd: ready to serve connections…”
Tasks: 4 (limit: 4915)
CGroup: /system.slice/smbd.service
├─5610 /usr/sbin/smbd
├─5611 /usr/sbin/smbd
├─5612 /usr/sbin/smbd
lines 1-13…skipping…
…… 省略 ……
● smbd.service – Samba SMB Daemon
Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: ena
Active: active (running) since Mon 2018-01-22 13:24:45 CST; 1min 5s ago
Docs: man:smbd(8)
man:samba(7)
man:smb.conf(5)
Main PID: 5610 (smbd)
Status: “smbd: ready to serve connections…”
Tasks: 4 (limit: 4915)
CGroup: /system.slice/smbd.service
├─5610 /usr/sbin/smbd
├─5611 /usr/sbin/smbd
├─5612 /usr/sbin/smbd
└─5616 /usr/sbin/smbd
1 月 22 13:24:44 linuxidc systemd[1]: Starting Samba SMB Daemon…
1 月 22 13:24:44 linuxidc systemd[1]: smbd.service: Supervising process 5610 whic
1 月 22 13:24:45 linuxidc systemd[1]: Started Samba SMB Daemon.
再运行:
linuxidc@linuxidc:~$ sudo systemctl start nmbd
一旦启动,smbd 将在 TCP 端口 139 和 445 上侦听。nmbd 将在 UDP 端口 137 和 138 上侦听。
- TCP 139:用于文件和打印机共享等操作。
- TCP 445:无 NetBIOS 的 CIFS 端口。
- UDP 137:用于 NetBIOS 网络浏览。
- UDP 138:用于 NetBIOS 名称服务。
安装 system-config-samba
运行以下命令来安装它。
sudo apt install system-config-samba
然后我们可以从命令行启动它。
sudo system-config-samba
如果你得到以下错误:
could not open configuration file `/etc/libuser.conf’: 没有那个文件或目录
您可以通过使用以下命令创建一个空的 /etc/libuser.conf 文件来修复它。
sudo touch /etc/libuser.conf
如果还有以下这些错误:
比如:
(system-config-samba:6424): Gtk-WARNING **: 无法在模块路径中找到主题引擎:“pixmap”,
解决方法:
sudo apt-get install gtk2-engines
sudo apt-get install gtk2-engines-*
还有这个错误
(system-config-samba:7536): Gtk-WARNING **: 无法在模块路径中找到主题引擎:“adwaita”,
解决方法:
sudo apt-get install gnome-themes-standard
还有:
(system-config-samba:7658): IBUS-WARNING **: The owner of /home/linuxidc/.config/ibus/bus is not root!
解决方法见 http://www.linuxidc.com/Linux/2018-01/150494.htm
然后重新运行启动命令。这是默认的界面。
创建一个 Samba 共享
首先,我们来创建一个 Samba 用户。现在我们可以打开一个新的终端窗口(因为当前终端窗口正在被 system-config-samba 使用),并使用以下命令创建一个 Linux 用户。用您的首选用户名替换 linuxmi。
sudo adduser linuxmi
输入您的 sudo 密码。然后为新用户设置一个密码。您可以按 Enter 键回答剩下的问题。
接下来,我们还需要为用户设置一个单独的 Samba 密码。
sudo smbpasswd -a linuxmi
现在在 Samba 图形界面中,单击首选项 > 服务器设置菜单。确保工作组的值与 Windows 计算机的工作组设置相同(如下图)。
然后点击加号按钮创建一个 Samba 共享。在基本选项卡中,指定
- 您要共享的目录 / 文件夹(以 /home/linuxidc/Desktop 为例)
- 共享名称(示例为 Linuxidc)
- 分享的描述(示例为 Linuxidc)
- 远程用户是否可以写入 Samba 共享
- 网络中的其他计算机是否可以看到 Samba 共享(通常是)
Ubuntu 17.10 Samba 私人共享
在“访问”选项卡中,选择您刚刚创建的 Samba 用户,然后单击“确定”。如果没有显示 Samba 用户,请重新启动 system-config-samba。如果选择“允许访问所有人”,则同一网络中的其他人可以访问共享文件夹,而无需输入用户名和密码。
samba private share with security = user
如果要允许用户对共享文件夹拥有写入权限,请运行以下命令以授予读取,写入和执行权限。
sudo setfacl -R -m u:username:rwx /path/to/the/share/
就我而言, 我需要运行
sudo setfacl -R -m u:linuxmi:rwx /home/linuxidc/Desktop/
如果您选择允许访问所有人,则您需要将读取,写入和执行权限授予 nobody 用户,以便让其他人更改文件 / 文件夹。
sudo setfacl -R -m u:nobody:rwx /path/to/the/share/
现在剩下要做的就是重启 Samba 服务器。( 记得重启 Samba)
sudo systemctl restart smbd nmbd
从 Windows 访问 Samba 共享文件夹 (Windows XP,Windows 7,Windows 10 都可以)
在同一网络中的 Windows 计算机上,打开文件资源管理器,然后单击左窗格中的网络。然后双击你的 Ubuntu 电脑的主机名。例如,我的 Ubuntu 17.10 电脑的主机名是 LINUXIDC。
然后双击共享文件夹并输入 Samba 用户名和密码。
进入共享文件夹看看:
写入文件测试:
OK!希望本教程能帮助你在 Ubuntu 17.10 上使用 system-config-samba。与往常一样,如果你发现这篇文章有用,请向更多的 Linux 爱好者宣传 Linux 公社,网址 www.linuxidc.com。
更多 Ubuntu 相关信息见 Ubuntu 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=2
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2018-01/150493.htm