一:了解Samba服务
1:samba服务的概念
就是实现了多系统,就是windows,linux这些系统上实现了cifs/smb协议的自由软件,基于这个的出现,更容易的实现了linux和windows之间的文件共享和打印机的共享
在windows上叫cifs,在Linux上叫smb
2:samba的功能
2个核心的守护进程,nmbd,smbd
nmbd进程:NetBLOS名称服务器进程,主要就是让客户端能够通过域名解析来访问samba服务器,还有就是提供文件资源列表
smbd进程:SMB服务进程,管理samba服务器上的共享目录,打印机等,实现网络上的资源共享,监听的端口 139。445
3:samba的工作原理
等会写
二:熟悉Samba服务的配置文件
1:配置文件/etc/samba/smb.conf
里面分为全局设置和局部设置
全局设置就是对整个服务的配置文件起作用的设置
1)全局设置
[global] workgroup = SAMBA security = user passdb backend = tdbsam printing = cups printcap name = cups load printers = yes cups options = raw
重要的参数:
[global] 就是全局设置 workgroup = SAMBA 就是工作组(一般不改这个配置,samba服务器加入的工作域的名称) security = user 设置安全的验证方式 user:就是允许系统用户访问samba服务器,需要提供用户名和密码,必须是samba账户 匿名方式:就是不需要输入账户和密码,设置为 security = user map to guest = bad user ,自动的将未知用户映射为guest用户 domain:就是windows asa:就是windows的活动目录
passdb backend 用于存储samba用户账号的相关信息的后台类型 取值的类型: 1:smbpasswd 存储在/var/lib/samba/private/smbpasswd这个文件中。客户端通过这个用户的信息就能访问samba服务器的资源 2:tdbsam 就是存放在 passdb.tdb这个文件里面 使用smbpasswd或者pdbedit来创建samba用户的账号和密码 格式如下: smbpasswd -a 用户名 ---添加用户名 smbpasswd -x 用户名 ---删除用户名 pdbedit -a 用户名 -x 用户名 -L 列出Samba的账号 Lv 就是列出详细的信息
三:Samba服务的搭建
主要的流程:安装---
目的就是实现q7和q8这个用户能够通过linux和windows去访问samba服务器上的资源,拥有读写的权限
服务器上面的操作:
1:安装samba软件包
[root@controller samba]# yum -y install samba*
2:启动这个软件并且设置为开机自启
[root@controller samba]# systemctl start nmb && systemctl start smb [root@controller samba]# systemctl enable nmb && systemctl enable smb Created symlink /etc/systemd/system/multi-user.target.wants/nmb.service → /usr/lib/systemd/system/nmb.service. Created symlink /etc/systemd/system/multi-user.target.wants/smb.service → /usr/lib/systemd/system/smb.service. [root@controller samba]#
3:创建samba用户
[root@controller /]# smbpasswd -a q7 New SMB password: Retype new SMB password: Added user q7. [root@controller /]# [root@controller /]# smbpasswd -a q8 New SMB password: Retype new SMB password: Added user q8. [root@controller /]#
groupadd kk usermod -G kk q7 usermod -G kk q8 cat /etc/group | grep kk #添加写的权限 [root@controller samba-share]# ll -d drwxr-xr-x. 2 root kk 18 Nov 15 22:00 . [root@controller samba-share]# chmod g+w ./ [root@controller samba-share]# ll -d drwxrwxr-x. 2 root kk 18 Nov 15 22:00 . [root@controller samba-share]#
4:配置samba服务的配置文件
[public] comment = public directory path = /samba-share browseable = yes writable = yes valid users = @kk #public 这个就是共享文件共享出去的共享名 browseable:是否允许被浏览
5:检查samba服务的配置文件的格式
[root@controller /]# testparm Load smb config files from /etc/samba/smb.conf Loaded services file OK. Weak crypto is allowed Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions # Global parameters [global] printcap name = cups security = USER workgroup = SAMBA idmap config * : backend = tdb cups options = raw [homes] browseable = No comment = Home Directories inherit acls = Yes
6:重启nmb和smb服务
[root@controller /]# systemctl restart nmb [root@controller /]# systemctl restart smb [root@controller /]#
7:关闭selinux和防火墙
[root@controller samba-share]# systemctl stop firewalld [root@controller samba-share]# systemctl disable firewalld Removed /etc/systemd/system/multi-user.target.wants/firewalld.service. Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. [root@controller samba-share]# setenforce 0 [root@controller samba-share]# getenforce Permissive [root@controller samba-share]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled) Active: inactive (dead) Docs: man:firewalld(1) Nov 15 21:19:54 controller systemd[1]: Starting firewalld - dynamic firewall daemon... Nov 15 21:19:55 controller systemd[1]: Started firewalld - dynamic firewall daemon. Nov 15 21:19:55 controller firewalld[1054]: WARNING: AllowZoneDrifting is enabled. This is considered an insecure co> Nov 15 22:08:58 controller systemd[1]: Stopping firewalld - dynamic firewall daemon... Nov 15 22:08:59 controller systemd[1]: firewalld.service: Succeeded. Nov 15 22:08:59 controller systemd[1]: Stopped firewalld - dynamic firewall daemon. [root@controller samba-share]#
客户端上面的操作:
1:安装samb-client软件包
[root@client yum.repos.d]# yum -y install smb-client
linux访问的操作:
1)访问共享资源的列表
[root@client yum.repos.d]# smbclient -L 192.168.20.111 -U q7 Enter SAMBA\q7's password: Sharename Type Comment --------- ---- ------- print$ Disk Printer Drivers public Disk public directory IPC$ IPC IPC Service (Samba 4.13.3) q7 Disk Home Directories SMB1 disabled -- no workgroup available [root@client yum.repos.d]#
2)登陆samba服务器
[root@client yum.repos.d]# smbclient //192.168.20.111/public -U q7 Enter SAMBA\q7's password: Try "help" to get a list of possible commands. smb: \> ls . D 0 Wed Nov 15 22:00:40 2023 .. D 0 Wed Nov 15 21:57:25 2023 flag N 0 Wed Nov 15 22:00:40 2023 16250880 blocks of size 1024. 11336596 blocks available smb: \> mkdir 11 smb: \> ls . D 0 Wed Nov 15 22:12:26 2023 .. D 0 Wed Nov 15 21:57:25 2023 flag N 0 Wed Nov 15 22:00:40 2023 11 D 0 Wed Nov 15 22:12:26 2023 16250880 blocks of size 1024. 11336548 blocks available smb: \>
3)挂载
windows访问操作:
在网络上输入 \\192.168.20.111就能够访问了
并且拥有权限去修改文件
四:问题
就是如果服务的配置文件名没有问题,一直看不到这个服务的相关的信息,那就是selinux没有或者防火墙这些操作没有关闭,就没有显示
标签:samba,服务,controller,15,Nov,root,smb From: https://www.cnblogs.com/qm77/p/17833590.html