首页 > 其他分享 >samba服务配置

samba服务配置

时间:2024-07-12 16:08:01浏览次数:6  
标签:samba 服务 配置 linux3 sharesmb txt root smb user00

《2024网络建设与运维》河北省samba 服务配置。
任务描述:请采用samba 服务,实现资源共享。

  1. 配置 linux3 为 samba 服务器,建立共享目录/sharesmb,共享名与目录名相同。
[root@linux3 ~]# yum install samba -y
[root@linux3 ~]# sudo mkdir -p /sharesmb
[root@linux2 ~]# chown root:admin /sharesmb
[root@linux2 ~]# chmod 2770 /sharesmb
  1. 新建用户user00-user03, 用户名和密码相同。user00 和user01 添加到 admin 组,user02 和 user03 添加到 hr 组。把用户 user00- user03 添加到samba 用户。
[root@linux3 ~]# vim 1.sh
for user in user00 user01 user02 user03; do
    sudo useradd $user
    echo "$user:$user" | sudo chpasswd
done
[root@linux3 ~]# chmod +x 1.sh
[root@linux3 ~]# ./1.sh
[root@linux3 ~]# sudo groupadd admin
[root@linux3 ~]# sudo groupadd hr

[root@linux3 ~]# sudo usermod -aG admin user00
[root@linux3 ~]# sudo usermod -aG admin user01
[root@linux3 ~]# sudo usermod -aG hr user02
[root@linux3 ~]# sudo usermod -aG hr user03

[root@linux3 ~]# vim 1.sh
groupadd admin  
for username in user{00..01}  
	do  
		# 使用'usermod'命令将'username'用户添加到'dev'组。'-g'选项表示要设置的组名。  
		useradd  $username
		usermod -aG admin $username
		# 输出"Pass-1234",然后通过管道('|'符号)将这个输出作为'passwd'命令的输入。  
		# '--stdin'选项表示密码将从标准输入获取,而不是从终端输入。  
		echo "$username:$username" | sudo chpasswd  
done
groupadd hr  
		
for username in user{02..03}  
	do   
		useradd  $username
		usermod -aG hr $username 
		echo "$username:$username" | sudo chpasswd  
done
[root@linux3 ~]# chmod +x 1.sh  #给予运行权限
[root@linux3 ~]# ./1.sh   #运行脚本			
[root@linux3 ~]# id user03
uid=1003(user03) gid=1003(user03) groups=1003(user03),1005(hr)
[root@linux3 ~]# id user01
uid=1001(user01) gid=1001(user01) groups=1001(user01),1004(admin)
[root@linux3 ~]# smbpasswd -a user00
New SMB password:
Retype new SMB password:
Added user user00.
Enabled user user00.			
[root@linux3 ~]# smbpasswd -a user01
[root@linux3 ~]# smbpasswd -a user02
[root@linux3 ~]# smbpasswd -a user03
  1. admin 组用户对sharesmb共享有读写权限,hr 组对 sharesmb 共享有只读权限;用户对自己新建的文件有完全权限, 对其他用户的文件只有读权限,且不能删除别人的文件。
[root@linux3 ~]# vim /etc/samba/smb.conf
[sharesmb]
        path = /sharesmb
        browseable = yes    #这个共享在网络上可以被其他计算机浏览
        writable = yes      #允许客户端写入这个共享
        valid list = @hr,@admin  #这限制了只有 hr 和 admin 这两个组的成员才能访问这个共享
        write list = @admin 		#admin 组的成员才能写入这个共享
        read list = @hr         #指定 hr 用户组的用户具有读权限
        read only = no          #是否只读
        force group = admin			#管理员
setfacl -Rdm g:admin:rwx /sharesmb     #admin读写执行权
setfacl -Rdm g:hr:rx /sharesmb         #hr读取执行权
  1. 在本机用smbclient 命令测试。
[root@linux3 ~]# smbclient //10.4.220.102/sharesmb -U user01
Password for [SAMBA\user01]:
Try "help" to get a list of possible commands.
smb: \> put 1.txt 
putting file 1.txt as \1.txt (0.0 kb/s) (average 0.0 kb/s)
smb: \> get 1.txt 2.txt
getting file \1.txt of size 0 as 2.txt (0.0 KiloBytes/sec) (average -nan KiloBytes/sec)
smb: \> exit
[root@linux3 ~]# smbclient //10.4.220.102/sharesmb -U user03
Password for [SAMBA\user03]:
Try "help" to get a list of possible commands.
smb: \> put 2.txt 
NT_STATUS_ACCESS_DENIED opening remote file \2.txt
smb: \> get 2.txt 5.txt
NT_STATUS_OBJECT_NAME_NOT_FOUND opening remote file \2.txt
smb: \> ls
  .                                   D        0  Sun Jun 30 15:00:14 2024
  ..                                  D        0  Sun Jun 30 14:42:31 2024
  1.txt                               A        0  Sun Jun 30 15:00:14 2024

                13092864 blocks of size 1024. 11316848 blocks available
