​​​​​​​

1、samba服务是设置共享目录的服务,由服务端发送共享目录,并提供服务。可以在winouds和linux都能使用,还有打印功能。

下面使用两台虚拟机做演示。192.168..121.30为服务端,192.168.121.200为客户端。服务端命名为server.example.com,客户端会图形化client.example.com。两台先做时间同步,关掉selinux和防火墙

2、实验过程以及命令、

2.1、在服务端的基本参数

# yum -y install chrony samba samba-client

# systemctl restart chronyd
[root@server ~]# systemctl enable chronyd
[root@server ~]# hwclock -w
[root@server ~]# timedatectl

# vim /etc/samba/smb.conf.example     -----samba的主配置文件示范文件

workgroup = MYGROUP     -----名称
        server string = Samba Server Version %v   ----samba服务器版本信息

;       netbios name = MYSERVER      ----主机的BIOS设置

;       interfaces = lo eth0 127. 192.168.12.2/24 192.168.13.2/24     监听的网段

lo是回环,eth0是以太网,
;       hosts allow = 127. 192.168.12. 192.168.13.

127.是127.0.0.0网段,0.0.0.0是所以网段都能访问,前面分号是注释,写的时候要去掉

security = user     ----samba的运行模式,有三种,永久挂载的时候写到客户端的fstab里面

user:使用程序数据库用户来访问共享目录

share:所有人都可以访问

server:仅仅只有samba服务器才能访问,不使用
passdb backend = tdbsam    -----密码验证,有三种验证的方式

tdbsam:使用数据库文件/etc/samba/passdb.tdp文件里面的密码和用户验证,一行一个用户

smbpasswd:使用smbpasswd为系统用户设置密码

ldapsam:类似第三方验证,所有数据同步到一台主服务器,用户做的改变,不会随着主机损坏而损坏。类似域用户。

/[home]   ----查找共享目录的主要参数

[homes]
        comment = Home Directories   ----描述信息可以不写
        browseable = no    -------匿名浏览
        writable = yes    ----写的功能开启,还要开启write_list才能写。只开启这个,用户不能写
;       valid users = %S    -----添加可以访问的用户,添加组前面加一个@,用逗号隔开

[printers]

       guest ok = no  匿名访问开启
        writable = no    
        printable = yes   打印功能开启
        write list = +staff   ----开启这个写的列表才能写

         path = /var/tmp   共享的目录

3、用一个题目测试

将/share目录共享,共享名为myshare,rose和marry可以访问下载,rose只读,marry可写,关闭防火墙和selinux。selinux中samba的上下文是samba_share_t。

# vim /etc/samba/smb.conf   写入以下内容到samba配置文件

[myshare]
        browseable = yes
        path = /share
        valid users = rose,marry
        write list = marry


随便填加到哪个位置

# mkdir /share
# useradd -s /sbin/nologin rose    创建用户,因为是程序用户,不让登录系统
# useradd -s /sbin/nologin marry
[root@server ~]# smbpasswd -a rose   添加用户rose到samba服务器的数据库用户里面并设置密码,密码设置为123

# pdbedit -L    查看有哪些用户加入到samba程序用户中 了

# setfacl -m u:rose:r-x /share/   设置其他用户对目录的权限,也可以将。share目录设置为777,那样所有人都能写,不安全。单个设置用户
[root@server ~]# setfacl -m u:marry:rwx /share/

[root@server ~]# systemctl restart smb nmb
[root@server ~]# systemctl enable smb nmb.service重启服务

# ping 192.168.121.200 客户端能ping通

# ss -anlt   查看139和445端口运行

4、测试和共享目录永久挂载

[root@client ~]# yum -y install samba-client cifs-utils    下载samba客户端和samba的文件类型

# smbclient -L //192.168.121.30/share -U rose   预览,可以看到share目录,-L表示预览

# smbclient  //192.168.121.30/myshare -U rose   进入

smb: \> ls
  .                                   D        0  Wed Jul 24 15:40:18 2024
  ..                                  D        0  Wed Jul 24 15:40:18 2024
  fiel1                               N        0  Wed Jul 24 15:40:09 2024
  laiyingx                            N        0  Wed Jul 24 15:40:14 2024
  dir1         

>put zz1   rose用户不能上传zz1文件

>get laiyingx get是下载,可以下载

>exit 退出

# smbclient //192.168.121.30/myshare -U marry

>put zz1 能上传zz1

>get fiel1 能 下载fiel1

创建目录,永久挂载和多用户借用身份存储文件

[root@client ~]# mkdir /laiyingx

#vim /etc/fstab

//192.168.121.30/myshare        /laiyingx       cifs    multiuser,username=rose,password=123,sec=ntlmssp        0 0
这里rose是没有可以写的权限的

# systemctl daemon-reload
[root@client ~]# mount -a

 #su - laiyingx

[laiyingx@client ~]$ cifscreds add 192.168.121.30 u marry 因为这里借用身份不能,下面更新借用能,第一次使用用add.

[laiyingx@client ~]$ cd /laiyingx

[laiyingx@client laiyingx]$ cifscreds update 192.168.121.30 -u marry 借用marry的身份写
Password: 
[laiyingx@client laiyingx]$ mkdir zz
[laiyingx@client laiyingx]$ ls

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