samba服务器--samba搭建指导(三)

samba服务搭建需求:
1) 设置三个用户,名称为smb1、smb2、smb3,且均附属于users用户组,设置三个用户的Linux密码为loongson
2)共享/home/project这个目录,且共享资源名称为project
3)加入users这个组的用户可以使用//IP/project资源,且在该目录下users这个组的用户具有写入的权限

相关知识可参考文章:
1)samba服务器–samba简介(一)
https://blog.csdn.net/weixin_45067241/article/details/127737676
2)samba服务器–samba的基础设置(二)
https://blog.csdn.net/weixin_45067241/article/details/127747260
3)samba服务器–smb.conf 文件详解(四)
https://blog.csdn.net/weixin_45067241/article/details/127758369

一、服务端配置

1. 安装相关软件

yum install samba samba-client samba-common -y

2. 启动相关服务

#smbd服务相关设置
systemctl start smb.service   #开启smbd服务
systemctl enable smb.service   #设置smbd服务开机启动
systemctl status smb.service   #查看smbd服务状态
#关闭防火墙
systemctl stop firewalld     #关闭防火墙
systemctl status firewalld    #查看防火墙状态
#关闭selinux
setenforce 0

3. 配置smb.conf文件

cp /etc/samba/smb.conf  smb.conf.bak

cat /etc/samba/smb.conf 
#global段设置整体参数
[global]
        workgroup =  BOGON    #如果在文件中设置security=domain参数,workgroup可指定域名
        security = user       #设置用户认证等级为user,需要使用帐号密码登录验证
        passdb backend = tdbsam              #使用TDB数据库格式
        log file = /var/log/samba/log.%m     #log文件
        max log size = 50  
        printing = cups                      #设定打印机类型
        printcap name = cups   
        load printers = no                   #是否自动加载打印机
        cups options = raw  
        
#共享的资源设置 
[homes]
        comment = Home Directories    
        valid users = %S, %D%w%S       #用户列表
        browseable = No                #除了用户自己外,不可被其他人浏览
        writable = yes                 #挂载后可读写此共享文件
        inherit acls = Yes   
        create mode = 0664             #建立文件的权限为 664
        directory mode = 0775          #建立目录的权限为775

#三位用户的共享资源
[project]
        comment = smbusers project  
        path = /home/project        #实际的Linux主机上的目录位置
        browseable = yes            #可被其他人所浏览到的资源名称
        writable = yes              #可被写入
        write list = @users         #可写入共享文件的用户列表

每次改完smb.conf都要重新检查一下语法是否正确

[root@bogon ~]# testparm

4. 准备共享的文件目录/home/project

[root@bogon ~]# mkdir /home/project
[root@bogon ~]# chgrp users /home/project/
[root@bogon ~]# chmod 2770 /home/project/
[root@bogon ~]# ll -d /home/project/
drwxrws--- 2 root users 6 118 17:39 /home/project/

5. 设置可使用samba的用户帐号与密码

  • 在Linux这个系统下,任何程序都需要取得UID与GID的身份后,才能够拥有该身份的权限,也才能够适当地进行访问文件等操作
  • 关于Linux这个系统中的UID、GID与帐号的对应关系,一般记录在/etc/passwd当中,当然也能通过NIS、LDAP等方式来进行对应
  • samba仅只是Linux下的一套软件,使用samba来访问Linux文件系统时,还是需要以Linux系统下的UID与GID为准则
#1. 添加smb1、smb2、smb3三个用户
 [root@bogon ~]# useradd -G users smb1 
 [root@bogon ~]# useradd -G users smb2
 [root@bogon ~]# useradd -G users smb3
 [root@bogon ~]# echo loongson | passwd --stdin smb1
 [root@bogon ~]# echo loongson | passwd --stdin smb2
 [root@bogon ~]# echo loongson | passwd --stdin smb3
 
#2. 开始添加用户
[root@bogon ~]# pdbedit -a -u smb1
new password:
retype new password:
Unix username:        smb1
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-3618165827-318254122-776649082-1000
Primary Group SID:    S-1-5-21-3618165827-318254122-776649082-513
Full Name:            
Home Directory:       \\BOGON\smb1
HomeDir Drive:        
Logon Script:         
Profile Path:         \\BOGON\smb1\profile
Domain:               BOGON
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          三, 06 22036 23:06:39 CST
Kickoff time:         三, 06 22036 23:06:39 CST
Password last set:    二, 08 112022 17:54:26 CST
Password can change:  二, 08 112022 17:54:26 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF
[root@bogon ~]# pdbedit -a -u smb2
[root@bogon ~]# pdbedit -a -u smb3
配置
#2.2 查询目前已经存在的samba帐号
[root@bogon ~]# pdbedit -L
smb1:1004:
smb3:1006:
smb2:1005:
#仅会列出帐号与UID

