您的位置:首页 > 其它

: ubuntu中Samba服务之配置

2012-09-05 11:06 435 查看
http://blog.sina.com.cn/s/blog_7544573101011kbr.html


ubuntu中Samba服务之配置

标签:samba
ubuntu

Step1:samba软件包的安装

$ sudo apt-get installsamba

$ sudo apt-get install smbfs
Step 2: 创建共享目录
$sudo mkdir/home/sherry(本机用户名)/share(共享文件夹) 创建共享目录
$sudo chmod 777/home/sherry/share 给共享目录设置权限
Step3:编辑samba的配置文件,允许网络连接
$sudo cp /etc/samba/smb.conf/etc/samba/smb.conf.bak 备份配置文件
$sudo gedit/etc/samba/smb.conf 打开配置文件进行编辑
在[global]中,找到
workgroup = WORKGROUP
把WORKGROUP改成MSHOME(有的版本说不改,我改了,但还没弄明白到底改不改有什么区别,待解决)
并在后面添加如下信息
$display charset = UTF-8

$ unix charset = UTF-8

$ dos charset =cp936

后面的三行是为了防止出现中文目录乱码的情况。其中根据你的local,UTF-8 有可能需要改成cp936(不明白)
找到 security =user 在后面添加(若此语句前有#则去掉,在smb.conf文件中“#”和“;”都是注释)

username map =/etc/samba/smbusers
在文件最后,添加下面的内容,其中share为共享文件夹名,
[Share]

comment = Shared Folder with username andpassword

path =/home/sherry/share Linux系统真实的共享目录,必须为绝对路径

public =yes 是否允许所有人都能够看到此目录

writable =yes 写权限
valid users = sherry
create mask =0700 如果有可写权限,建立的文件默认的权限掩码

directory mask =0700 如果有可写权限,建立的目录默认的权限掩码

force user = nobody

force group = nogroup

available = yes

browseable =yes 读权限
step4:添加网络访问账户newsfan,该用户和普通用户的区别在于它只能用于samba的远程访问,不能用于登录系统
现在要添加newsfan这个网络访问帐户。如果系统中当前没有这个帐户,那么

$ sudo useraddnewsfan
要注意,上面只是增加了newsfan这个用户,却没有给用户赋予本机登录密码。所以这个用户将只能从远程访问,不能从本机登录。而且samba的登录密码可以和本机登录密码不一样。

$ sudo smbpasswd -a
newsfan 新增网络使用者的帐户

$ sudo cat >/etc/samba/smbusers.conf 打开新建立的配置文件
在新建立的文件内加入下面这一行并保存

$newsfan = "network username"
如果将来需要更改newsfan的网络访问密码,也用这个命令更改

$ sudo smbpasswd -anewsfan
删除网络使用者的帐号的命令把上面的-a 改成 -x

step 5:验证配置文件的正确性
$ sudotestparm 这句是验证配置文件是否正确

本来到这里验证不管安装正确与否都会给个反馈的结果,没想到前面顺风顺水,到这里摔了个大跟头,输入语句之后显示sudo:testparm: command notfound。找了好久终于找到眉目,貌似又是少安装了个东西。于是按照网上解决办法输入语句进行安装
$ sudoapt-get install samba-common-bin
也有的会显示执行子进程“testparm”失败(没有该文件或目录)。
于是终于完成。再次验证出现成功提示
sherry@ubuntu:~$ testparm

Load smb config files from /etc/samba/smb.conf

rlimit_max: rlimit_max (1024) below minimum Windows limit(16384)

Processing section "[printers]"

Processing section "[print$]"

Processing section "[share]"

Loaded services file OK.

Server role: ROLE_STANDALONE

下面显示出Ubuntu与俺的小紫成功连接
sherry@ubuntu:~$
sudo smbclient -L //localhost/share

[sudo]password for sherry:

Enter root's password:

Domain=[MSHOME] OS=[Unix] Server=[Samba 3.4.0]
Sharename Type Comment

--------- ---- -------

print$ Disk Printer Drivers

share Disk Shared Folder with username and password

IPC$ IPC IPC Service (ubuntu server (Samba, Ubuntu))

Domain=[MSHOME] OS=[Unix] Server=[Samba 3.4.0]
Server Comment

--------- -------

SHARA-PC

UBUNTU ubuntu server (Samba, Ubuntu)
Workgroup Master

--------- -------

MSHOME SHARA-PC

启动Samba服务器后,可以使用ps命令查看进程:

$ sudops-aux

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

哇咔咔~不容易啊,在完全不懂LINUX的情况下成功安装samba!胜利!


另保存几个相关语句:

启动samba服务 sudo/etc/init.d/samba start
关闭samba服务 sudo/etc/init.d/samba stop
重启samba服务 sudo/etc/init.d/samba restart

另:貌似新版本10.04安装有所不同,以下是网上拷来的
ubuntu10.4中用老方法行不通,好像资源中新出了samba4,因此用命令:$sudoapt-get install samba会提示你安装samba4。

新方法是从应用程序-->ubuntu软件中心。搜索samba,选择名字叫samba的安装。

完成后执行命令:

$sudo apt-get install smbfs

$sudo apt-get install smbclient

==========================

我安装的UBUNTU 11.10版本。 默认SAMBA的启动/停止为:

sudo service smbdstart

sudo service smbdstop


即在/etc/init.d/目录下只有smbd

=============================================================

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

注:

【查看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:00smbd -F

root 5439 0.0 0.0 16704 1236? S 20:02 0:00smbd -F

root 6527 0.0 0.2 17012 4176? S 20:23 0:00smbd -F

crifan 6873 0.0 0.0 5628 764pts/0 S+ 20:55 0:00grep --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 764pts/0 S+ 20:56 0:00grep --color=auto nmbd
其中smbd和nmbd的解释是:

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

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

注:

ubuntu中Samba服务之配置 转自: /article/7346587.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: