以前在ubuntu 14.04的时候,很方便的通过几行命令和一个GUI界面就可以配置好samba共享文件给windows了:
Ubuntu 14.04
sudo apt-get install smbclient samba-common-bin system-config-samba
system-config-samba # 打开一个GUI界面进行配置,很简单的
可是呢,到了ubuntu 16.04 之后,就变得不是那么简单的了;
使用两样的命令,GUI界面会报错的;
root@Asgard:~# system-config-samba
Traceback (most recent call last):
File "/usr/sbin/system-config-samba", line 45, in <module>
mainWindow.MainWindow(debug_flag)
File "/usr/share/system-config-samba/mainWindow.py", line 121, in __init__
self.basic_preferences_win = basicPreferencesWin.BasicPreferencesWin(self, self.xml, self.samba_data, self.samba_backend, self.main_window)
File "/usr/share/system-config-samba/basicPreferencesWin.py", line 97, in __init__
self.admin = libuser.admin()
SystemError: could not open configuration file `/etc/libuser.conf': No such file or directory
暂时不深究它怎么解决这个问题错误,出现这个错误时弹出了Bug反馈,就点了一下发送~~,仅此而已;
现在呢,一是等待官方解决问题,二是自己还可以通过修改配置文件的形式配置samba;
在此之前,得需要生成samba用户名和密码,以区别你的系统用户名、密码;
生成samba用户名密码
cat /etc/passwd | mksmbpasswd > /etc/samba/smbpasswd
smbpasswd -a scue # 输入密码,最好与登录名密码不同
修改配置文件
cat /etc/passwd | mksmbpasswd > /etc/samba/smbpasswd
smbpasswd -a scue # 输入密码,最好与登录名密码不同
配置文件在/etc/samba/smb.conf
,我在后边添加了一段信息:
# scue home directory
[scue]
workgroup = scue
security = scue
netbios name = scue
comment = scue home
path = /home/scue
browsable = yes
writeable = yes
read only = no
这个的意思是,共享目录 /home/scue
,可读可写,用户名是scue,基本信息也是最重要的信息是这些,其他的可以自己领悟;
重启samba服务使之生效
一般情况下,我们会使用
sudo service samba restart
可是呢,竟然提示
Failed to start samba.service: Unit samba.service is masked.
后来想起来,16.04的服务是使用systemd进行管理了,查了一下相关的资料,发现重启服务的命令如下
sudo systemctl restart smbd.service
OK,一切都搞定了~,看熟悉的界面又出来了。