ubuntu下用samba实现windows与linux文件共享

首先要安装samba

sudo apt-get install samba
sudo apt-get install smbfs

1.windows
访问 ubuntu
下面我们来共享群组可读写文件夹,

A:
可匿名访问,只有读取权限   /home/share
B: 
授权用户可访问,且可读写  /home/mes

首先创建这个两个文件夹

代码:

mkdir /home/share
chmod 755 /home/share

mkdir /home/mes
chmod 777 /home/mes

备份并编辑smb.conf 允许网络用户访问

代码: sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
sudo vim /etc/samba/smb.conf

更改及添加如下代码:

[global]
#security = user
security = share
username map = /etc/samba/smbusers   #
用户映射文件

workgroup = WORKGROUP
display charset = UTF-8         
unix charset = UTF-8
dos charset = cp936

然后设定共享:

  [share]                         #
共享名
  path = /home/share   #
共享路径
  browseable = no         #
相当于windows 系统中 共享名$
  guest ok = yes            #
是否允许匿名访问
  read only = yes           #
只读
  writable = no              #
是否可写

   [mes]
   path = /home/mes
   browseable = no
   guest ok = no
   create mask = 0700
   directory mask = 0700
   writable = yes
   valid users = mes,@mes      #
可访问的用户及组,可不加组
   write list = mes         #
有写入权限的用户

到此,设置文件已经结束,接下来就是创建用户

sudo useradd mes -s /bin/false -d /home/mes  #
没有shell ,不可本机登陆(安全起见)
sudo smbpasswd -a mes      #
设置smb 访问密码,这个不是系统密码(上步允许登陆系统的话,还可设定系统密码)。 -a 是添加用户,-x 是删除用户

建立用户映射文件
sudo vim /etc/samba/smbusers
gbmddl = "mes"         #
这样就可用gbmddl 用户访问smb 共享,给暴力破解系统账号密码增加难度,因gbmddl 在系统中根本就不存在

然后重启samba ,其它用户即可访问
sudo /etc/init.d/samba restart



2.Ubuntu linux
系统访问windows xp/2003/2000 系统

第一种:用smb 访问
如果在ubuntu linux 系统终端pingwindows 主机的ip 地址可以ping 通,且windows 计算机中有共享的文件夹,则打开位置下的网络服务器,点击界面中windows 网络->workgroup ,在workgroup 组中就可以看到windows 计算机名,双击会弹出输入用户名和密码的对话框,将我们上面设置smb 的用户名和密码输入就可以进行访问。

第二种:用ubuntu 系统自带的连接到服务器功能访问
在位置中启动连接到服务器,在服务类型中选择“windows 共享 ,在服务器中输入windows 计算机的ip 地址或计算机名,点击连接,这样在系统桌面中就会显示一个连接到windows 计算机的文件卷。
我们可以像访问ubuntu 系统中的磁盘一样来访问它,同样在访问的时候要输入smb 的用户名和密码。

第三种:用mount 挂载windows 的共享目录到本地磁盘
首先要在ubuntu 系统中建立一个挂载点,在这里我们建立的挂在点为 /mnt/wind
同样在保证网络连接正常,且windows 中有共享目录的前提下,进行一下操作
windowsip192.168.0.1 ,共享文件夹为share 为例
命令如下:
mount
t smbfs –o username=wangyh,password=123456 //192.168.0.1/share /mnt/wind
有是这样在访问的时候会出现中文乱码的问题,这样我们可以按下面命令来执行,可以解决这个问题
mount -t smbfs -o   iocharset=uft8,codepage=cp936,clmask=777,fmask=777,userneme=wangyh,password=123456 //192.168.0.1/share /mnt/wind
注解:usenamepassword 都为smb 的用户和密码,如果要详细了解mount 命令,使用man mount 在终端查看详细用法
提示:要访问windows 中有特殊密码的文件夹,可以在samba 中新建一个与windows 登录相同名相同密码的用户,然后mount 即可,例:
sudo useradd administrator //
不要让其有登录ubuntu 的权限
sudo smbpasswd -a administrator
然后提示输入密码:输入windows 访问的密码即可

第四种:使用smbclient 命令
命令如下:
smbclient //192.168.0.1/share
U wangyh
password:
输入smb 用户wangyh 的密码
回车就可以用,用命令get 下载文件,用put 上传文件。
注解:
smbclient
介绍:
命令 说明
?
help [command] 提供关于帮助或某个命令的帮助
![shell command]
执行所用的SHELL 命令,或让用户进入 SHELL 提示符
cd [
目录] 切换到服务器端的指定目录,如未指定,则 smbclient 返回当前本地目录
lcd [
目录] 切换到客户端指定的目录;
dir
ls 列出当前目录下的文件;
exit
quit 退出smbclient
get file1 file2
从服务器上下载file1 ,并以文件名file2 存在本地机上;
如果不想改名,可以把file2 省略
mget file1 file2 file3 filen
从服务器上下载多个文件;
md
mkdir 目录 在服务器上创建目录
rd
rmdir 目录 删除服务器上的目录
put file1 [file2]
向服务器上传一个文件file1, 传到服务器上改名为file2
mput file1 file2 filen
向服务器上传多个文件

 

 

 

 

 

mount -t smbfs -o username=linking,password=534534534 //192.168.1.29/kebie /mnt/dyh

 

mount -t smbfs -o iocharset=uft8,codepage=cp936,clmask=777,fmask=777, username=linking,password=54545454 //192.168.1.29/kebie /mnt/linking

 

vim /etc/rc.local //开机运行脚本

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值