smb: \> get 1.txt 5.txt
getting file \1.txt of size 0 as 5.txt (0.0 KiloBytes/sec) (average -nan KiloBytes/sec)
[root@linux3 ~]# smbclient //10.4.220.102/sharesmb -U user00    #删除权限
Password for [SAMBA\user00]:
Try "help" to get a list of possible commands.
smb: \> ls
  .                                   D        0  Sun Jun 30 22:49:24 2024
  ..                                  D        0  Sun Jun 30 14:42:31 2024
  1.txt                               A        0  Sun Jun 30 22:49:19 2024
  2.txt                               A        0  Sun Jun 30 22:49:24 2024
smb: \> del 2.txt
smb: \> ls
  .                                   D        0  Sun Jun 30 22:50:10 2024
  ..                                  D        0  Sun Jun 30 14:42:31 2024
  1.txt                               A        0  Sun Jun 30 22:49:19 2024
[root@linux3 ~]# smbclient //10.4.220.102/sharesmb -U user03   删除别人的权限
Password for [SAMBA\user03]:
Try "help" to get a list of possible commands.
smb: \> del 5.txt 
NT_STATUS_ACCESS_DENIED deleting remote file \5.txt
安装客户端
[root@linux3 ~]# yum install -y samba-client
[root@linux3 ~]# smbclient //10.4.220.102/sharesmb -U user01   #遇到这个情况为服务器未启动smb
Password for [SAMBA\user01]:
do_connect: Connection to 10.4.220.102 failed (Error NT_STATUS_CONNECTION_REFUSED)
NT_STATUS_ACCESS_DENIED opening remote file \1.txt  
[root@linux3 ~]# systemctl restart smb.service                 #启动即可
[root@linux3 ~]# smbclient //10.4.220.102/sharesmb -U user01
Password for [SAMBA\user01]:
Try "help" to get a list of possible commands. 
smb: \> put 1.txt                  															#可能是权限没有设置,也可能是selinux没关
NT_STATUS_ACCESS_DENIED opening remote file \1.txt   
[root@linux2 ~]# setenforce 0																		#关闭即可
[root@linux2 ~]# smbclient //10.4.220.102/sharesmb -U user01
Password for [SAMBA\user01]:
Try "help" to get a list of possible commands.
smb: \> put 1.txt 
putting file 1.txt as \1.txt (0.0 kb/s) (average 0.0 kb/s)
  1. 在linux4上使用用户user00实现无需手动输入密码自动挂载linux3 的sharesmb 共享到/sharesmb,同时防止运行恶意脚本运,禁止运行.sh 文件,禁止在挂载命令中显示明文密码。
[root@linux4 ~]# sudo mkdir -p /sharesmb
[root@linux4 ~]# vim /etc/samba/user00.credentials
username=user00
password=user00
[root@linux4 ~]# chmod 600 /etc/samba/user00.credentials
[root@linux4 ~]# vim /etc/fstab
//10.4.220.102/sharesmb /sharesmb cifs credentials=/etc/samba/user00.credentials,iocharset=utf8,sec=ntlmv2,nosuid,nodev,noexec 0 0
[root@linux4 ~]# systemctl daemon-reload           #加载组件
[root@linux4 ~]# mount -a
mount: /sharesmb: bad option; for several filesystems (e.g. nfs, cifs) you might need a /sbin/mount.<type> helper program.
#遇到这个情况是没有下载完依赖包,差组件cifs-utils 软件包
[root@linux4 ~]# sudo yum install cifs-utils

//10.4.220.102/sharesmb    # 远程共享路径
/sharesmb                 # 本地挂载点
cifs                      # 使用 CIFS 协议
credentials=/etc/samba/user00.credentials, # 认证信息文件路径
nodev,                    # 不解读设备文件
noexec                    # 不允许执行文件
0                         # dump 备份时不备份此文件系统
0                         # 启动时不检查此文件系统

