用samba在linux和windows之间共享文件

今天偶然发现三年前做嵌入式的时候写过一些小的总结,我现在不做嵌入式了但是这些东西总不能这么可惜的丢掉,所以我决定把他们贴出来,毕竟走过的路走要留下痕迹的。

第一篇:用samba在linux和windows之间共享文件

在做linux嵌入式开发的时候,不得不搭建文件系统使得主机windows和从机linux之间 共享文。虽然VMware已经提供了VMware tool可以在一定程度上实现这一点,但是由于linux文件名区分大小写而windwos文件名不区分大小写,因此如果你在共享文件夹下直接解压linux压缩文件的时候,往往会出现意想不到的错误,例如bootloader的解压,这些问题包括以上所述而不仅仅是以上所述,samb服务器可以很好的解决这一问题。


  • 第一篇:用samba在linux和windows之间共享文件
    • 创建samba服务器访问用户
    • 下载安装samba安装包
    • 设置samba服务器
      • 设置访问用户的身份
      • 设置samba服务器的密码
      • 开启samba服务
    • 关闭系统防火墙
    • 关闭系统自带的SElinux!!(重要)
    • 验证windows和linux之间网络通畅
    • 使用samba登录linux系统

创建samba服务器访问用户

(以下均以fedora系统中操作为例,其他linux发行版操作类似)

  • 首先使用以下命令创建新用户,比如win
usr add win
  • 再设置win的密码
passwd  win

此处的win是用户名,根据自己情况设定,不一定输入win

提示之后设置密码

下载安装samba安装包

在linux系统中安装软件的方法有两种,一种是直接解压缩安装软件安装包,另一种是通过linux发行版系统自带的软件安装器用一条命令直接进行下载安装,以下介绍第二种方法:
Ubuntu在一般用户模式下安装samba服务器的命令是:

     sudo apt-get install samba-server

之后会提示你输入root密码。
fedora系统和red hat系统安装samba服务器的命令是先执行su命令,输入root密码进入root模式之后再执行以下命令:

yum install samba-server

另一种方法是在软件安装器中下载安装,例如

设置samba服务器


设置访问用户的身份

在fedara系统中以root模式运行终端,输入以下命令:

vim /etc/samba/smb.conf

用vim打开samb.conf文件(vim的用法不再介绍),找到设置区域

改为以下代码(win是我建的用户,你根据自己的用户名设置,不一定用win)

[root]
          comment = Root Directories
          path = / 
          browseable = yes
          writable = yes
;         valid users = win


[printers]
        comment = All Printers
        path = /var/spool/samba
        browseable = no
        guest ok = no
        writable = no
        printable = yes

设置samba服务器的密码

root权限下执行以下命令设置samba服务器的密码

    smbpasswd

设置samba密码

开启samba服务

执行以下命令开启samba服务

./etc/init.d/smb restart

注意:可能需要执行两次

关闭系统防火墙

以root权限运行终端输入以下命令

/etc/init.d/iptables stop

关闭系统自带的SElinux!!(重要)

很多人其他步骤全都正确而没有权限访问samba服务器中的某些目录,原因就在这里,一定要关闭selinx字体中的selinx服务

关闭selinx服务需要运行以下命令

setenforce permissive

验证windows和linux之间网络通畅

  • 在linux终端中输入ifconifg,查看ip地址(一一定要确保linux可以上网并且使用桥接网络上网)
    如图显示为linux的ip地址
  • 进入主机windows系统中按win+r打开cmd输入 ping ip(ip是你刚才看到的你的linux系统的ip地址)

如图表示可以ping通,否则需要设置linux可以桥接上网

使用samba登录linux系统

的文件系统
在windows中打开浏览器输入 // linux的ip,例如 //172.19.49.108
出现密码输入窗口
第一层是输入win的用户名和密码,第二层是入世samba服务器的密码
登录成功

登录之后如还出现某些目录无法访问的情况,这是该用户没有权限访问造成的,输入以下命令即可解决(dir是该目录名)。

chmod 777 /dir

你可能感兴趣的:(硬件)