linux下面添加samba实现和windows共享文件

整个过程其实算是很简单了,大体步骤,请参考这里即可:

samba实现ubuntu跟windows文件共享

http://spiritfrog.iteye.com/blog/216768

看完后,也知道,只是去安装一下samba相关的东东:
    sudo apt-get install samba samba-client samba-common

就可以正常安装samba服务了。

安装完毕后,去找了个文件夹,点击右键选择“共享选项”,然后去设置共享的时候,但是出现错误

"执行子进程“testparm”失败(没有那个文件或目录)",然后参考这里:

http://crabdave.iteye.com/blog/639921

即,安装另外一个samba的东西:
sudo apt-get install samba-common-bin

  即可解决问题。 然后按照前面的帖子提示,去启动samba服务:

sudo /etc/init.d/samba start

结果在/etc/init.d下面没有对应的samba,只有smb:

crifan@crifan-ubuntu10:~$ ls /etc/init.d/smbd -llrwxrwxrwx 1 root root 21 2011-04-01 20:02 /etc/init.d/smbd -> /lib/init/upstart-job

而执行那个smb,结果出错:

crifan@crifan-ubuntu10:~$ sudo /etc/init.d/smbd start

Ratherthaninvokinginitscriptsthrough/etc/init.d,usetheservice(

utility,e.g.servicesmbdstart

Sincethescriptyouareattemptingtoinvokehasbeenconvertedtoan

Upstart job, you may also use the start(linux下面添加samba实现和windows共享文件 utility, e.g. start smbd

按照提示,去操作,就可以启动samba服务了:

crifan@crifan-ubuntu10:~$ sudo service smbd startstart: Job is already running: smbd

   另外,关于需要去添加samba用户的事情,记得别的Linux类的系统里面,有图形用户界面的工具去配置samba的,而不需要用命令行这么麻烦的。

后来,无意间,在这里:

http://www.linuxidc.com/Linux/2010-12/30305.htm

找到了我要的东西,安装提示去安装samba图形管理界面:
    sudo apt-get install system-config-samba

然后,就可以通过 系统 -> 系统管理 -> Samba,启动samba的图形界面。

此处要提醒的是,在给samba添加用户之前,需要先保证系统中已经有了该用户,所以,对于我这次的需求:

只允许一个tq2440的用户访问我的某个文件夹。

那么具体设置方法就是:

1.先去系统中建立这个用户

在添加samba的共享之前,先去:

系统->系统管理->用户和组,新建一个tq2440的用户。

2.将该用户添加到samba的用户中去

系统->系统管理->Samba->samba服务器配置->首选项->Samba用户->添加用户,找到对应的那个tq2440,然后确定。

3.然后在新建共享,设置该samba用户可以访问

在samba中,新建一个共享,然后设置该用户tq2440可以访问该文件夹/文件。

即,因为你在前面添加了该samba用户,所以你才能在“只允许指定用户的访问”中,看到此tq2440用户,才能选择tq2440。

这样,就设置完毕共享了。

去windows下面直接输入此ubuntu所在电脑的ip,可以通过ifconfig查看:

crifan@crifan-ubuntu10:~$ifconfig

eth0Linkencap:以太网硬件地址44:87:fc:0d:2a:10

inet地址:192.168.1.101广播:192.168.1.255掩码:255.255.255.0

inet6地址:fe80::4687:fcff:fe0d:2a10/64Scope:Link

UPBROADCASTRUNNINGMULTICASTMTU:1500跃点数:1

接收数据包:65620错误:0丢弃:0过载:0帧数:0

发送数据包:54996错误:0丢弃:0过载:0载波:0

碰撞:0发送队列长度:1000

接收字节:76313596(76.3MB)发送字节:6204077(6.2MB)

中断:43基本地址:0x2000

loLinkencap:本地环回

inet地址:127.0.0.1掩码:255.0.0.0

inet6地址:::1/128Scope:Host

UPLOOPBACKRUNNINGMTU:16436跃点数:1

接收数据包:66错误:0丢弃:0过载:0帧数:0

发送数据包:66错误:0丢弃:0过载:0载波:0

碰撞:0发送队列长度:0

接收字节:7882(7.8KB)发送字节:7882(7.8KB)

wlan0Linkencap:以太网硬件地址48:5d:60:1d:85:9c

UPBROADCASTMULTICASTMTU:1500跃点数:1

接收数据包:0错误:0丢弃:0过载:0帧数:0

发送数据包:0错误:0丢弃:0过载:0载波:0

碰撞:0发送队列长度:1000

接收字节:0(0.0B)发送字节:0(0.0B)

          中断:16 Memory:f8078000-f8078100

找到对应的局域网IP是192.168.1.101,所以直接在另一台windows下面在资源管理器的地址栏中输入:

\\192.168.1.101

即看到从ubuntu中通过samba共享出来的文件夹了,和其他普通两个windows之间的那种共享,没啥区别。

注:

【查看samba服务是否已经启动】
ps -aux

如果进程太多,那么就:

crifan@crifan-ubuntu10:~$ ps -aux | grep smbd

Warning:badpssyntax,perhapsabogus'-'?Seehttp://procps.sf.net/faq.html

root54260.00.2167044160?Ss20:020:00smbd-F

root54390.00.0167041236?S20:020:00smbd-F

root65270.00.2170124176?S20:230:00smbd-F

crifan    6873  0.0  0.0   5628   764 pts/0    S+   20:55   0:00 grep --color=auto smbd

其中找到smbd,就说明samba的服务已经启动了。

另外,去查看nmbd服务是否也已经启动:

crifan@crifan-ubuntu10:~$ps-aux|grepnmbd

Warning:badpssyntax,perhapsabogus'-'?Seehttp://procps.sf.net/faq.html

crifan    6880  0.0  0.0   5628   764 pts/0    S+   20:56   0:00 grep --color=auto nmbd

其中smbd和nmbd的解释是:

http://hi.baidu.com/chenyangxin/blog/item/9c388050681bfd738535248e.html

“可以看到Samba服务会同时启动两个服务,其中smbd主要用来管理共享出来的目录,nmbd主要用来解析NetBIOS名。在Windows系统中,主机可以被加入一个组中,这样每个主机都必须有一个名字,这个名字是用于在网上被标志的名,并非机器的主机名,将其称为NetBIOS名。其中nmbd进程是随着smbd进程启动而启动。”

转自:http://bbs.chinaunix.net/thread-2302433-1-1.html

相关推荐