如有不懂的地方欢迎评论或者私信,看到就会回,小伙伴们。

标签:samba,服务,配置,linux3,sharesmb,txt,root,smb,user00
From: https://www.cnblogs.com/a-wei/p/18298607

相关文章

  • 环境部署之在 Linux 服务器上搭建和部署 Python 环境
    背景说明在企业工作中,自动化测试框架落地肯定会集成到Jenkins服务器上做持续集成测试,自动构建以及发送结果到邮箱,实现真正的无人值守测试。不过Jenkins搭建一般都会部署在公司的服务器上,不会在私人电脑里,而服务器大部分都是Linux操作系统的。如果要在Linux上的Jenkins服......
  • Linux捣鼓记录:debian配置自动补全、ll命令别名、配置sbin命令、jdk命令
    一、配置自动补全、ll命令别名配置在/etc/bash.bashrc,实现全局用户自动补全,ll命令别名sudonano/etc/bash.bashrc有一段类似下面的文字被注释,取消注释#enablebashcompletionininteractiveshellsif!shopt-oqposix;thenif[-f/usr/share/bash-completion/bas......
  • rsyslog配置(服务端、客户端)-UDP-TCP转发-imfile自定义应用程序的日志推送
    ##概念#Syslog服务器可以用作一个网络中的日志监控中心,所有能够通过网络来发送日志的设施(包含了Linux或Windows服务器,路由器,交换机以及其他主机)都可以把日志发送给它。通过设置一个syslog服务器,可以将不同设施/主机发送的日志,过滤和合并到一个独立的位置,这样使得你更容易地查......
  • rsyslog配置(服务端、客户端)-relp协议转发
    rpm下载:https://centos.pkgs.org/7/centos-x86_64/RELP转发方式场景:日志服务器接收user.notice输出级别的日志,当然可以配置成任何其他级别。在日志服务器我们做了配置:user.notice/var/log/remote-operation.log。在client端,我们通过logger命令发送日志,其默认输出级别就是use......
  • 腾讯云服务器Centos7数据盘挂载
    背景:新购进一台服务器,初始化磁盘50G,还剩余一个200G的数据盘未使用,现想将其挂在使用一、前置条件1.已购买腾讯云服务器,并登录到服务器。2.已创建一块数据盘。3.已将数据盘格式化为文件系统并进行分区。二、数据盘挂载流程1.登录腾讯云官网,进入控制台,找到“云服务器CVM”模......
  • Nepxion 教程 - Discovery 之配置中心支持灰度配置
    NepxionDiscovery支持与主流配置中心(如Nacos、Apollo、SpringCloudConfig)集成,实现配置的集中管理和动态刷新,特别是在灰度发布场景下,能够为不同的服务实例或环境提供差异化配置。以下是如何使用NepxionDiscovery配合配置中心实现灰度配置的教程:1.准备工作选择配置中......
  • 服务器部署全流程-阿里云服务购买到宝塔部署
    一、部署前端页面1.阿里云购买试用免费服务器 找到一个自己想要的服务器,然后再这里选择服务器的系统,我们一般选择CentOS(也就是Linux系统),其他的都可以选择系统默认2.购买后跳转至阿里云控制台,点击三个点,搜索服务器密码,重新修改密码3.启动该实例后进行远程连接......
  • 【linux命令】sar 监控服务器资源
    常用的参数CPU:sar-utn内存:sar-rtn磁盘:sar-dtn网络:sar-nDEVtn采样频率tn每隔t秒记录一次,共记录n次###############################################################sar[options][-A][-ofile]t[n]在命令行中,n和t两个参数组合起来定义采样间隔......
  • 阿里云oss配置:
    一,创建bucketbucket是,存储空间是OSS的全局命名空间,相当于数据的容器,可以存储若干文件。点完成创建按钮二,创建账号供访问oss资源创建用户成功后,把accesskeyid和accesskeysecret复制保存下来三,创建对bucket的访问策略最后点击确定按钮创建 ......
  • Vscode ssh远程连接Linux服务器登录时密码password无法输入
    问题最近在用Vscode远程连接Linux服务器时,在终端提示输入密码password的时候用键盘输入没有反应。以为是键盘坏了,然后尝试复制粘贴没有用。后来找到了原因以及解决方法,感谢原帖作者(原贴链接粘在下面)原因其实系统已经接受密码了,主要错觉是由于人们经常使用的系统的密码......