: ubuntu中Samba服务之配置

来源:互联网 发布:廖雪峰javascript pdf 编辑:程序博客网 时间:2024/04/30 22:25

http://blog.sina.com.cn/s/blog_7544573101011kbr.html

 

转: <wbr>ubuntu中Samba服务之配置ubuntu中Samba服务之配置
 
标签:sambaubuntu
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 -anewsfan                       新增网络使用者的帐户
 $ 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!胜利!Linux初接触鈥斺擴buntu中安装和配置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?         20:02   0:00smbd -F
root     6527  0.0  0.2  17012  4176?         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服务之配置 转自: http://cynthia.blog.51cto.com/839408/634253




原创粉丝点击