一,Samba的安装与使用
第一步,服务器端安装Samba
1、安装 Samba 和图形配置工具
使用 Ctrl+Alt+T 打开终端,并通过如下命令进行安装
sudo apt-get install samba samba-common system-config-samba python-glade2 gksu
- 1
2、在 Unity Dash 中搜索并打开 Samba 配置工具
3、打开首选项下面的服务器设置
可以看到基本标签:
■工作组:与 Windows 中的工作组名称相同(区分大小写)。
■描述:这里的描述类似 Windows 里面的用户
安全性选项卡在家庭中共享时建议大家保持默认配置,这里不做介绍。
4、(可选)为网络共享创建用户
打开系统设置——用户账户——点击解锁——输入管理员密码后可点击 + 号创建用户
创建好账户后不要忘记为它设置一个密码哟。
5、在首选项中点击 Samba 用户,添加用户
■Unix用户名:在些可以选择当前 Ubuntu 系统上已有的用户
注意这里是指用来登录Ubuntu系统所用到的用户名,也就是你安装/配置Ubuntu时候自己起的名字啦
■Windows用户名:在 Windows 中访问共享时使用的用户名
■Samba密码:Windows 中访问共享时需要输入以上用户名和这里设置的密码
6、要添加共享文件夹只需点击 + 号就可以了,非常简单,这里就不赘述了
注意有些时候将共享的文件夹添加后可能会有权限问题,所以最好把共享文件夹的权限更改:
如共享根目录下的shared文件夹:
sudo chmod 777 /shared
- 1
7、以后配置完成后再重启 Samba 服务就搞定了
sudo restart smbd && sudo restart nmbd
安装Samba也有简单的方法:
在任意文件夹上点击右键,出现右键菜单,之后点击[本地网络共享],如图:
安装完成之后,点击修改共享,OK 这样就安装完成了,
可以在局域网内的其它机器上访问你的共享文件夹了,如果不能访问 请检查防火墙配置。或者smbd服务是否启动?
重启smbd 服务 命令:
sudo service smbd restart
- 1
查看smbd 状态:
tone@ubuntu:/etc/init$ ps -e | grep smbd
5190 ? 00:00:00 smbd
5239 ? 00:00:00 smbd
- 1
- 2
- 3
如果无特殊要求,只是需要共享文件夹,无需修改默认配置。如果需要修改,配置文件在:
tone@ubuntu:~$ cd /etc/samba/
tone@ubuntu:/etc/samba$ ls
gdbcommands smb.conf tls
tone@ubuntu:/etc/samba$
- 1
- 2
- 3
- 4
smb.conf 文件就是配置文件。
如果安装玩之后,导致终端出现一些莫名错误。请执行
sudo pam-auth-update
- 1
将SMB password synchronization 前面的够先去掉 之后tab键 选定确定 回车即可。
第二步,客户端通过Samba访问共享文件
Linux客户端访问Samba共享
linux客户端访问服务器主要有两种方法 :
1)使用smbclient命令
在Linux中,samba客户端使用smbclint这个程序来访问samba服务器时,先要确保客户端已经安装了samba-client这个rpm包。
smbclient可以列出目标主机共享目录列表
smbclient命令格式:smbclient -L 目标IP地址或主机名 -U 登录用户名%密码
当我们查看rhel5(192.168.0.188)主机的共享目录列表时,提示输入密码,这时候可以不输入密码哈,我们直接按回车,这样表示匿名登录,然后就会显示匿名用户可以看到的共享目录列表了哈~
smbclient -L rhel5或者smbclient -L 192.168.0.188
如果想使用samba帐号相看samba服务器端共享了什么目录,我们可以加上-U参数哈~,后面跟上用户名%密码。
smbclient -L 192.168.0.188 -U boss%boss
这样就显示了只有boss帐号才显示的tech技术部共享目录
不同用户使用smblient浏览的结果可能是不一样滴,这要根据服务器设置的访问控制权限而定哈~
我们还可以在使用smbclient命令行共享访问模式浏览共享的资料哈 smbclient命令行共享访问模式命令格式:
smbclient //目标IP地址或主机名/共享目录 -U 用户名%密码
上面已经显示了服务器上有一个tech共享目录,我们来查看一下里面的内容哈~
另外smbclient登录samba服务器后,我们可以使用help查询所支持的命令
2)使用mount命令挂载共享目录
mount命令挂载共享目录格式:
mount -t cifs //目标IP地址或主机名/共享目录名称 挂载点 -o username=用户名%密码
- 1
注意:用户名和密码是指服务器端设置samba的时候设置的内容
[root@client ~]# mount -t cifs //192.168.0.188/tech
/mnt/sambadata/ -o username=boss%boss
- 1
- 2
这表示挂载192.168.0.188主机上的共享目录tech到/mnt/sambadata目录下,cifs就是samba所使用的文件系统
这样可以直接把服务器端的共享文件夹当做外设一样的挂载到客户端,十分的方便,推荐用这种方式共享内容。
windows客户端访问Samba共享
在windows下 访问
点击“开始->运行”或者快捷键win+R
输入 \\169.254.191.58 ( ubuntu上的IP地址),第一次访问有点慢,等会弹出对话框,输入用户名密码(有时候不用),勾选复选框,按确定就可以看到共享的目录了
从linux上查看windows 下的共享目录
假设windows的共享目录为test,将其挂载到/mnt/winshare
mkdir /mnt/winshare
mount -t smbfs -o username=XXX,password=’pwd’ //169.254.191.56/test /mnt/winshare
或者打开“我的电脑”,点击菜单栏“工具–映射网络驱动器”,输入IP地址以及共享文件名称:
这样可以直接将Samba的共享文件夹映射到本地,使用起来更加方便。
----------------------------------------------------------------------------------------------------------------------------------------
如果无法访问,可以考虑如下两个方面:
1) 关闭防火墙
sudo apt-get install ufw
sudo ufw disable
sudo ufw status
2)关闭Selinux
修改/etc/selinux/config文件中的SELINUX="" 为 disabled ,然后重启。
如果不想重启系统,使用命令setenforce 0