整个过程其实算是很简单了,大体步骤,请参考这里即可:
看完后,也知道,只是去安装一下samba相关的东东:sudo apt-get install samba samba-client samba-common
就可以正常安装samba服务了。
安装完毕后,去找了个文件夹,点击右键选择“共享选项”,然后去设置共享的时候,但是出现错误 "执行子进程“testparm”失败(没有那个文件或目录)", 然后参考这里: 即,安装另外一个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 -l lrwxrwxrwx 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 Rather than invoking init scripts through /etc/init.d, use the service(
utility, e.g. service smbd start Since the script you are attempting to invoke has been converted to an Upstart job, you may also use the start( utility, e.g. start smbd按照提示,去操作,就可以启动samba服务了:
crifan@crifan-ubuntu10:~$ sudo service smbd start start: Job is already running: smbd
另外,关于需要去添加samba用户的事情,记得别的Linux类的系统里面,有图形用户界面的工具去配置samba的,而不需要用命令行这么麻烦的。
后来,无意间,在这里: 找到了我要的东西,安装提示去安装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
eth0 Link encap:以太网 硬件地址 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/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1 接收数据包:65620 错误:0 丢弃:0 过载:0 帧数:0 发送数据包:54996 错误:0 丢弃:0 过载:0 载波:0 碰撞:0 发送队列长度:1000 接收字节:76313596 (76.3 MB) 发送字节:6204077 (6.2 MB) 中断:43 基本地址:0x2000 lo Link encap:本地环回 inet 地址:127.0.0.1 掩码:255.0.0.0 inet6 地址: ::1/128 Scope:Host UP LOOPBACK RUNNING MTU:16436 跃点数:1 接收数据包:66 错误:0 丢弃:0 过载:0 帧数:0 发送数据包:66 错误:0 丢弃:0 过载:0 载波:0 碰撞:0 发送队列长度:0 接收字节:7882 (7.8 KB) 发送字节:7882 (7.8 KB) wlan0 Link encap:以太网 硬件地址 48:5d:60:1d:85:9c UP BROADCAST MULTICAST MTU:1500 跃点数:1 接收数据包:0 错误:0 丢弃:0 过载:0 帧数:0 发送数据包:0 错误:0 丢弃:0 过载:0 载波:0 碰撞:0 发送队列长度:1000 接收字节:0 (0.0 B) 发送字节:0 (0.0 B) 中断: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: bad ps syntax, perhaps a bogus '-'? See root 5426 0.0 0.2 16704 4160 ? Ss 20:02 0:00 smbd -F root 5439 0.0 0.0 16704 1236 ? S 20:02 0:00 smbd -F root 6527 0.0 0.2 17012 4176 ? S 20:23 0:00 smbd -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 | grep nmbd
Warning: bad ps syntax, perhaps a bogus '-'? See crifan 6880 0.0 0.0 5628 764 pts/0 S+ 20:56 0:00 grep --color=auto nmbd其中smbd和nmbd的解释是:
“可以看到Samba服务会同时启动两个服务,其中smbd主要用来管理共享出来的目录,nmbd主要用来解析NetBIOS名。在Windows系统中,主机可以被加入一个组中,这样每个主机都必须有一个名字,这个名字是用于在网上被标志的名,并非机器的主机名,将其称为NetBIOS名。其中nmbd进程是随着smbd进程启动而启动。”