Samba服务器基础搭建
环境:两台rockyLinux虚拟机,yum仓库与时钟同步均已配置完成,firewalld与selinux均以关闭;server作为服务器端,client作为客户端。
一、Samba服务器简介 samba通过两个服务来控制管理工作组和samba主机共享的目录,分别是:
nmbd:这个服务是来管理工作组、NetBIOS Name等的解析。主要利用UDP协议开启port137、port138来负责名称解析的任务。
smbd:这个服务的主要功能是用来管理samba主机共享的目录、文件与打印机等。主要利用可靠的TCP协议来传输数据
开放端口为139和445
二、安装Samba服务 安装samba 1 yum -y install samba samba-client
配置samba
要求: 将samba服务器端目录/smbshare共享,共享名为myshare,共享可以浏览,允许用户rose和用户marry访问 用户rose具有只读权限,marry具有读写权限 (rose和marry系统存在的用户)
在文件最后写入
1 2 3 4 5 [myshare] browseable = yes path = /smbshare valid users = rose,marry write list = marry
创建共享目录 1 2 3 4 [root@server /]# mkdir /smbshare [root@server /]# cd /smbshare/ [root@server smbshare]# mkdir test1 [root@server smbshare]# touch t1
创建服务用户 1 2 3 4 5 6 7 8 9 10 11 12 13 [root@server ~]# useradd -s /sbin/nologin marry [root@server ~]# useradd -s /sbin/nologin rose [root@server smbshare]# smbpasswd -a rose New SMB password: Retype new SMB password: Added user rose. [root@server smbshare]# smbpasswd -a marry New SMB password: Retype new SMB password: Added user marry. [root@server smbshare]# pdbedit -L rose:1002: marry:1001:
设置用户访问共享目录的权限 1 2 [root@server smbshare]# setfacl -m u:rose:r-x /smbshare [root@server smbshare]# setfacl -m u:marry:rwx /smbshare/
启动服务 1 2 3 4 [root@server smbshare]# systemctl restart smb nmb [root@server smbshare]# systemctl enable smb nmb Created symlink /etc/systemd/system/multi-user.target.wants/smb.service → /usr/lib/systemd/system/smb.service. Created symlink /etc/systemd/system/multi-user.target.wants/nmb.service → /usr/lib/systemd/system/nmb.service.
客户端验证 安装 samba-client cifs-utils包文件
1 yum -y install samba-client cifs-utils
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 [root@client ~]# smbclient -L 192.168.100.111 //匿名用户访问samba服务 Password for [SAMBA\root]: Anonymous login successful Sharename Type Comment --------- ---- ------- print$ Disk Printer Drivers myshare Disk IPC$ IPC IPC Service (Samba 4.19.4) SMB1 disabled -- no workgroup available [root@client ~]# smbclient -L 192.168.100.111 -U rose //samba用户访问samba服务 Password for [SAMBA\rose]: //这里输入rose服务用户的密码 Sharename Type Comment --------- ---- ------- print$ Disk Printer Drivers myshare Disk IPC$ IPC IPC Service (Samba 4.19.4) rose Disk Home Directories SMB1 disabled -- no workgroup available [root@client ~]# smbclient //192.168.100.111/myshare -U rose //samba用户流览samba共享资源 Password for [SAMBA\rose]: //这里输入rose服务用户的密码 Try "help" to get a list of possible commands. smb: \> smb: \> smb: \> ls . D 0 Mon Jul 22 22:47:17 2024 .. D 0 Mon Jul 22 22:47:17 2024 test1 D 0 Mon Jul 22 22:47:13 2024 t1 N 0 Mon Jul 22 22:47:17 2024 52363264 blocks of size 1024. 50600260 blocks available smb: \>
交互式挂载 1 2 3 4 5 6 7 8 9 10 11 12 [root@client ~]# mkdir /test //在客户端创建/test目录作为挂载点 [root@client ~]# mount -t cifs -o username=rose //192.168.100.111/myshare /test/ Password for rose@//192.168.100.111/myshare: [root@client ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 777M 9.0M 768M 2% /run /dev/sda3 xfs 50G 1.7G 49G 4% / /dev/sda1 xfs 960M 187M 774M 20% /boot tmpfs tmpfs 389M 0 389M 0% /run/user/0 //192.168.100.111/myshare cifs 50G 1.7G 49G 4% /test
非交互式挂载 1 2 3 4 5 6 7 8 9 10 [root@client ~]# mount -t cifs -o username=marry,password=marry,sec=ntlmssp //192.168.100.111/myshare /test/ [root@client ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 777M 9.0M 768M 2% /run /dev/sda3 xfs 50G 1.7G 49G 4% / /dev/sda1 xfs 960M 187M 774M 20% /boot tmpfs tmpfs 389M 0 389M 0% /run/user/0 //192.168.100.111/myshare cifs 50G 1.7G 49G 4% /test
下次启动生效 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 [root@client ~]# umount /test //卸载挂载 [root@client ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 777M 9.0M 768M 2% /run /dev/sda3 xfs 50G 1.7G 49G 4% / /dev/sda1 xfs 960M 187M 774M 20% /boot tmpfs tmpfs 389M 0 389M 0% /run/user/0 [root@client ~]# vim /etc/fstab //在里面最后写入 //192.168.100.111/myshare /test cifs username=rose,password=rose,sec=ntlmssp 0 0 [root@client ~]# mount -a //重新加载挂载信息 [root@client ~]# systemctl daemon-reload [root@client ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 777M 9.0M 768M 2% /run /dev/sda3 xfs 50G 1.7G 49G 4% / /dev/sda1 xfs 960M 187M 774M 20% /boot tmpfs tmpfs 389M 0 389M 0% /run/user/0 //192.168.100.111/myshare cifs 50G 1.7G 49G 4% /test
多用户挂载 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 [root@client ~]# umount /test [root@client ~]# vim /etc/fstab //在里面修改刚刚添加的信息,在username前面添加multiuser //192.168.100.111/myshare /test cifs multiuser,username=rose,password=rose,sec=ntlmssp 0 0 [root@client ~]# systemctl daemon-reload [root@client ~]# mount -a [root@client ~]# df -Th Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 4.0M 0 4.0M 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 777M 9.0M 768M 2% /run /dev/sda3 xfs 50G 1.7G 49G 4% / /dev/sda1 xfs 960M 187M 774M 20% /boot tmpfs tmpfs 389M 0 389M 0% /run/user/0 //192.168.100.111/myshare cifs 50G 1.7G 49G 4% /test [root@client ~]# su - sq //随意切换一个普通用户 [sq@client ~]$ cd /test [sq@client test]$ ls ls: cannot open directory '.': Permission denied //这里这个普通用户没有权限访问 [sq@client test]$ cifscreds add 192.168.100.111 -u marry //借用marry服务用户的权限来进行访问 Password: [sq@client test]$ ls t1 test1 [sq@client test]$ touch file2 [sq@client test]$ ls file2 t1 test1
在windows系统进行访问 在导航栏这里输入 \192.168.100.111 然后就会弹出连接,输入用户名和密码就可以了 ! 这样就可以访问了