配置samba让windows和linux共享文件
在配置samba前先设置好主机和虚拟机的IP:虚拟机IP,和主机的IP设置在同一个网段(也就是192.168.xx.**)xx的地方要一样,但是**的地方不能一样,还有子掩码和主机的一样(如:255.255.255.0)》》》》虚拟机的DNS和网关及主机的的DNS和网关都是相同的,并和主机在同一网段(如:192.168.0.2)》》》》关闭虚拟机的防火墙(/etc/rc.d/init.d/iptables stop)》》》》关闭主机的防火墙(控制面板的windows防火墙,选择关闭)》》》》
虚拟机选择桥接,虚拟网卡1和8,可以关闭,这时主机和虚拟机应该可以相互PING通了。接着就可以进行下面的配置了。
修改虚拟机DNF的方法:在终端输入vi /etc/resolv.conf 在文件里写入DNF就可以
了然后保存(按ESC 输入:输入wq 回车就行了)。
配置IP:在终端输入 redhat-config-network,在里面设置保存就行了。然后重新启动网络:在终端输入service network restart
查看IP是否设置好了:在终端输入ifconfig 查看DNS cat /etc/resolv.conf 好了,下面就开始配置samba服务器吧:
第一步: 更改smb.conf
[root@localhost ~]# cd /etc/samba /*进入samba服务器配置文件所在的目录*/
[root@localhost samba]# mv smb.conf smb.confback /*备份samba服务器的配置文件*/
[root@localhost samba]#touch smb.conf /*重新建立samba服务器的配置文件*/
[root@localhost samba]#vi smb.conf/*用VI编辑器编辑smb.conf*/
在smb.conf/中写入如下内容 [global]
workgroup = Linuxsamba
netbios name = Linuxsambaname server string = Linux Samba Server security = share [linuxsamba]
path = /opt/linuxsamba writeable = yes browseable = yes guest ok = yes 注解:
[global]这段是全局配置,是必段写的。其中有如下的几行;
workgroup 就是Windows中显示的工作组;在这里我设置的是LinuxSir netbios name 就是在Windows中显示出来的计算机名;
server string 就是Samba服务器说明,可以自己来定义;这个不是什么重要的; security 这是验证和登录方式,这里我们用了share ;验证方式有好多种,这是其中一种;另外一种常用的是user的验证方式;如果用share呢,就是不用设置用户和密码了;
[linuxsir] 这个在Windows中显示出来是共享的目录; path = 可以设置要共享的目录放在哪里; writeable 是否可写,这里我设置为可写; browseable 是否可以浏览,可以; guest ok 匿名用户以guest身份是登录; 第二步:建立相应目录并授权;
[root@localhost ~]# mkdir -p /opt/linuxsamba [root@localhost ~]# id nobody
uid=99(nobody) gid=99(nobody) groups=99(nobody) [root@localhost ~]# chown -R nobody:nobody /opt/linuxsir
注释:关于授权nobody,我们先用id命令查看了nobody用户的信息,发现他的用户组也是nobody,我们要以这个为准。有些系统nobody用户组并非是nobody ;
第三步:重新启动smbd和nmbd服务器; [root@localhost ~]# service smb restart
第四步:查看smbd进程,确认Samba 服务器是否运行起来了; [root@localhost ~]# pgrep smbd 13564
13568
第五步:访问Samba 服务器的共享; 在Linux 中您可以用下面的命令来访问;
[root@localhost ~]# smbclient -L //Linuxsambaname Password: 注:直接按回车
在Windows中,您可以用下面的办法来访问; //Linuxsambaname/
或者在windows里面 \\\\ IP 的形式就可以访问了。
我们在开发ARM的时候需要修改代码和在linux下编译,比如移植U-BOOT,我们可以把u-boot加压在共享目录linuxsamba下面,在windows下用source insight编辑修改代码,保存后再linux下编译uboot。
好的现在所有的服务器都配置好了,如果没出上面意外就可以正常使用了。假设我设置linux和windows的共享目录是linux文件系统下面的/opt目录里的filesystem目录这个filesystem其实就是做好了的文件系统。他可以被开发板的linux用挂载网络文件系统的方式去挂载他,把他当做开发板自己的文件系统使用。这样linux可以操作filesystem里的所有内容,windows也能操作filesystem了的所有内容,开发板挂载他之后也能操作filesystem里的所有内容。并且是三者是同步的。这样在windows下用Source Insigh等工具编辑好代码后,进入虚拟机的liunx进行编译然后转到开发板下进行运行。这里为了方便还有一个远程登录的软件Putty用他登录通过ssh协议登录虚拟机的linux进行操作虚拟机。用他的串口功能进行开发板的linux控制
主意:
1、使用前要把所有服务都启动了。Tftp nfs samba sshd 2、如果你的电脑的没有接上网线或网络断开了,是ping不通的。
3、如过发现windows无法对samba服务器的共享目录进行写操作,那么要设置共享目录的他的权限,还是不行的话,就把selinux关掉。在终端输入 vi /etc/selinux/condig回车。把中间那个变量SELINUX= xxx xxx改为disabled