samba服务

实现的目标:

通过samba服务将文件共享出去,能够通过linux和windows访问;还有一个就是多用户去访问

多用户访问:就是已经挂载了这个服务(有一个a账号登录了),但是还添加一个b账号,拥有的是b账号的权限,没有a账户的权限

用户a有读写的权限,用户b只有读的权限

 

samba服务搭建的流程:

1:安装软件包,创建共享文件夹

2:添加samba服务账号

3:编写samba服务配置文件

4:防火墙和selinux的设置

5:客户端访问

6:多用户访问

 

1:安装软件包和创建共享文件夹

[root@controller ~]# yum -y install samba*
[root@controller /]# mkdir samba-share
[root@controller samba-share]# touch samba-flag

#授予权限
[root@controller samba-share]# chmod o+w ./  -R 

 

2:添加samba服务账号

[root@controller /]# smbpasswd -a a
New SMB password:
Retype new SMB password:
Added user a.
[root@controller /]# smbpasswd -a b
New SMB password:
Retype new SMB password:
Added user b.
[root@controller /]# pdbedit -L
b:1003:
a:1002:
[root@controller /]# 

这个samba服务的账号必须是存在的用户名  

 

3:编写samba服务的配置文件

[root@controller samba]# vim smb.conf
[share]
        comment = samba-share
        path = /samba-share
        browseable = yes
        write list = a
        valid users = a,b

[root@controller samba]# systemctl restart smb 
[root@controller samba]# testparm  #这个命令可以检查格式是否正确

 

4:selinux和防火墙的设置

[root@controller samba]# firewall-cmd --permanent --add-service=samba
success
[root@controller samba]# firewall-cmd --reload 
success

[root@controller samba]# setsebool -P samba_domain_controller on
[root@controller samba]# setsebool -P samba_enable_home_dirs on
[root@controller samba]# setsebool -P samba_export_all_rw on
[root@controller samba]# semanage fcontext -a -t samba_share_t '/samba-share(/.*)?'
[root@controller samba]# restorecon -RFv /samba-share/

 

5:客户端访问

linux访问

#用户a去访问
[root@nodes1 /]# smbclient -L //192.168.10.110/share -U a
Enter SAMBA\a's password: 

	Sharename       Type      Comment
	---------       ----      -------
	print$          Disk      Printer Drivers
	share           Disk      samba-share
	IPC$            IPC       IPC Service (Samba 4.13.3)
	a               Disk      Home Directories
SMB1 disabled -- no workgroup available
[root@nodes1 /]# smbclient //192.168.10.110/share -U a
Enter SAMBA\a's password: 
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Thu Dec 21 20:54:44 2023
  ..                                  D        0  Thu Dec 21 20:54:36 2023
  samba-flag                          N        0  Thu Dec 21 20:54:44 2023

		16250880 blocks of size 1024. 11374148 blocks available
smb: \> 
smb: \> mkdir 11
smb: \> rd 11

#用户b去访问
[root@nodes1 /]# smbclient //192.168.10.110/share -U b
Enter SAMBA\b's password: 
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Thu Dec 21 21:25:11 2023
  ..                                  D        0  Thu Dec 21 20:54:36 2023
  samba-flag                          N        0  Thu Dec 21 20:54:44 2023

		16250880 blocks of size 1024. 11374164 blocks available
smb: \> mkdir 11
NT_STATUS_ACCESS_DENIED making remote directory \11
smb: \> 

 

证明了a用户有读写的权限,用户b没有写的权限

 

windows访问

输入\\192.168.10.110 

输入账户名和密码,就能访问了

在命令行中输入 net use * /del

 

挂载访问

[root@nodes1 /]# yum -y install cifs-utils
[root@nodes1 /]# mount -o username=a -t cifs //192.168.10.110/share /mnt
Password for a@//192.168.10.110/share:  ****
[root@nodes1 /]# df -hT
Filesystem             Type      Size  Used Avail Use% Mounted on
devtmpfs               devtmpfs  946M     0  946M   0% /dev
tmpfs                  tmpfs     976M     0  976M   0% /dev/shm
tmpfs                  tmpfs     976M  9.2M  967M   1% /run
tmpfs                  tmpfs     976M     0  976M   0% /sys/fs/cgroup
/dev/mapper/rhel-root  xfs        16G  4.6G   11G  30% /
/dev/nvme0n1p1         xfs       495M  215M  281M  44% /boot
tmpfs                  tmpfs     196M  1.2M  194M   1% /run/user/42
tmpfs                  tmpfs     196M     0  196M   0% /run/user/0
/dev/sr0               iso9660   9.5G  9.5G     0 100% /media
//192.168.10.110/share cifs       16G  4.7G   11G  31% /mnt
[root@nodes1 /]# 

  

6:多用户访问

永久挂载的配置文件
//192.168.10.110/share /mnt cifs username=a,password=1234,multiuser,sec=ntlmssp 0 0

mount -a

su - q7
[q7@nodes1 opt]$ cifscreds add -u b controller  #临时获得b用户的权限

 

总结:

这个多用户访问的就是在已经挂载的基础上,再来切换成另外的一个用户,就可以实现多个用户访问,具有不同用户的权限

 

  

  

  

  

 

posted @ 2023-12-20 20:50  q_7  阅读(28)  评论(0编辑  收藏  举报