服务器信息

IP Hostname
172.16.1.10 Server
172.16.1.11 client

匿名访问

服务端配置

安装Samba

1
yum -y install samba

修改配置文件

1
2
3
4
5
6
7
8
9
10
11
12
vi /etc/samba/smb.conf
修改:
[global]
workgroup = WORKGROUP //属于WORKGROUP工作组的主机都可以访问samba共享的文件
添加:
map to guest = bad user
在文件最后添加:
[one] # 共享名
comment = this is my firest share file
path = /one # 共享目录,与共享名相同
writable = yes # 写入权限
guest ok = yes # 允许匿名访问

放行防火墙

1
2
systemctl stop firewalld
setenforce 0

创建共享目录并给与权限

1
2
mkdir /one
chmod -R 777 /one

启动服务

1
systemctl start smb

客户端配置

安装客户端软件

1
yum -y install samba-client

客户端关闭防火墙

1
2
systemctl stop firewalld
setenforce 0

客户端访问

1
2
smbclient //172.16.1.10/one
smb:>

//172.16.1.10是服务器的IP地址,
one是在服务器配置文件里写的共享模块的名字
提示输入用户的密码,因为这里是匿名访问,所以不需要输入,直接回车。

挂载访问方式

1
2
mkdir /test
mount -t cifs //172.16.1.10/one /test

//将服务器共享的目录挂载到客户端本地,-t cifs指定共享目录的文件系统类型,将服务端的one这个共享模块对应的目录挂载到本地/test,此时共享目录与/test目录可以实现数据同步。

用户访问

服务端

修改smb的配置文件

1
2
3
4
5
6
7
8
vi /etc/samba/smb.conf
[global]
workgroup = WORKGROUP
在文件末尾添加:
[zx]
path = /zx
writable = yes # 允许写入
valid user = ls,zs # 允许访问的用户名

创建共享的目录并提权

1
2
mkdir /zx
chmod -R 777 /zx

创建允许访问的用户并设置密码

1
2
3
4
useradd ls
useradd zs
echo "as1a2nf3" | passwd --stdin ls
echo "as1a2nf3" | passwd --stdin zs

重启服务

1
systemctl restart smb

放行防火墙

1
2
systemctl stop firewalld
setenforce 0

客户端

放行防火墙

1
2
systemctl stop firewalld
setenforce 0

访问

1
smbclient -U {用户名} //{服务器IP}/{服务器共享的模块名}

挂载访问方式

1
2
mkdir /qwe
mount -t cifs //{服务器IP}/{服务器共享的模块名} -o user=ls,password=as1a2nf3 /{挂载到的目录}