linux下Samba服务端基本使用

本文详细介绍了在CentOS 6环境下如何安装、配置Samba,实现Linux与Windows之间的文件共享。包括安装Samba套件、创建Samba文件存放位置与用户、配置smb.conf文件、测试以及开放SELinux和防火墙端口等步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简介: 
简单点说,samba就是能实现linux和Windows之间的资源共享,相当于Windows局域网之间的共享文件夹。 
以下在centos6上测试通过。 

一、安装: 
先检查是否安装了,执行rpm -qa | grep samba命令,检查是否安装了samba套件。没有安装的话安装。 
最基本的安装方式: 
先yum search samba,得到samba套件列表 
然后安装最基本的两个就行了samba,samba-client(会帮忙安装默认的samba-common) yum install samba.i686 
yum install samba-client.i686 

二、创建samba文件存放位置与用户 
创建文件夹存放位置:mkdir /data/samba 
创建用户(下面两行,第一行代表创建一个不能登录的用户,第二行为该用户指定samba的密码): 
useradd -s /sbin/nologin test 
smbpasswd -a test 
要保证test对创建目录的权限(如读写,目录还要有执行权限)。 
两种方式:chown -R test /data/samba 
chmod -R 777 /data/samba 

三、配置 
找到/etc/samba目录下的smb.conf文件,备份一下。 
然后编辑文件,替换为如下内容: 
Shell代码   收藏代码
  1. #配置段  
  2. [global]  
  3.                  
  4. workgroup = MYGROUP  
  5. server string = Samba Server Version %v  
  6. security = user  
  7.   
  8. #security选项  
  9. #share                       # 不需要任何的验证(不采用)  
  10. #user                        # 默认的设置,推荐的,由*unx samba服务器做验证  
  11. #server                      # 第三方主机验证  
  12. #domain                      # 第三方主机验证(必须是windows域控制器)  
  13.   
  14. #服务的基本限定:  
  15. #哪些主机访问  
  16. #默认有两个选项  
  17. hosts allow = 127192.168.  
  18. #hosts deny                 # 定义禁止访问的客户端  
  19.   
  20. log file  = /var/log/samba/log.%m  
  21. max log size = 50  
  22. [homes]  
  23.     comment = Home Directories  
  24.     browseable = no  
  25.     writable = yes  
  26.     valid users = %S  
  27.     create mode = 0664  
  28.     directory mode = 0775  
  29.   
  30. #[printers] 设置打印机共享  
  31. #[sharefiles]设置文件共享  
  32.   
  33.     [test]  
  34.     comment = test  
  35.     path = /data/samba  
  36.     valid users = test  
  37.     write list = test  
  38.     printable = no  
  39.     create mode = 0664  
  40.     directory mode = 077  


四、简单测试一下 
1.测试的时候要关闭selinux,要不然会木有权限访问的。关闭selinux的命令为setenforce 0(该命令需要root权限)。最好在执行这样一个命令 service iptables stop,我后来打开了这个,不过也没关系。 

2.启动服务 
先看一下samba的服务到底启动了没有:ps -aux | grep smb 
没有启动的话启动samba服务:/etc/init.d/smb start。(启动是start,停止是stop,重启是restart) 

3.在windows下通过局域网共享文件的方式访问。地址为(这个地址是我的linux的地址):\\192.168.56.101,看到如下内容,表示成功。 
 

五、开放selinux及防火墙samba的端口 
1.先查看samba服务的端口 
netstat -tlnp | grep smb 
可以看到端口号为139和445 
2.配置防火墙开方端口(还有一种比较简单的方式,在terminal终端中输入setup然后在图形界面下开方防火墙的端口。我是在图形界面下操作的,未测试配置文件的方式): 
在/etc/sysconfig/iptables里添加 
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 139 -j ACCEPT 
-A RH-Firewall-1-INPUT -p tcp -m state --state NEW -m tcp --dport 445 -j ACCEPT 

2.配置selinux允许samba访问具体的目录及文件(selinux比较高深,还需要多看看) 
这里有一个建议,如果你对selinux掌握的比较透彻,就打开selinux,反之就关掉它,因为有好多网络应用都要针对selinux进行一系列的配置。 

先打开selinux:setenforced 1 
发现目录打不开了 
再执行:chcon -R -t samba_share_t /data/samba 
目录又可以打开了,OK 
在selinux中关于samba的控制方式如下: 
Shell代码   收藏代码
  1. SElinux与samba  
  2. 1.samba共享的文件必须用正确的selinux安全上下文标记。  
  3. chcon -R -t samba_share_t /tmp/abc  
  4. 如果共享/home/abc,需要设置整个主目录的安全上下文。  
  5. chcon -R -r samba_share_t /home  
  6. 2.修改策略(只对主目录的策略的修改)  
  7. setsebool -P samba_enable_home_dirs=1  
  8. setsebool -P allow_smbd_anon_write=1  
  9. getsebool 查看  
  10. samba_enable_home_dirs -->on  
  11. allow_smbd_anon_write --> on  

另外还有一种方式,据说是禁止selinux对samba进程的守护,暂时木有试出来。 

六、设置samba服务开机启动 
参考连接http://www.linuxidc.com/Linux/2009-04/19544.htm 
方式1:运行ntsysv命令,在图形界面设置smb进程开机启动 
方式2:在控制台输入 chkconfig --level 5 smb on 

这个是最简单的使用方式,复杂点的内容后面再介绍~~
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值