Samba原理和配置
个人原创,转载请注明,否则追究法律责任。
一,原理及安装
1,Samba是在Linux和UNIX系统上实现在局域网上共享文件一种通信协议,它为局域网内的不同计算机之间提供文件等资源的共享服务。
2,Samba访问控制机制:两重限制:操作系统本身的文件属性的限制和smb的访问列表的限制。
第二栏:多少档名连结到此节点(i-node) 文件的连接数
第三栏:文件(或目录)的拥有者
第四栏:文件的所属群组
第五栏:文件的容量大小(默认单位为bytes)
第六栏:最近的修改日期
3,Samba的安装及环境搭建(硬件,软件环境)
Samba运行由两个服务组成,为smb和nmb。
安装:
yum -y install samba
service smb start
chkconfig smb on
chkconfig --list |grep smb
SMB,监听139 TCP端口,SMB是Samba 的核心启动服务,主要负责建立 Linux Samba服务器与Samba客户机之间的对话,验证用户身份并提供对文件系统的访问,
NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。
windows端可以关闭防火墙,排除影响
关闭selinux
防火墙设置:
规划:
开启tcp的长连接
开启ssh连接22端口
开启smb连接的139端口
开启ping功能的ICMP协议
查看端口:
[root@localhost ~]# service iptables status
[root@localhost ~]# service iptables start
iptables: Applying firewall rules: [ OK ]
[root@localhost ~]# iptables -L
将默认的INPUT链的规则设置成DORP
[root@localhost ~]# iptables -P INPUT DROP
[root@localhost ~]# iptables -L -n --line-number
将多余的INPUT链的规则删掉
[root@localhost ~]# iptables -D INPUT 3
[root@localhost ~]# iptables -D INPUT 3
[root@localhost ~]# iptables -D INPUT 3
[root@localhost ~]# iptables -L -n --line-number
添加22,139端口为允许端口
[root@localhost ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT
[root@localhost ~]# iptables -A INPUT -p tcp --dport 139 -j ACCEPT
[root@localhost ~]# iptables -L -n --line-number
保存防火墙规则:
[root@localhost ~]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
检验:
[root@localhost ~]# cat /etc/sysconfig/iptables
[root@localhost ~]# yum -y install httpd
[root@localhost ~]# service httpd start
Starting httpd: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain for ServerName
[ OK ]
其他机器验证:
[root@shiyan tomcat1]# ping 192.168.115.81
[root@shiyan tomcat1]# ssh 192.168.115.81
[root@shiyan tomcat1]# nc -v -w 2 192.168.115.81 -z 139
-bash: nc: command not found
[root@shiyan tomcat1]# yum -y install nc
[root@shiyan tomcat1]# nc -v -w 2 192.168.115.81 -z 139
[root@shiyan tomcat1]# nc -v -w 2 192.168.115.81 -z 80
nc: connect to 192.168.115.81 port 80 (tcp) timed out: Operation now in progress
[root@shiyan tomcat1]# nc -v -w 2 192.168.115.81 -z 22
Connection to 192.168.115.81 22 port [tcp/ssh] succeeded!
[root@shiyan tomcat1]#
二,配置
1,规划:
2,操作
添加用户:
useradd -s /sbin/nologin jsadmin
useradd -s /sbin/nologin kfadmin
useradd -s /sbin/nologin -g jsadmin zhangsan
useradd -s /sbin/nologin -g jsadmin lisi
useradd -s /sbin/nologin -g kfadmin wangwu
useradd -s /sbin/nologin -g kfadmin zhaoliu
新建共享目录
mkdir /data
cd /data
mkdir jishubu ulian
chmod -R 777 /data
chown -R ulian:ulian ulian
chown -R jishubu:jishubu jishubu
ll
vim /etc/samba/smb.conf
samba配置:
[技术部]
comment = this directory is used for ulian group ---------------------------- 描述
path = /data/jishubu ----------------------------------------------------------- 对应的工作目录路径
public = no ------------------------------------------------------------------ 无口令账号不允许访问共享资源
admin users = ulian ------------------------------------------------------------ 管理员账号
valid users = @ulian ------------------------------------------------------------ 成员账号
writable = yes ----------------------------------------------------------------- 是否可写
create mask = 0770 ----------------------------------------------------------- 成员创建文件的权限
directory mask = 0770 --------------------------------------------------------- 成员创建目录的权限
service smb restart
smbpasswd -a zhang
smbpasswd -a san
smbpasswd -a li
smbpasswd -a si
改进:
chmod -R 1777 /data 同组用户可以修改,不能删除
vim /etc/samba/smb.conf ----- 用户登录后不显示自己的家目录文件夹
注释掉【home】