装的虚拟Linux机,搭建了ARM-LINUX交叉编译平台,作为开发平台很不错。但是我装的这个ubuntu7.10版本的Linux不知道是不是虚拟机的原因还是版本原因,可以自动挂载光盘,但是没有自动挂载U盘,而且可能是装VMware的时候没有选好,明明是IDE的硬盘在需拟机下是sda1了。我也没试去挂载U盘。但是一些程序文件什么的还是在Windows下面处理方便一点,经常需要将文件也是需要从Windonws弄到Linux里去,目前来说途径只有两种:通过光盘和U盘。为了传个文件来刻光盘显然不可能,而U盘也不够方便。最好的办法是通过网络连接Windows和Linux了。于是来配置samba通过网上邻居来进行数据传输。
还是感觉Linux下的软件配置比较麻烦,这不,配置/etc/samba/smb.conf文件对于我这个新手来说也是个不小的挑战。网络真是个好东西,什么东西都可以找到。想输入关键字“samba 配置”还只输入前面几个字母GOOGLE下面就出现了很多搜索提示,谈这方面的文章很多。我一边看《Linux操作系统》书上介绍samba的这章,一边按照网上的文章的方法去修改配置文件。说实话《Linux操作系统》真是非常垃圾,很多错误,有很多简直是在误导我这个新手,就比如说复制命令CP,在这书上讲成了COPY,好像COPY是DOS下的复制命令吧,拿来做Linux命令了,真是晕倒。
网上的有的文章介绍的比较好,虽然很多文章都是抄的一模一样的。按照一篇文章的介绍修改好以后,保存。文章上说重启samba,奇怪,我的系统居然没有/etc/rc.d/init.c/smb restart这个目录(命令)!没办法,先试下行不行再说,在地址里输入虚拟机的IP,等了老久,嘣的一声,说找不到这个地方。有点恼火了。我看了很多文章都是说这个命令,那么是不是我的系统的samba有问题啊,我想。不管了,重新下一个装行再说。apt-get install samba。下载的比较慢,洗个澡先。
澡洗完了,还没下完,10M不到的文件。又过了会,终于下完了,好。
这会先输入testparm,检查有没有配置错误,嘿,出现了书上的该出现的东西。再运行/etc/rc.d/init.c/smb restart,哈,samba居然重起了,难道真是原来的samba有问题?
再在地址栏输入虚拟机IP,很快弹出登陆窗口,输入用户名和密码,Good!成功!出现了Linux下设置为共享的那个目录。复制粘贴一个程序到此目录,到Linux下能够看到这个粘贴进来的文件,这个文件是一个VIVI启动代码。嗯,试试make一下。不行,出错,什么拒绝。可能是当前这个登陆用户权限不够吧我想,因为make时需要读写文件,我ls -l一看,好家伙,当前用户读、写、运行权限都没有。怎么办呢,改到root用户吗,太麻烦了,ubuntu不能用su登陆root,需要root权限是就加sudo,有点麻烦哦。不然就得reboot进入命令行模式。其实我现在都更加喜欢命令行的模式了。得了,改权限吧,chmod -R 777 XXX,全部改成所有用户和组都可以读、写、运行,省得麻烦。
再make,结果是什么呢?当然是OK拉!
其实其中的曲折还是很多的,简要的说如上。一是没时间打那么多字,而是确实很晚了要睡觉了。
以下是写的简单明了的一篇介绍配置samba的文章,摘抄到这。
首先当然是要安装
samba了,呵呵:
代码: |
sudo apt-get install samba sudo apt-get install smbfs |
下面我们来共享群组可读写文件夹,假设你要共享的文件夹为: /home/ray/share
首先创建这个文件夹
代码: |
mkdir /home/ray/share chmod 777 /home/ray/share |
备份并编辑smb.conf允许网络用户访问
代码: |
sudo cp /etc/ samba /smb.conf /etc/ samba /smb.conf_backup sudo gedit /etc/ samba /smb.conf |
搜寻这一行文字
代码: |
; security = user |
用下面这几行取代
代码: |
security = user username map = /etc/ samba /smbusers |
将下列几行新增到文件的最后面,假设允许访问的用户为:newsfan。而文件夹的共享名为 Share
代码: |
[Share] comment = Shared Folder with username and password path = /home/ray/share public = yes writable = yes valid users = newsfan create mask = 0700 directory mask = 0700 force user = nobody force group = nogroup available = yes browseable = yes |
然后顺便把这里改一下,找到[global]把 workgroup = MSHOME 改成
代码: |
workgroup = WORKGROUP display charset = UTF-8 unix charset = UTF-8 dos charset = cp936 |
后面的三行是为了防止出现中文目录乱码的情况。其中根据你的local,UTF-8 有可能需要改成 cp936。自己看着办吧。
现在要添加newsfan这个网络访问帐户。如果系统中当前没有这个帐户,那么
代码: |
sudo useradd newsfan |
要注意,上面只是增加了newsfan这个用户,却没有给用户赋予本机登录密码。所以这个用户将只能从远程访问,不能从本机登录。而且
samba的登录密码可以和本机登录密码不一样。
现在要新增网络使用者的帐号:
代码: |
sudo smbpasswd -a newsfan sudo gedit /etc/ samba /smbusers |
在新建立的文件内加入下面这一行并保存
代码: |
newsfan = "network username" |
如果将来需要更改newsfan的网络访问密码,也用这个命令更改
代码: |
sudo smbpasswd -a newsfan |
删除网络使用者的帐号的命令把上面的 -a 改成 -x
代码: |
sudo testparm sudo /etc/init.d/ samba restart |
最后退出重新登录或者重新启动一下机器。(链接:http://forum.ubuntu.org.cn/about20852.html&highlight=samba)