Linux虚席笔记 --Samba

时间:2022-12-24 15:47:52


#Samba#

 

1.samba作用

 

提供cifs协议实现共享文件

 

 

2.安装

 

[root@localhost ~]# yum install samba samba-common samba-client -y ##samba-服务器应用程序 samba-common-samba的支持文件 samba-client-客户端应用程序

[root@localhost ~]# systemctl start smb nmb ##开启服务

 Linux虚席笔记 --Samba

 

3.添加smb用户

 

#smb用户必须是本地用户


[root@localhost ~]# pdbedit -L ##查看用户添加情况

[root@localhost ~]# pdbedit -x student ##删除smb用户

Linux虚席笔记 --Samba


[root@localhost ~]# smbpasswd -a student

New SMB password: ##输入smb当前用户密码

Retype new SMB password: ##确认密码

Added user student.


[root@localhost ~]# setsebool -P use_samba_home_dirs on ##在selinux中设定smb用户可以访问自己的家目录

 Linux虚席笔记 --Samba

 

4.共享目录的基本额设定

 

[root@localhost ~]# mkdir /smbshare

[root@localhost ~]# touch /smbshare/HnSoixxx

[root@localhost ~]# touch /mnt/file{1..6}

Linux虚席笔记 --Samba

 

[root@localhost ~]# vim /etc/samba/smb.conf

 

        [HnSoi] ##共享名称

        comment = local directory ##对共享目录的描述

        path = /smbshare ##共享目录的绝对路径

        [mnt]

        path = /mnt

Linux虚席笔记 --Samba


workgroup = HnSoi ##修改域名

 Linux虚席笔记 --Samba


#当共享目录为用户自建立目录时

[root@localhost ~]# semanage fcontext -a -t samba_share_t '/smbshare(/.*)?'

[root@localhost ~]# restorecon -RvvF /smbshare

 Linux虚席笔记 --Samba


[kiosk@foundation29 桌面]$ smbclient -L//172.25.254.129 -U student

[kiosk@foundation29 桌面]$ smbclient //172.25.254.129/HnSoi -U student

 

#当共享目录为系统建立目录时

[root@localhost ~]# setsebool -P samba_export_all_ro on ##只读共享

[root@localhost ~]# setsebool -P samba_export_all_rw on ##读写共享

 Linux虚席笔记 --Samba


[kiosk@foundation29 桌面]$ smbclient -L//172.25.254.129 -U student

[kiosk@foundation29 桌面]$ smbclient //172.25.254.129/mnt -U student

 Linux虚席笔记 --Samba

 

5.samba的配置参数

 

#匿名用户访问

[root@localhost ~]# vim /etc/samba/smb.conf

 

        guest ok =yes ##允许匿名访问

 Linux虚席笔记 --Samba

        map to guest = bad user

 Linux虚席笔记 --Samba


[kiosk@foundation29 桌面]$ smbclient //172.25.254.129/mnt

 Linux虚席笔记 --Samba


#访问控制

[root@localhost ~]# useradd -s /sbin/nologin westos

[root@localhost ~]# smbpasswd -a westos

 

[root@localhost ~]# vim /etc/samba/smb.conf

        hosts allow = 172.25.254.29 ##仅允许172.25.254.29主机访问

Linux虚席笔记 --Samba

Linux虚席笔记 --Samba

       

 hosts deny = 172.25.254.29 ##仅拒绝172.25.254.29主机访问

Linux虚席笔记 --Samba

Linux虚席笔记 --Samba

        

valid users = westos ##当前共享的有效用户为westos

Linux虚席笔记 --Samba

Linux虚席笔记 --Samba


valid users = @westos ##当前共享的有效用户组为westos

valid users = +westos ##当前共享的有效用户组为westos

Linux虚席笔记 --Samba


[kiosk@foundation29 桌面]$ smbclient //172.25.254.129/mnt -u westos

[kiosk@foundation29 桌面]$ smbclient //172.25.254.129/mnt -u student

[root@localhost ~]# usermod -G westos student

[kiosk@foundation29 桌面]$ smbclient //172.25.254.129/mnt -u student

Linux虚席笔记 --Samba 


#读写控制

 

『所有用户均可写』

[root@localhost ~]# chmod o+w /mnt

[root@localhost ~]# setsebool -P samba_export_all_rw on

 Linux虚席笔记 --Samba

[root@localhost ~]# vim /etc/samba/smb.conf

        writable = yes

 Linux虚席笔记 --Samba


【测试】

[root@foundation29 ~]# mount -o username=student,password=hansongwei //172.25.254.129/mnt /mnt/

[root@foundation29 ~]# cd /mnt/

[root@foundation29 mnt]# touch file29

 Linux虚席笔记 --Samba


『设定指定用户可写』

[root@localhost ~]# vim /etc/samba/smb.conf

write list = student ##可写用户

Linux虚席笔记 --Samba

write list = +student ##可写用户组

Linux虚席笔记 --Samba

admin users = westos ##共享的超级用户指定

Linux虚席笔记 --Samba

 

【可写用户测试】

[root@foundation29 ~]# mount -o username=westos,password=hansongwei //172.25.254.129/mnt /mnt/

[root@foundation29 ~]# cd /mnt/

[root@foundation29 mnt]# touch hahaha

[root@foundation29 ~]# mount -o username=student,password=hansongwei //172.25.254.129/mnt /mnt/

[root@foundation29 ~]# cd /mnt/

[root@foundation29 mnt]# touch studentfile

 Linux虚席笔记 --Samba


【可写用户组测试】

[root@localhost ~]# usermod -G student westos

[root@foundation29 ~]# mount -o username=westos,password=hansongwei //172.25.254.129/mnt /mnt/

[root@foundation29 ~]# cd /mnt/

[root@foundation29 mnt]# touch westosfile

 Linux虚席笔记 --Samba


【共享的超级用户指定测试】

[root@localhost ~]# chmod o-w /mnt

[root@foundation29 ~]# mount -o username=westos,password=hansongwei //172.25.254.129/mnt /mnt/

[root@foundation29 ~]# cd /mnt/

[root@foundation29 mnt]# touch 123

 Linux虚席笔记 --Samba

 

6.samba多用户挂载

 

『在client上』

 

[root@foundation29 ~]# vim /root/xixi ##建立smb认证文件

username=student

password=hansongwei

 Linux虚席笔记 --Samba


[root@foundation29 ~]# chmod 600 /root/xixi

 

[root@foundation29 ~]# yum install cifs-utils -y ##安装cifs-utils软件包,它包含了cifscreds命令

 

[root@foundation29 ~]# mount -o credentials=/root/xixi,multiuser,sec=ntlmssp //172.25.254.129/mnt /mnt/

##credentials=/root/xixi 指定挂载时所用到的用户文件

##multiuser 支持多用户认证

##sec=ntlmssp 认证方式为标准smb认证方式

 

[root@foundation29 ~]# su - kiosk

[kiosk@foundation29 ~]$ ls /mnt

ls: cannot access /mnt: Permission denied ##由于没有作smb的认证所以无法访问smb共享

[kiosk@foundation29 ~]$ cifscreds add -u westos 172.25.254.129 ##挂载smb共享

Password: ##输入smb用户westos的密码

[kiosk@foundation29 ~]$ ls /mnt/

Linux虚席笔记 --Samba