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
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Samba是一个开源的软件套件,可以让Unix/Linux系统共享文件和打印机,与Windows系统进行文件和打印机共享。使用Samba,你可以在Unix/Linux系统上创建一个Windows兼容的文件服务器,让Windows系统用户可以方便地访问共享文件和打印机。 以下是Samba的一些基本概念和使用方法: 1. Samba服务器:Samba服务器是运行Samba软件的Unix/Linux系统,它可以作为文件服务器和打印机服务器,与Windows系统进行文件和打印机共享。 2. Samba共享:Samba共享是Samba服务器上的一个目录或文件,可以被Windows系统用户访问和共享。 3. Samba用户:Samba用户是Samba服务器上的一个用户账户,用于访问Samba共享。你需要为每个需要访问Samba共享的用户创建一个Samba用户账户,并设置相应的访问权限。 4. Samba配置文件:Samba配置文件是Samba服务器的配置文件,用于指定Samba共享和Samba用户等信息。Samba配置文件通常位于/etc/samba/smb.conf。 5. Samba客户端:Samba客户端是运行Windows系统的电脑,可以访问Samba共享和打印机。 以下是一些基本的Samba命令: 1. 安装Samba软件: ``` sudo apt-get update sudo apt-get install samba ``` 2. 创建Samba用户账户: ``` sudo smbpasswd -a username ``` 其中,username是要创建的Samba用户账户。 3. 修改Samba配置文件: ``` sudo nano /etc/samba/smb.conf ``` 在文件中添加Samba共享的配置信息,如下所示: ``` [share-name] comment = My Samba Share path = /path/to/share browsable = yes read only = no guest ok = no valid users = username ``` 其中,share-name是Samba共享的名称,comment是Samba共享的注释,path是Samba共享的路径,browsable指定Samba共享是否可浏览,read only指定Samba共享是否只读,guest ok指定是否允许访客访问该共享,valid users指定可以访问该共享的Samba用户。 4. 重启Samba服务: ``` sudo service smbd restart ``` 5. 在Windows系统中访问Samba共享: 打开Windows资源管理器,输入Samba服务器的IP地址或主机名,例如: ``` \\192.168.0.100 ``` 或者: ``` \\samba-server ``` 其中,192.168.0.100是Samba服务器的IP地址,samba-server是Samba服务器的主机名。然后,输入Samba用户账户和密码,即可访问Samba共享。 在使用Samba时,需要注意安全问题,避免未授权用户访问Samba共享。你可以在Samba配置文件中设置相应的安全选项,以保护Samba共享的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值