CentOS 5下samba的安装与配置(修订)

简介:
一、目标设想
二、samba源码安装
三、
创建配置文件  
四、
添加用户及创建相关目录 
五、启动samba及双向访问
六、其它

一、目标:
用户组:cloud
组中用户:william,lqs
组中每个用户,对各自的目录有读写权限;
william对lqs目录有可读权限,但lqs不可访问william目录。
 
二、安装:
 
  1. wget http://ftp.samba.org/pub/samba/stable/samba-3.5.8.tar.gz 
  2. tar -zxvf samba-3.5.8.tar.gz 
  3. cd samba-3.5.8 
  4. cd source3
  5. ./configure && make && make install
注:源码安装,注意命令路径,以及配置文件的路径。
另外,源码解压以后,里面有source3和source4,我们安装的是3,source4目前还是测试版本。 
还需要指定samba库文件的位置,否则可能会报错: 
 
  1. vi /etc/ld.so.conf.d/samba.conf,添加:  
  2. /usr/local/samba/lib  
  3. /sbin/ldconfig -v  
三、配置文件(注意源码安装方式的samba的配置文件位置!):
/usr/local/samba/lib/smb.conf:

 
  1. [global] 
  2. workgroup =hdtworld.com 
  3. server string = Samba Server %v 
  4. load printers = no 
  5. printing = bsd 
  6. printcap name = /dev/null 
  7. disable spoolss = yes 
  8. security = user
  9. passdb backend = smbpasswd
  10. smb passwd file = /usr/local/samba/lib/smbpasswd 
  11. encrypt passwords = true 
  12. unix charset = GB18030 
  13. log file = /var/log/samba/log.%m 
  14. max log size = 50 
  15. socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 
  16. interfaces = lo eth0  #注意改成你自己的网卡接口
  17. bind interfaces only = yes 
  18. hosts allow = 127.0.0.1 192.168.0.0/16  #也可以指定具体的IP
  19. hosts deny = 0.0.0.0/0 
  20. dns proxy = no
  21.  
  22. [william] 
  23. comment = samba directory for william 
  24. read only = no 
  25. writable = yes 
  26. browseable = no 
  27. public = no 
  28. guest ok = no 
  29. create mode = 0644 
  30. force create mode = 0644 
  31. directory mode = 0755 
  32. force directory mode = 0755 
  33. #valid users = @cloud 
  34. #write list = william 
  35. valid users = william 
  36. path = /opt/share/william 
  37.  
  38. [lqs] 
  39. comment = samba directory for lqs 
  40. read only = no 
  41. writable = yes 
  42. browseable = no 
  43. public = no 
  44. guest ok = no 
  45. create mode = 0644 
  46. force create mode = 0644 
  47. directory mode = 0755 
  48. force directory mode = 0755 
  49. valid users = @cloud 
  50. write list = lqs 
  51. path = /opt/share/lqs
注:按自己的实际需求修改global模块的host allow和interfaces,以及设定共享模块名称。很重要噢!

四、
添加系统组及用户:
 
 
  1. groupadd cloud 
  2. useradd william -g cloud -s /sbin/nologin 
  3. useradd lqs -g cloud -s /sbin/nologin
为系统用户创建samba密码(注意命令路径):
 
 
  1. /usr/local/samba/bin/smbpasswd -a lqs  
  2. /usr/local/samba/bin/smbpasswd -a william 
创建目录:
 
 
  1. cd /opt 
  2. mkdir -p share/william 
  3. mkdir -p share/lqs
更改目录属主:
 
 
  1. chown -R william:cloud share/wiliam 
  2. chown -R lqs:cloud share/lqs 
设置目录权限,配合后面配置文件中的权限设定,以保证其它用户无法访问william目录,而william目录可以访问其它目录(只读)。
 
 
  1. chmod 777 share 
  2. chmod 755 share/lqs 
  3. chmod 700 share/william
注:这个过程中注意三种用户:windows用户,linux用户,samba用户。
另注:曾经遇到过没有密码文件的问题。配置文件及各个步骤都按照上述示例做的,但是在使用smbpasswd -a命令设置密码时,它没有创建密码文件,即使我手动创建一个密码文件,它也不往里面写入数据。
怀疑它把密码创建到private目录里的secrets.tdb文件中。
这个不影响samba的使用,按正常方式输入用户名和密码访问即可。

五、启动与关闭:
 
  1. /usr/local/samba/sbin/nmbd -D 
  2. /usr/local/samba/sbin/smbd -D 
 
  1. kill -9 $(pgrep nmb) 
  2. kill -9 $(pgrep smb) 
 
