一. 配置文件
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.
[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = centos
security = user
map to guest = bad user
dns proxy = no
#============================ Share Definitions ==============================
[share]
path = /home/share
browsable =yes
writable = yes
guest ok = yes
[homes]
comment = Home Directories
browseable = yes
writable = yes
valid users = %S
; read only = No
; valid users = MYDOMAIN\%S
二. 安装Samba服务器配置攻略
以下以root用户执行
1、安装:
# yum install samba samba-client -y
2、设置开机启动:
# systemctl enable smb.service
3、查看是否设置成功
# systemctl status smb.service
smb.service - Samba SMB Daemon
Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled)
Active: inactive (dead)
4、启动samba服务
# systemctl start smb.service
5、再次查看启动状态
# systemctl status smb.service
● smb.service - Samba SMB Daemon
Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled; vendor preset: disabled)
Active: active (running) since 二 2018-02-06 13:52:06 CST; 21h ago
Main PID: 10848 (smbd)
Status: "smbd: ready to serve connections..."
CGroup: /system.slice/smb.service
├─10848 /usr/sbin/smbd
├─10849 /usr/sbin/smbd
├─10850 /usr/sbin/smbd
└─10851 /usr/sbin/smbd
6、配置配置文件
进入目录:
# cd /etc/samba
备份:
# cp smb.conf smb.conf.bak
修改smb.conf文件,找到“[homes]”,修改以下设置:
[homes]
comment = Home Directories
browseable = no
writable = yes
#(最新版本的smb加入此项可能出现无法启动情况,故去掉20180207)
;# valid users = %S
;# valid users = MYDOMAIN\%S
=====================================================
补充:
发现直接从windows拷进去的文件,都会有执行的权限
权限最好不要在smb.conf里面设置,直接设置文件夹和文件的权限是个好的选择,不然后面会出现问题
====================================================
7、添加用户
ps: samba用户必须是系统用户,先建系统用户,然后再建samba用户.
# smbpasswd -a username
如果出现bash: smbpasswd: command not found,就是没有安装samba-client了
附:smbpasswd命令的常用方法smbpasswd -a 增加用户(要增加的用户必须以是系统用户)
smbpasswd -d 冻结用户,就是这个用户不能在登录了
smbpasswd -e 恢复用户,解冻用户,让冻结的用户可以在使用smbpasswd -n 把用户的密码设置成空. 要在global中写入 null passwords -truesmbpasswd -x 删除用户
8、selinux设置
# setsebool -P samba_enable_home_dirs on
9、防火墙,使用新的防火墙firewall添加就可以,比iptables更方便
# firewall-cmd --list-services
# firewall-cmd --permanent --add-service=samba
# firewall-cmd --reload
# firewall-cmd --list-services
由于redhat7开始,iptables被firewalld代替了,所以使用firewalld的方法
关于firewalld的说明,可以看fedora官网介绍
https://fedoraproject.org/wiki/FirewallD/zh-cn
10、重启samba服务
# systemctl restart smb.service
三. iptables配置
1、 在对待iptables的问题上:
普通青年:直接在命令行敲…
service iptables stop。
文艺青年:依次在命令行敲…
iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 137 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 138-j ACCEPT
iptables-save
service iptables restart
2、 同样,在对在selinux的问题上:
普通青年:直接在命令行敲…
setenforce 0
vi /etc/selinux/config
将SELINUX=enforcing改为SELINUX=disabled为开机重启后不再执行setenfore节约光阴。
文艺青年:依次在命令行敲…
setsebool -Psamba_enable_home_dirs on
setsebool -Psamba_export_all_rw on
完事儿之后再:getsebool -a | grep samba一把,你懂得…