Samba原理和配置

时间:2022-12-02 22:40:22

Samba原理和配置

个人原创,转载请注明,否则追究法律责任。

一,原理及安装

1,Samba是在Linux和UNIX系统上实现在局域网上共享文件一种通信协议,它为局域网内的不同计算机之间提供文件等资源的共享服务。

2,Samba访问控制机制:两重限制:操作系统本身的文件属性的限制和smb的访问列表的限制。

Samba原理和配置

Samba原理和配置

第二栏:多少档名连结到此节点(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客户机之间的对话,验证用户身份并提供对文件系统的访问,

Samba原理和配置

NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。

Samba原理和配置

windows端可以关闭防火墙,排除影响

关闭selinux

防火墙设置:

规划:

开启tcp的长连接

开启ssh连接22端口

开启smb连接的139端口

开启ping功能的ICMP协议

查看端口:

Samba原理和配置

[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

Samba原理和配置

保存防火墙规则:

[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]#

Samba原理和配置

Samba原理和配置二,配置

1,规划:

Samba原理和配置Samba原理和配置Samba原理和配置Samba原理和配置Samba原理和配置Samba原理和配置Samba原理和配置Samba原理和配置

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】