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用户的权限
总结:
这个多用户访问的就是在已经挂载的基础上,再来切换成另外的一个用户,就可以实现多个用户访问,具有不同用户的权限