1.更新软件包
long@long-virtual-machine:~$ sudo apt-get update
如果不经过这一步的话,安装软件的时候就会出现这种情况:
E: Failed to fetch http://ports.ubuntu.com/pool/main/e/expat/libexpat1 -dev_2.1.0-7ubuntu0.16.04.2_armhf.deb 404 Not Found [IP: 91.189.88.1 50 80]
E: Unable to fetch some archives, maybe run apt-get update or try with
2.安装samba
long@long-virtual-machine:~$ sudo apt-get install samba
3.建立共享目录
建立一个文件夹作为共享目录,建议大家在home目录下的用里建这个共享目录,因为有时候可以省去很多麻烦事,比如建在根目录下的话会涉及到权限的问题,到时候会需要改各种权限。在这里我是在我的pi用户下建的:
long@long-virtual-machine:~$ sudo mkdir /home/ywl
ywl目录是我所建的共享目录,大家可以改为自己喜欢的名字
然后就要给他权限,因为这样会让他可读可写,在Windows端才能将需要共享的东西放到该目录中的:
long@long-virtual-machine:~$ sudo chmod 777 /home/ywl
4.修改samba属性
先备份samba的配置文件:
sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo gedit /etc/samba/smb.conf
[ywl]
comment = ywl comment是对该共享的描述,可以是任何路径
browseable = yes 该共享可以浏览
path = /home/ywl 共享目录路径
valid users = long 允许访问该共享的用户
write list = long 运行写入该共享的用户
read list = long 运行读取该共享的用户
guest ok = no 不允许guest账户访问
writable = yes 该路径可写
create mask = 0777 创建权限
directory mask = 0777 目录权限
或者改成如下配置:
[linux]
path = /home/long/linux
public = yes
writable = yes
valid users = long
create mask = 0777
force create mode = 0777
directory mask = 0777
force directory mode = 0777
available = yes
- [linux]表示共享文件夹的别名,之后将直接使用这个别名
-
force create mode
与force directory mode
的设置是因为Windows下与Linux下文件和文件夹的默认权限不同造成的,Windows下新建的文件是可执行的,必须强制设定其文件权限 - valid users 设置为你当前的Linux用户名,例如我的是long,因为第一次打开共享文件夹时,需要验证权限。
保存并退出
5.创建samba用户以及密码
long@long-virtual-machine:~$ sudo useradd long
为新建的用户设置密码
long@long-virtual-machine:~$ sudo smbpasswd -a long
New SMB password:
Retype new SMB password:
Added user long.
关闭防火墙
long@long-virtual-machine:~$ sudo ufw disable
6.重启samba服务器
long@long-virtual-machine:~$ sudo service smbd restart
或者用如下命令,可以看到进度
long@long-virtual-machine:~$ sudo /etc/init.d/samba restart
[ ok ] Restarting nmbd (via systemctl): nmbd.service.
[ ok ] Restarting smbd (via systemctl): smbd.service.
[ ok ] Restarting samba-ad-dc (via systemctl): samba-ad-dc.service.
都不能用,则用下面命令
/etc/init.d/ssh start
返回如下结果表明成功
Starting ssh (via systemctl): ssh.service.
7.windows系统上看是否能连接上samba服务器
在文件管理器地址框输入: \\192.168.1.33,这个IP地址为linux端的IP
双击共享的文件夹,会弹出提示框输入账号以及密码,然后登陆
登陆成功后就可以随便拷贝文件到共享的目录了
至此,samba服务器配置完成。