热门标签 | HotTags
当前位置:  开发笔记 > 开发工具 > 正文

Samba安装测试详解

Samba安装测试详解samba-clienti386samba-commoni386sambai386samba-swati3861、安装软件包yuminstallsamba*-y配置目录etcsambamansmbconfvimetcsambasmbconf[global]
Samba安装测试详解
 
samba-client.i386
samba-common.i386
samba.i386
samba-swat.i386
 
1、安装软件包
# yum install samba* -y
 
 
配置目录 /etc/samba
 
man smb.conf
 
# vim /etc/samba/smb.conf
 
[global]
        workgroup = MYGROUP
        server string = Samba Server Version %v
        security = user
        passdb backend = tdbsam
        load printers = yes
        cups optiOns= raw
 
 
[homes]
        comment = Home Directories
        browseable = no
        writable = yes
[printers]
        comment = All Printers
        path = /var/spool/samba
        browseable = no
        guest ok = no   # <--- yes匿名可以访问,no拒绝匿名访问
        writable = no   # <--- yes 资源可以写,no只读
        printable = yes
 
 
[share]
comment = This is rhce testing
path = /common
browseable = yes #<---让资源可见
hosts allow = .example.com  # <---只允许example.com域下的用户访问
valid users = user1  # <---该资源只对user1用户有效,别的用户不能访问
writable = yes  # <--资源可写
 
 
2、创建目录并且修改selinux上下文
 
# mkdir /common
# chmod 775 /common
 
 
# chcon -R -t samba_share_t /common
# setsebool -P samba_export_all_ro on
或者
# setsebool -P samba_export_all_rw on
 
 
3、创建samba独立的帐号
注意:这些帐号必须是系统上本身就拥有的帐号
 
[  useradd user1  ]
 
 
# smbpasswd --help
 
 
# smbpasswd  -a user1 <---添加user1到smb专用的帐号数据文件里
 
4、设定iptables
samber有两个进程:
nmbd 137 , 138
smbd 139 , 445
 
 
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 137,138,139,445 -j ACCEPT
iptables -A INPUT -p udp -m multiport --dports 137,138,139,445 -j ACCEPT
5、测试
# service smb restart
 
 
# smbclient -L //192.168.0.249 -U user1  <--列出可以访问的资源
# smbclient //192.168.0.249/share -U user1 <--访问名字叫share的资源
 
如果共享的目录是公共的目录,也就是该目录也被别的服务共享,selinux上下文这样设定:
# chcon -t public_content_t /common
# chcon -t public_content_rw_t /common/pub
 
总结:
如果/common目录被nfs,vsftp,samba同时共享出去
selinux设定:
如果要求对该目录有写的权限:
chcon -R -t public_content_rw_t /common
如果是只读:
chcon -R -t public_content_t /common
 
 
文件系统权限:
如果要求对该目录有写的权限:
chmod 775 /common
chown root:XXXX /common   《--XXXX代表通过samba在该目录写文件的哟用户所在的组
 
iptables设定(samba,nfs,ftp):
 
modprobe ip_conntrack_ftp  <---非常重要
echo "modprobe ip_conntrack_ftp"  >> /erc/rc.d/rc.local
 
 
 
iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 20,21,137,138,139,445,875,32803,32769,892,662,2020,111,2049 -j ACCEPT
 
 
iptables -P INPUT DROP
 
 
练习:
 
 
1、通过samba共享/common目录,要求不允许t113.org域的所有用户访问。只允许user2访问该资源
 
[share]
comment = "test"
path = /common
hosts deny = .t113.org
valid users = user2
 
useradd user2
smbpasswd -a user2
 
2、分别通过smbclient访问用户的家目录资源,测试是否支持上传等操作
给我找到和samba家目录有关的selinux布尔值设定
getsebool 命令 找到
# getsebool  -a | grep samba
samba_domain_controller --> off
samba_enable_home_dirs --> off  《-----
samba_export_all_ro --> off
samba_export_all_rw --> on
samba_share_nfs --> off
use_samba_home_dirs --> off  《-----
virt_use_samba --> off
 
 
setsebool -P samba_enable_home_dirs=1
setsebool -P use_samba_home_dirs=1
 