【附加知识点】pdbedit命令功能

#1. 查看账户信息
[root@bogon ~]# pdbedit -L  [-vw]
#如查看smb1的账户信息
[root@bogon ~]# pdbedit -L  -vw smb1

#2. 添加/修改/删除帐号
#如删除smb3这个账户信息
[root@bogon ~]# pdbedit -x -u smb3
[root@bogon ~]# pdbedit -L  
smb1:1004:
smb2:1005:

#3. 选项与参数
-L:列出目前在数据库当中的帐号与UID等相关信息
-v:需要搭配-L来执行,可列出更多的信息,包括用户主目录等数据
-w:需要搭配-L来执行,使用旧版的smbpasswd格式来显示数据

6. 重新启动samba

[root@bogon ~]# systemctl restart smb.service   #重启服务
[root@bogon ~]# systemctl reload smb.service    #重新加载配置文件

二、客户端配置

1. Linux客户端

1.1 安装客户端所需软件

yum install samba-client -y

1.2 匿名登录samba服务器

#10.130.0.171为samba服务器IP
[root@bogon ~]# smbclient -L //10.130.0.171
Enter BOGON\root's password: 
Anonymous login successful

	Sharename       Type      Comment
	---------       ----      -------
	project         Disk      smbusers project
	IPC$            IPC       IPC Service (Samba 4.13.3)
SMB1 disabled -- no workgroup available

1.3 smb1帐号登录samba服务器

[root@bogon ~]# smbclient -L //10.130.0.171 -U smb1
Enter BOGON\smb1's password: 

	Sharename       Type      Comment
	---------       ----      -------
	project         Disk      smbusers project
	IPC$            IPC       IPC Service (Samba 4.13.3)
	smb1            Disk      Home Directories
SMB1 disabled -- no workgroup available
#与匿名登录相比,smb1帐号登录多了个sharename为smb1的数据
[root@bogon ~]# smbclient '//10.130.0.171/smb1' -U smb1
Enter BOGON\smb1's password: 
Try "help" to get a list of possible commands.
smb: \> ?         #?可列出所有可以用的命令
?              allinfo        altname        archive        backup         
blocksize      cancel         case_sensitive cd             chmod          
chown          close          del            deltree        dir            
du             echo           exit           get            getfacl        
geteas         hardlink       help           history        iosize         
lcd            link           lock           lowercase      ls             
l              mask           md             mget           mkdir          
more           mput           newer          notify         open           
posix          posix_encrypt  posix_open     posix_mkdir    posix_rmdir    
posix_unlink   posix_whoami   print          prompt         put            
pwd            q              queue          quit           readlink       
rd             recurse        reget          rename         reput          
rm             rmdir          showacls       setea          setmode        
scopy          stat           symlink        tar            tarmode        
timeout        translate      unlock         volume         vuid           
wdel           logon          listconnect    showconnect    tcon           
tdis           tid            utimes         logoff         ..             
! 

1.4 挂载测试

安装所需软件: yum install cifs-utils -y

[root@bogon home]# mount -t cifs //10.130.0.171/smb1 /home/tmp_project -o username=smb1
Password for smb1@//10.130.0.171/smb1:  ********
#此时,/home/smb1/与/home/tmp_project/应该拥有相同的软件名

#确定/home/smb1/目录下有文件
[root@bogon ~]# ll /home/smb1/.bashrc 
-rw-r--r-- 1 smb1 smb1 376 716 2021 /home/smb1/.bashrc

#对比两个目录下的文件
[root@bogon ~]# ls -a /home/smb1/
.  ..  .bash_logout  .bash_profile  .bashrc
[root@bogon ~]# ls -a /home/tmp_project/
.  ..  .bash_logout  .bash_profile  .bashrc

[root@bogon ~]# umount /home/tmp_project 

注释:可在/home/tmp_project 和/home/smb1目录下新增文件的方式进行验证,samba服务是否实现了客户端和服务端的数据同步。也可在/home/project目录下进行写文件操作,查看users用户组是否对该目录有写权限。

2. windows客户端

2.1 Win+R打开运行

在window中连接Linux端samba服务

2.2 根据界面提示输入用户名和密码

例如:smb1的帐号和密码

2.3 查看登录后的界面

成功登录samba服务
注释:可在Windows客户端进行文件的读写(在/etc/samba/smb.conf文件的project模块添加过文件编写权限),读写完成后可同步在Linux 机器的samba服务端查看,正常情况下,Linux服务端和Windows客户端文件保持同步

参考链接
1.《鸟哥的Linux私房菜-服务器架设篇》

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值