六、 linux与windows双向访问
1、windows读写linux目录的方法非常简单:
 
  1. \\192.168.9.45\william 
  2. \\192.168.9.45\lqs
注:后面的william和lqs,实际上是模块的名称,而不是模块路径。这一点要注意。

2、linux读写windows目录,分两个步骤:
  1)首先在Windows中:
  在F盘中创建share文件夹,并使其共享;创建一个系统用户user01,并为share目录添加该用户;
  2)然后在CentOS上:
 
  1. mkdir -p /opt/myshare 
  2. mount -t cifs -o username=user01 //192.168.27.56/share /opt/myshare  
   曾出错,错误提示:mount error 92 = Protocol not available,Refer to the mount.cifs(8) manual page (e.g.man mount.cifs)。
   解决:是由于windows的netlogon服务没有打开!
   参考文档:
http://blogold.chinaunix.net/u3/114273/showart_2417219.html。
    它把linux挂载windows总结了三步曲:
    第一步:检查windows里的共享文件夹是否可共享。这一步最容易忽视,我就在这个地方栽的跟头!
    第二步:创建windows的系统用户,并添加到共享目录。
    第三步:在linux里挂载windows目录:参考前面段落中的命令。
 
 
   错误提示2:
 
  1. mount: block device //192.168.27.56/share is write-protected, mounting read-only 
  2. mount: cannot mount block device //192.168.27.56/share read-only 
  解决:yum install samba-client 
  
    而Windows访问Samba最常见的错误是:
    由于没有关闭iptables,没有关闭selinux,导致虽然连接成功,但访问samba模块失败。错误提示为:    \\$IP\$ModuleName 无法访问,您可能没有权限使用网络资源。请与这台服务器的管理员联系......
  解决:关闭iptables和selinux
 
 
  1. setenforce 0 
  2. service iptables stop
    最好在selinux的配置文件中关闭它,路径为:/etc/selinux/config。iptables最好用chkconfig命令,关闭其自启动。
 
六、其它:
    从这次samba服务器搭建实践来看,samba的权限设置应该包括两个层次:操作系统中的目录本身的权限,以及smb.conf模块中设置的用户权限。

------------------------------------------------------------------
2011-10-14修订:
   今天遇到了另外一个问题。今天又搭建了一个samba,共享目录及其父目录的权限也改成了777,但是linux共享目录里的文件对windows不可见!也就是说,我从windows里访问这个共享目录时,看不到其中的文件,所有文件都看不到!但是从windows里创建的文件,在linux和windows中都可以看得到。
   从网上搜索了一下,解决办法也是关闭selinux:setenforce 0

本文转自 li_qinshan 51CTO博客,原文链接:http://blog.51cto.com/share/486836
相关文章
|
2月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
644 69
|
1月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
689 2
|
2月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
297 78
|
1月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
355 16
|
3月前
|
Linux 网络安全 Apache
针对在Centos/Linux安装Apache过程中出现的常见问题集锦
以上每个问题的解决方案应深入分析错误日志、系统消息和各种配置文件,以找到根本原因并加以解决。务必保持系统和Apache软件包更新到最新版本,以修复已知的bugs和安全漏洞。安装和管理Web服务器是一项需要细致关注和不断学习的任务。随着技术的发展,推荐定期查看官方文档和社区论坛,以保持知识的更新。
201 80
|
2月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
230 10
|
3月前
|
人工智能 数据挖掘 Linux
Centos安装Python3.7(亲测可用)
本指南详细介绍了在基于Linux(以CentOS系统为例,使用yum包管理器)的系统上安装Python 3.7版本的完整流程。Python是一种广泛使用的高级编程语言,在各种领域如软件开发、数据分析、人工智能和区块链开发等都有着重要的应用。
372 2
|
3月前
|
存储 Linux Apache
在CentOS上配置SVN至Web目录的自动同步
通过上述配置,每次当SVN仓库中提交新的更改时,`post-commit`钩子将被触发,SVN仓库的内容会自动同步到指定的Web目录,从而实现代码的连续部署。
168 16
|
2月前
|
运维 网络协议 Linux
CentOS下Bind服务的安装与故障排查
通过以上的步骤,您应该能够在CentOS系统上安装并配置BIND DNS服务,并进行基本的故障排查。
236 0
|
4月前
|
机器人 Linux
CentOS 7系统中安装特定版本CMake 3.21.2的方法。
到这里,过程已经全部完成。如果你跟随上面的步骤来,那么你现在已经拥有了一个全新的CMake版本在你的CentOS 7系统上了。这个过程就像是你通过一系列仪式,唤醒了一个沉睡已久的古老机器人,它现在完全按照你的意愿来帮你构建和编译软件了。
348 18