3、通过samba共享/share目录,要求所有人都可以访问,而且匿名也可以访问,并且匿名也可以上传文件。
 
 
[pub]
comment = "Public source"
path = /share
guest ok = yes
browseable = yes
writable = yes
 
 
# chcon -t public_content_rw_t /share/
 
 
还需设定目录权限和selinux策略
chmod 777 /share
setsebool -P allow_smbd_anon_write=1
 
 
测试
# smbclient -L //192.168.0.249
# smbclient  //192.168.0.249

推荐阅读
  • 默认情况下,Git 使用 Nano 编辑器进行提交信息的编辑,但如果您更喜欢使用 Vim,可以通过简单的配置更改来实现这一变化。本文将指导您如何通过修改全局配置文件来设置 Vim 作为默认的 Git 提交编辑器。 ... [详细]
  • 在中标麒麟操作系统上部署达梦数据库及导入SQL文件
    本文档详细介绍了如何在中标麒麟操作系统上安装达梦数据库,并提供了导入SQL文件的具体步骤。首先,检查系统的发行版和内核版本,接着创建必要的用户和用户组,规划数据库安装路径,挂载安装介质,调整系统限制以确保数据库的正常运行,最后通过图形界面完成数据库的安装。 ... [详细]
  • 本文详细介绍了如何在ARM架构的目标设备上部署SSH服务端,包括必要的软件包下载、交叉编译过程以及最终的服务配置与测试。适合嵌入式开发人员和系统集成工程师参考。 ... [详细]
  • flea,frame,db,使用,之 ... [详细]
  • 1、什么是过滤器管道使用竖线(|)将两个命令隔开,竖线左边命令的输出就会作为竖线右边命令的输入。连续使用竖线表示第一个命令的输出会作为第二个命令的输入,第二个命令的输出又会作为第三个命令的输入, ... [详细]
  • 在Ubuntu 16.10 (x86) 上安装 WordPress 4.7.115
    本文介绍如何在Ubuntu 16.10 (x86) 系统上安装WordPress 4.7.115,包括下载、解压、配置等步骤,确保安装过程顺利进行。 ... [详细]
  • 如何处理PHP缺少扩展的问题
    本文将详细介绍如何解决PHP环境中缺少扩展的问题,包括检查当前环境、修改配置文件以及验证修改是否生效的具体步骤,帮助开发者更好地管理和使用PHP扩展。 ... [详细]
  • 本文详细介绍了在 CentOS 7 系统中安装 Python 3.7 的步骤,包括编译工具的安装、Python 3.7 源码的下载与编译、软链接的创建以及常见错误的处理方法。 ... [详细]
  • 构建个人多节点Linux环境(CodeSheep)
    本文介绍如何通过虚拟机搭建一个多节点的Linux环境,这对于学习、实验和项目部署都具有重要意义。文章详细讲解了网络IP设置、节点间通信等关键步骤。 ... [详细]
  • Linux系统快捷键大全及使用技巧
    本文详细介绍了Linux系统中的各种快捷键,包括命令行和VIM编辑器中的常用快捷键,帮助用户提高操作效率。同时,文章还提供了关于字体配置、软件安装等方面的实用信息。 ... [详细]
  • Ubuntu 14.04 系统安装后网卡名称修改方法
    本文介绍了在安装 Ubuntu 14.04 Server 版本后,如何将默认的网卡名称从非 eth 格式修改为传统的 eth 格式,并提供了详细的步骤和示例。 ... [详细]
  • 本文详细介绍了在Mac平台上安装和配置MySQL的步骤,包括下载安装包、卸载MySQL以及解决命令行中找不到mysql命令的问题。 ... [详细]
  • Centos7 Tomcat9 安装笔记
    centos7,tom ... [详细]
  • 整理于2020年10月下旬:总结过去,展望未来Itistoughtodayandtomorrowwillbetougher.butthedayaftertomorrowisbeau ... [详细]
  • 本文介绍了编程语言的基本分类,包括机器语言、汇编语言和高级语言的特点及其优缺点。随后详细讲解了Python解释器的安装与配置方法,并探讨了Python变量的定义、使用及内存管理机制。 ... [详细]
author-avatar
1021365712_3a478e
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有