赞
踩
大家好,今天我们分享linux 部署Samba服务器
首先我们要知道,Samba服务器就是利用smb协议实现文件在局域网中的传输
它主要的作用: 实现Linux/Unix主机和windows主机系统的文件传输
介绍一下它的实验环境
要有一台windows 主机 ,我这里使用windows 10,作为客户端
接下来 ,配置主机环境
这是我们windows 主机的ip地址
这是我们服务器地址
[root@localhost ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.12 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:29ff:fe87:afa6 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:87:af:a6 txqueuelen 1000 (Ethernet)
RX packets 6 bytes 360 (360.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 86 bytes 9124 (8.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
测试linux主机和windows 主机的网络通信(显示没问题)
我们xshell连接一下服务器(其它的工具也可以)
测试服务器的网络:
[root@localhost ~]# ping www.baidu.com
PING www.a.shifen.com (180.101.49.11) 56(84) bytes of data.
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=1 ttl=128 time=6.21 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=2 ttl=128 time=6.43 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=3 ttl=128 time=4.03 ms
64 bytes from 180.101.49.11 (180.101.49.11): icmp_seq=4 ttl=128 time=8.72 ms
实验案例:
这就是它的案例和环境
John (总经理)
mike ,cali (市场部)
cela ,cado (工厂部)
管理员:administrator
共享名 共享目录 用户
manager /opt/manager John(rw),administrator (rw)
market /opt/marker @ marker(rw), john(ro), administrator(rw)
factory /opt/factory @ factory(rw), john(ro), administrator(rw)
测试yum源
安装Samba服务
[root@localhost ~]# yum install samba.x86_64 -y 已加载插件:fastestmirror, langpacks Loading mirror speeds from cached hostfile * base: mirrors.aliyun.com * centos-ceph-nautilus: mirrors.cn99.com * centos-nfs-ganesha28: mirrors.cn99.com * centos-openstack-train: mirrors.cn99.com * centos-qemu-ev: mirrors.cn99.com * extras: mirrors.aliyun.com * updates: mirrors.aliyun.com base | 3.6 kB 00:00:00 centos-ceph-nautilus | 3.0 kB 00:00:00 centos-nfs-ganesha28 | 3.0 kB 00:00:00 centos-openstack-train | 3.0 kB 00:00:00 centos-qemu-ev | 3.0 kB 00:00:00 docker-ce-stable | 3.5 kB 00:00:00 docker-ce-test | 3.5 kB 00:00:00 epel | 4.7 kB 00:00:00 extras | 2.9 kB 00:00:00
创建共享目录:
[root@localhost ~]# cd /opt/
[root@localhost opt]# mkdir manager market factory
这是Samba有关的文件
[root@localhost samba]# ls
lmhosts smb.conf smb.conf.example
[root@localhost samba]#
启动Samba服务
[root@localhost samba]# systemctl start smb.service
截图:
也可以观察它的状态:
[root@localhost samba]# systemctl status smb.service ● smb.service - Samba SMB Daemon Loaded: loaded (/usr/lib/systemd/system/smb.service; disabled; vendor preset: disabled) Active: active (running) since 日 2022-04-17 17:14:02 CST; 1min 43s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 8161 (smbd) Status: "smbd: ready to serve connections..." Tasks: 4 Memory: 27.3M CGroup: /system.slice/smb.service ├─8161 /usr/sbin/smbd --foreground --no-process-group ├─8166 /usr/sbin/smbd --foreground --no-process-group ├─8167 /usr/sbin/smbd --foreground --no-process-group └─8168 /usr/sbin/smbd --foreground --no-process-group 4月 17 17:14:00 localhost.localdomain systemd[1]: Starting Samba SMB Daemon... 4月 17 17:14:02 localhost.localdomain smbd[8161]: [2022/04/17 17:14:02.218556, 0] ../../lib/util/become_daemon.c:136(daemon_ready) 4月 17 17:14:02 localhost.localdomain smbd[8161]: daemon_ready: daemon 'smbd' finished starting up and ready to serve connections 4月 17 17:14:02 localhost.localdomain systemd[1]: Started Samba SMB Daemon. [root@localhost samba]#
配置Samba服务开机自启动
[root@localhost samba]# systemctl enable smb.service
Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
[root@localhost samba]#
创建文件
[root@localhost opt]# cd factory/
[root@localhost factory]# touch factory
[root@localhost factory]# cd ../manager
[root@localhost manager]# touch manager
[root@localhost manager]# cd ../market/
[root@localhost market]# touch market
[root@localhost market]# ls
market
给权限
[root@localhost market]# cd ..
[root@localhost opt]# chm
chmem chmod
[root@localhost opt]# chmod -R 777 *
创建用户
[root@localhost opt]# useradd john
[root@localhost opt]# useradd mike
[root@localhost opt]# useradd celi
[root@localhost opt]# useradd cali
[root@localhost opt]# useradd kado
[root@localhost opt]# useradd cela
[root@localhost opt]# useradd administrator
创建组
[root@localhost opt]# groupadd market
[root@localhost opt]# groupadd factory
用户·加组
[root@localhost opt]# gpasswd -a mike market
正在将用户“mike”加入到“market”组中
[root@localhost opt]# gpasswd -a cali market
正在将用户“cali”加入到“market”组中
[root@localhost opt]# gpasswd -a cela factory
正在将用户“cela”加入到“factory”组中
[root@localhost opt]# gpasswd -a kado factory
正在将用户“kado”加入到“factory”组中
转化本地用户为smb用户
[root@localhost opt]# smbpasswd -a john New SMB password: Retype new SMB password: Added user john. [root@localhost opt]# smbpasswd -a mike New SMB password: Retype new SMB password: Added user mike. [root@localhost opt]# smbpasswd -a cali New SMB password: Retype new SMB password: Added user cali. [root@localhost opt]# smbpasswd -a cela New SMB password: Retype new SMB password: Added user cela. [root@localhost opt]# smbpasswd -a kado New SMB password: Retype new SMB password: Added user kado. [root@localhost opt]# smbpasswd -a administrator New SMB password: Retype new SMB password: Added user administrator.
编辑Samba配置文件
[root@localhost ~]# vim /etc/samba/smb.conf
下面就是Samba服务的配置文件内容
# 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 = SAMBA security = user passdb backend = tdbsam printing = cups printcap name = cups load printers = yes cups options = raw [homes] comment = Home Directories valid users = %S, %D%w%S browseable = No read only = No inherit acls = Yes [printers] comment = All Printers path = /var/tmp printable = Yes create mask = 0600 browseable = No [print$] comment = Printer Drivers path = /var/lib/samba/drivers write list = @printadmin root force group = @printadmin create mask = 0664 directory mask = 0775
做有效信息过滤
[root@localhost ~]# grep -v "^#" /etc/samba/smb.conf >/etc/samba/smb.conf.bak
[root@localhost ~]# vim /etc/samba/smb.conf.bak
这些都是有效信息
[global] workgroup = SAMBA security = user passdb backend = tdbsam printing = cups printcap name = cups load printers = yes cups options = raw [homes] comment = Home Directories valid users = %S, %D%w%S browseable = No read only = No inherit acls = Yes [printers] comment = All Printers path = /var/tmp printable = Yes create mask = 0600 browseable = No [print$] comment = Printer Drivers path = /var/lib/samba/drivers write list = @printadmin root force group = @printadmin create mask = 0664 directory mask = 0775
在.bak文件中添加以下的信息,以满足本次实例的需要
[manager] comment = manager guanli path = /opt/manager valid users = john,administrator writable = yes [market] comment =market guanli path = /opt/market valid users = @market,john,administrator writable = no write list = @market,administrator [factory] comment =factory guanli path = /opt/factory valid users = @market,john,administrator writable = no write list = @factory,administrator
这样写:
这样做
[root@localhost ~]# cd /etc/samba/
[root@localhost samba]# ls
lmhosts smb.conf smb.conf.bak smb.conf.example
[root@localhost samba]# mv smb.conf.bak smb.conf
mv:是否覆盖"smb.conf"? y
[root@localhost samba]#
重启服务
[root@localhost samba]# systemctl restart smb
观察它的状况:
(以下是正常的)
[root@localhost samba]# systemctl status smb ● smb.service - Samba SMB Daemon Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled; vendor preset: disabled) Active: active (running) since 一 2022-04-18 14:33:35 CST; 56s ago Docs: man:smbd(8) man:samba(7) man:smb.conf(5) Main PID: 4813 (smbd) Status: "smbd: ready to serve connections..." Tasks: 4 CGroup: /system.slice/smb.service ├─4813 /usr/sbin/smbd --foreground --no-process-group ├─4815 /usr/sbin/smbd --foreground --no-process-group ├─4816 /usr/sbin/smbd --foreground --no-process-group └─4817 /usr/sbin/smbd --foreground --no-process-group 4月 18 14:33:34 localhost.localdomain systemd[1]: Starting Samba SMB Daemon... 4月 18 14:33:35 localhost.localdomain smbd[4813]: [2022/04/18 14:33:35.516674, 0] ../../lib/util/become_daemon.c:136(daemon_ready) 4月 18 14:33:35 localhost.localdomain smbd[4813]: daemon_ready: daemon 'smbd' finished starting up and ready to serve connections 4月 18 14:33:35 localhost.localdomain systemd[1]: Started Samba SMB Daemon. [root@localhost samba]#
使用客户端进行访问
win键+r键
用户名:administrator(这是我们自己设置的Samba服务的管理员)
密码: 123(这是我们自己设置的)
登录
administrator 管理员用户在这里是不受任何限制的
接下来,在cmd 窗口当中删除刚才共享的缓存数据
C:\Users\Administrator>net use * /delete
你有以下的远程连接:
\\192.168.1.12\IPC$
继续运行会取消连接。
你想继续此操作吗? (Y/N) [N]: y
命令成功完成。
C:\Users\Administrator>
换一下用户
一样进来了
john用户在manager 这个文件当中是可以的
(有写入权限)
而在这个文件夹当中只可以看。不可以写(权限不够)
再次删除用户的缓存数据
C:\Users\Administrator>net use * /delete
你有以下的远程连接:
\\192.168.1.12\IPC$
继续运行会取消连接。
你想继续此操作吗? (Y/N) [N]: y
命令成功完成。
使用Mike用户登录
mike可以进入到自己的目录
Mike无法进入
mike对于自己的部门只有看的权限
在自己的文件夹中可以有读写权限
好了,有关于Linux部署Samba服务就到这里了,谢谢大家
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。