samba共享 

主要依靠tcp协议  端口号 137 138 139

功能:实现Linux和Windows之间的数据共享 (数据同步,可以分享已挂载的目录)目录不可以删除,文件不可以修改,但可以删除也可以添加新的文件

实验准备 redhat7 windows2007

服务器端 linux系统

安装程序包 Samba Samba-client

客户端 linux系统

安装程序包 Samba-client

服务器端制作共享文件目录 设置安全权限

mkdir /mnt/read

mkdir /mnt/write

mkdir /mnt/linuxwrite

chmod 777 /mnt/read

chmod 777 /mnt/write

chmod 777 /mnt/linuxwrite

给目录添加文件

echo "77777777" >/mnt/read/f1

echo "77777777" >/mnt/write/f2

echo "77777777" >/mnt/linuxwrite/f3

修改配置文件,设置共享

vim /etc/samba/smb.conf

[read]         共享名(windows中能看到的文件夹的名字)

comment = public read 对共享的注释

path = /mnt/read    指定共享目录绝对路径

public = yes     是否允许guest用户问

writable = no     设置写权限

printable = no    设置打印权限

write list = aix    给予列表赋予写权限


[write]

comment = pubilc write

path = /mnt/write

public = yes

writable = yes


[linuxwrite]

comment = linuxwrite

path = /mnt/linuxwrite

public = yes

writable = no

write list = aix

保存退出

重启服务

#systemctl restart smb

#systemctl status smb


客户端 linux

登入方式

smbclient -L //server_ip 查看服务器端的共享资源

smbclient //server_ip/共享名

smbclient //server_ip/共享名 —U 用户名,指定用户登录,使用指定用户的密码登录

上传put 下载get

多个上传mput 多个下载mget

退出 exit

挂载方式访问 只有root用户可以进行挂载

安装程序包cifs-utils

mkdir /mnt/write1

mount.cifs //192.168.10.2/write /mnt/write


客户端windows系统

windows 访问Linux服务器

要求:samba服务器中登陆的用户必须是在系统中存在的实体用户,而且这些用户必须加入到samba列表中 smbpasswd -a 用户名

创建samba用户

#smbclient -a 所要添加的用户

例:#smbclient -a root

   #smbclient -a aix 

建议:系统密码不要与samba密码设置成一置的

登入共享

cmd \\ 192.168.10.1 服务器端的IP地址


服务器端特殊权限设置

vim /etc/samba/smb.conf

(1)valid users = 用户名或组名    只允许某一些用户或某些组访问共享

   例:valid users = aix sy

   valid users = +zu1/@zu1      只允许组1中的组成员访问

(2)invalid users = 用户名       拒绝某些用户登陆访问共享

(3)host allow = ip/主机名/网络段  只允许哪个IP地址的客户端访问,其中网络段必须跟掩码位数

(4)host deny = ip/主机名/网络段   拒绝哪些客户端访问


例子:

Linux服务器新建共享目录blue 组1 中有成员user1 user2 user3

要求:root用户不允许访问共享

      组1成员都能访问 user2 外

      组1成员只有user3有共享有写权限

      允许10.0 整个网络段访问服务器 10.100除外

创建用户

useradd user1 user2 user3

创建用户组

groupadd -g zu1

指定用户组

usermod -G zu1 user1    

usermod -G zu1 user2     

usermod -G zu1 user3

修改配置文件 vim /etc/samba/smb.conf 

[blue]

comment=write

path = /mnt/blue

public = yes

writable = yes

write list = user3

valid users=zu1

invalid users=root

invalid users=user2

host allow = 192.168.10.0/24

host deny =192.168.10.100