安装 samba 记录

Linux系统:LFS 6.1 in vmware虚拟机
软件版本: samba-3.0.14a.tar.bz2

安装过程

 tar xvf samba - 3.0 . 14a . tar . bz2
 cd samba
- 3.0 . 14a \ source
 
./ configure  -- prefix =/ usr  -- sysconfdir =/ etc  -- localstatedir =/ var  -- with - piddir =/ var / run  -- with - fhs  -- with - smbmount 
 make
 install 
- - m755  - / var / cache / samba 
 make install 
 mv 
- / usr / lib / samba / libsmbclient . so  / usr / lib 
 ln 
- - sf  ../ libsmbclient . so  / usr / lib / samba 
 
chmod   - 644   / usr / include / libsmbclient .
 install 
- - m755 nsswitch / libnss_win{s , bind } . so  / lib 
 ln 
- - sf libnss_winbind . so  / lib / libnss_winbind . so . 2  
 ln 
- - sf libnss_wins . so  / lib / libnss_wins . so . 2  
 
if  [  - f nsswitch / pam_winbind . so ]; then
   install 
- - m755 nsswitch / pam_winbind . so  / lib / security
  fi
 install 
- - m644  ../ examples / smb . conf . default  / etc / samba 
 install 
- - m644  ../ docs /*. pdf  / usr / share / samba
 cd 
../..
 rm 
- rf samba - 3.0 . 14a

 好了,装完啦,测试一下smbmount
因为我是用虚拟机装的Linux系统,所以可以在主机的WINDOWS中共享一个目录出来,共享目录权限指定为某个WINDOWS帐户,然后

 mkdir ~/win_share
 smbmount //host_ip/my_share_dir ~/win_share -o "username=XXXX,password=YYYYY"

失败,提示没有 /etc/samba/smb.conf 文件
检查安装过程,原来是前面 copy smb.conf.default 文件时,没有去掉后面的.default扩展名
 cp /etc/samba/smb.conf.default /etc/samba/smb.conf
再smbmount则成功(此时不需要配置smb.conf文件的具体内容,那是smb服务器才需要的)。

好,现在已经可以很方便的与访问其它系统的文件了。


接下来是配置smb服务

修改/etc/samba/smb.conf里面的内容,根据文件中的注释就可以修改了
这里有个比较简单的方法,按这样配置
[homes]
   comment = Home Directories
   path = %H
   browseable = yes
   writable = yes
   valid users = %S
   create mode = 0600
   directory mode = 0700
   locking = no

其中的 %S 会替换为 系统用户名,%H 会替换为所对应的用户主目录。
则用不同linux系统的用户访问,系统自动设置为其用户主目录,如crazywill用户,则访问\\lfs-linux-ip\crazywill\ 以及 \\lfs-linux-ip\homes\ 就相当于 linux下的 /home/crazywill/ 目录,拥有对用户自己目录下所有的文件权限。


修改完后,
 smbd -D
 nmbd -D   启动
 ps -aux | grep smb
检查不到有smbd进程运行

怀疑是 smb.conf 配置有问题
 testparm  
检查配置文件内容

似乎没问题才对
再继续检查 smb 状态 和 日志文件
 smbstatus

 cat /var/log/samba/smbd.log
检查日志
[2006/08/10 23:12:37, 0] smbd/server.c:main(798)
  smbd version 3.0.14a started.
  Copyright Andrew Tridgell and the Samba Team 1992-2004
[2006/08/10 23:12:37, 0] printing/pcap.c:pcap_cache_reload(149)
  Unable to open printcap file /etc/printcap for read!
不能读取/etc/printcap 文件
检查当前环境确实没有该文件,因为现在没有安装打印机,先创建一个空文件给它
 echo "" > /etc/printcap

再启动,仍失败,检查日志
[2006/08/10 23:18:11, 0] smbd/server.c:main(798)
  smbd version 3.0.14a started.
  Copyright Andrew Tridgell and the Samba Team 1992-2004
[2006/08/10 23:18:11, 1] auth/auth_util.c:make_server_info_sam(840)
  User nobody in passdb, but getpwnam() fails!

是用户nobody 有问题,
检查/etc/passwd 没有该用户,添加它,再启动还是不行。
运行
 smbpasswd -x nobody
删除nobody用户,删除失败 :(

真是有点莫名其妙,反复操作了几次后就成功了,不知道问题在哪里。

搞定 nobody后,终于非常辛苦的启动smbd进程成功了,检查日志可知。
庆祝一下。 :)

用smbclient检查一下samba配置正常了没

 smbclient -L localhost -U crazywill
测试连接
提示输入密码,输入LINUX本地帐号crazywill的密码,错误。

反复检查,最后发现需要先运行
 smbpasswd -a crazywill  
设置 smb 登录用户 crazywill 的密码

之后再 smbclient 测试正常,
用windows 连接 \\lfs-linux-ip\crazywill
输入用户名 crazywill和刚设置好的密码
正常登录

新增和修改目录、文件操作成功。

yeah.....


 

 

你可能感兴趣的:(samba)