(四)samba配置详细步骤

来源:互联网 发布:四选一数据选择器实验 编辑:程序博客网 时间:2024/05/16 13:21

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

-在安装samba之前要配置网络
参考资料:

samba实现ubuntu跟windows文件共享
http://spiritfrog.iteye.com/blog/216768

安装步骤:

第一、更新和下载必要文件

 (1) sudo apt-get update  更新

 (2) sudo apt-get installsambasamba-clientsamba-common  smbfssamba-common-bin下载文件

就可以正常安装samba服务了。
安装完毕后,去找了个文件夹,点击右键选择“共享选项”,然后去设置共享的时候,但是出现错误
"执行子进程“testparm”失败(没有那个文件或目录)", 然后参考这里:http://crabdave.iteye.com/blog/639921

第二、创建 Samba 配置文件

 保存现有的配置文件
$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak

第三、配置samba

$ sudo vim /etc/samba/smb.conf

在做一下工作之前,要做

1.$sudo mkdir /home/xx/gx

2.sudo chmod 777 gx 

在smb.conf 最后添加
[username]   一定要添加这个名,是在windows下现实的目录名
path = /home/username 
available = yes
browseable = yes   
public = yes
writable = yes
(  注意上面的设置中  username 换成你的用户名(如/home/lsb/gx)如果在前面有 “#”,需要先把它去掉,下面的可以不配置)

[tftpboot]
path = /tftpboot
available = yes
browseable = yes
public = yes
writable = yes
[opt]
path = /opt
available = yes
browseable = yes
public = yes
writable = yes

附:创建 samba 帐户

$ sudo smbpasswd -a USERNAME  (USERNAME 换成你的用户名)

会要求你输入samba 帐户的密码

New SMB password:
Retype new SMB password:

[如 果没有 第 四步, 当你 登录 时 会提 示  session   setup   failed:  NT_STATUS_LOGON_FAILURE]

第四、启动samba服务:

修改过smb.conf 的话要执行一次

$ sudo /etc/init.d/samba reload (为08.10版的重启方法)

$ sudo /etc/init.d/samba restart

 

$ sudo /etc/init.d/smbd reload    (为10.10版)

$ sudo service smbd   restart     (为10.10版)我的方法

但最好先执行一下步骤:

 

结果在/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的,而不需要用命令行这么麻烦的。
后来,无意间,在这里:
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
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 http://procps.sf.net/faq.html
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 http://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进程启动而启动。”
原创粉丝点击