samba安装及配置 使用samba在linux与linux、linux与windows之间共享文件

samba是在Linux和Unix系统上实现SMB协议的一个免费软件,SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。

samba的安装及配置

1.使用以下命令安装samba
  1. sudo apt-get install samba
  2. sudo apt-get install samba-common-bin
  3. sudo apt-get install samba-client

2.备份并配置smb.conf允许网络用户访问
  1. sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
  2. sudo vi /etc/samba/smb.conf
搜索/security
  1. # security = user
改为
  1. security = user
  2. username map = /etc/samba/smbusers
将[global]中的workgroup=workgroup改成
  1. workgroup = WORKGROUP
  2. display charset = UTF-8
  3. unix charset = UTF-8
  4. dos charset = cp936         //为了防止出现中文目录乱码
在文件的最后增加下列代码
  1. [Share] //共享名,即你在windows下访问ubuntu共享文件时的文件名
  2. comment = Shared Folder with username and password
  3. path = /home/share  //要共享的文件夹路径(path = / 代表共享linux的根目录)
  4. public = yes
  5. writable = yes
  6. valid users = jy1   //samba的用户,注意该用户必须也是ubuntu的用户,若不是,则后面步骤要新建该用户
  7. create mask = 0700
  8. directory mask = 0700
  9. force user = nobody
  10. force group = nogroup
  11. available = yes
  12. browseable = yes
保存后退出
3.增加用户以及赋予登录密码
  1. sudo useradd jy1
注意:上面只是增加了jy1这个用户,却没有给用户赋予本机登录密码。所以这个用户只能从远程访问,不能从本机登录。而且samba的登录密码可以和本机登录密码不一样。
使用以下代码给jy1赋予登录密码
  1. sudo smbpasswd -a jy1  ,然后输入密码
新建文件smbusers
  1. sudo vi /etc/samba/smbusers
加入以下代码并保存
  1. testshare= "network username"
4.重启samba
  1. sudo service smbd restart

测试samba

1.windows访问linux共享的文件
在linux下输入ifconfig即可找到当前ip,在windows下运行(或者资源管理器地址栏)输入 \\+ip ,弹出对话框,输入用户名和密码即可看到共享的目录。
2.linux访问windows共享的文件
假设windows的共享目录为share,将其挂载到/mnt/winshare目录下,windows下使用ipconfig查看当前ip
  1. mkdir  /mnt/winshare
  2. mount   t   cifs   o   username=XXX,password=’pwd   //输入ip地址/test   /mnt/winshare
成功后进入/mnt/winshare下即可看到windows下共享的目录。
3.linux访问linux共享的文件
在另一台linux计算机中(无需安装samba)直接挂载即可
  1. mkdir /mnt/share
  2. mount -t cifs -o username=xxx,password='pwd'    //输入ip地址/share    /mnt/share

常见问题

1.增加samba用户时提示Failed to add entry for user test
解决方法:这是因为没有增加相应的系统账号,使用

  1. useradd 用户名
即可添加系统账号
2.共享目录无法访问
解决方法:
1)关闭防火墙
  1. service iptables stop
2)修改/etc/samba/smb.conf配置。
如将 security=user改为share

3)修改目录权限

sudo chmod 777 /home/用户名/share
4)重启samba服务
  1. sudo service smbd restart
附:
samba常见命令
  1. sudo vi /etc/samba/smb.conf //配置samba
smbpasswd
  1. smbpasswd -a sambauser 添加samba账号
  2. smbpasswd -d sambauser 禁用
  3. smbpasswd -e sambauser 启用账号
  4. sampasswd -x sambauser 删除账号
服务器状态控制
  1. service smbd start 开启samba服务
  2. service smbd status samba状态
  3. service smbd stop 关闭samba服务

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *