Appearance
一、将SMABA设置为独立服务器
环境介绍
角色 | 操作系统 | IP地址 | DNS |
---|---|---|---|
服务器 | RHEL 8.10 | 192.168.100.254 | 223.5.5.5 |
客户端 | windows7 | 192.168.100.2 | 223.5.5.5 |
1.1 基础配置
设置静态
IP
和DNS
nmtui
设置主机名
bashhostnamectl set-hostname 主机名
设置chronyd服务与NTP服务器同步时间
bashsystemctl enable --now chronyd
查询系统时区和系统同步时间状态
bashtimedatectl
配置本地YUM源
利用
SecureFX
软件将系统镜像上传到root
的目录新建挂载点
bashmkdir /mnt/iso
在
/etc/fstab
文件追加如下内容bash/root/rhel-8.10-x86_64-dvd.iso /mnt/iso iso9660 defaults 0 0
重新加载配置文件,并使立即生效
systemctl daemon-reload mount -a
配置
yum
源文件vim /etc/yum.repos.d/rhel8.repo
bash[BaseOS] name=BaseOS baseurl=file:///mnt/iso/BaseOS enabled=1 gpgcheck=0 [AppStream] name=AppStream baseurl=file:///mnt/iso/AppStream enabled=1 gpgcheck=0
安装
samba
相关组件服务进行验证配置正确性bashdnf install -y samba samba-common samba-client
1.2 用户与用户组
新建本地用户组
bashgroupadd JingDiao
增加jd用户,不创建
home
,不允许登录主机,添加到附加组JingDiao
bashuseradd -M -s /sbin/nologin -G JingDiao jd
将系统用户jd添加到samba数据库文件并设置密码
bashsmbpass -a jd
1.3 共享文件夹所属组和权限
新建
JDShare
文件夹并改变其所属组权限bashmkdir /home/JDShare chown :JingDiao /home/JDShare chmod 770 /home/JDShare
1.4 安装及配置SAMBA
安装
SAMBA
软件包(如果前面已安装,此处忽略)bashdnf install -y samba samba-common samba-client
在
/etc/samba/smb.conf
文件追加以下配置参数bash[JDShare] comment = JDFileShareServer path = /home/JDShare browseable = yes writable = yes valid users = @JingDiao write list = @JingDiao
验证
/etc/samba/smb.conf
文件bashtestparm
启用并启动smb服务
bashsystemctl enable --now smb
1.5 防火墙配置
打开所需的端口并使用
firewall-cmd
工具重新载入防火墙配置bashfirewall-cmd --permanent --add-service=samba firewall-cmd --reload
查看防火墙开放的服务
bashfirewall-cmd --list-services
1.6 SELinux配置
bash
semanage fcontext -a -t samba_share_t /home/JDShare
restorecon -Rv /home/JDShare
1.7 客户端测试
Linux 客户端测试
# smblient -L 127.0.0.1 -U jd
Windows 客户端测试
\\192.168.100.254
1.8 格式化第二块硬盘并挂载作为数据备份盘
列出磁盘信息
bashparted -l
配置第二块硬盘
bashparted /dev/sdb
查看帮助
bashhelp
配置新的磁盘标签类型(双击
Tab
键列出所有)bashmklabel 选择 gpt
创建分区
bashmkpart 起始点为:1 结束点为:100%
查看分区情况
bashp
退出编辑
bashq
格式化硬盘
mkfs.xfs /dev/sdb1
新建挂载点
bashmkdir /mnt/sdb1
编辑
fstab
文件bash# vim /etc/fstab /dev/sdb1 /mnt/sdb1 xfs defaults 0 0
重新挂载
fstab
文件中挂载信息bashmount -a
查看挂载硬盘的信息且写入文件验证
bashtouch /mnt/sdb1/test ll /mnt/sdb1/
1.9 用rsync工具实现自动备份
新建文件同步脚本
filesync.sh
bash# vim /home/filesync.sh #!/bin/bash # 以下--delete 表示在目录文件夹中“多则删,少则补”,实现同步(非增量) rsync -av --delete /home/JDShare/* /mnt/sdb1/
赋予脚本可执行权限
bashchmod +x /home/filesync.sh
创建计划任务(每隔5分钟同步一次)
bash# crontab -e */5 * * * * /home/filesync.sh
1.10 超过一个用户设置粘滞位t保护权限
附加补充:
彻底删除本地系统账户的所有相关文件
bashuserdel -rf 用户名
后续添加用户到
JingDiao
组的操作bashusermod -a -G JingDiao 新用户
在 windows 下删除指定后缀文件(例如:*.bak)
del /a /q /f /S *.bak
二、将SAMBA设置为域成员服务器
环境介绍
角色 | 操作系统 | IP地址 | DNS |
---|---|---|---|
域控制器&DNS服务器 | Windows Server 2012 R2 | 192.168.100.254 | 127.0.0.1 |
域成员服务器 | RHEL 8 | 192.168.100.2 | 192.168.100.254 |
设置静态IP和DNS
bashnmtui
设置主机名
bashhostnamectl set-hostname FileServer
配置本地YUM源
安装
SAMBA
bash# dnf repolist # yum install realmd oddjob-mkhomedir oddjob samba-winbind-clients samba-winbind samba-common-tools samba-winbind-krb5-locator # yum install samba
查看磁盘空间
bashdf -h
配置共享目录
配置共享目录
bash# mkdir /home/itshare # mv /etc/samba/smb.conf /etc/samba/smb.conf.bak # realm join --membership-software=samba --client-software=winbind vekea.com # systemctl status winbind # systemctl status smb # systemctl enable --now smb # getent passwd "vekea.com\administrator # wbinfo -u # getent passwd "vekea\administrator # chown "vekea\administrator":"vekea\Domain Users" /home/itshare # kinit administrator@vekea.com # wbinfo --all-domains # chmod -Rf 0750 /home/itshare/
配置 /etc/samba/smb.conf 文件
bash# vim /etc/samba/smb.conf [global] kerberos method = secrets and keytab template homedir = /home/%U@%D workgroup = VEKEA template shell = /bin/bash security = ads realm = VEKEA.COM idmap config VEKEA : range = 2000000-2999999 idmap config VEKEA : backend = rid idmap config * : range = 10000-999999 idmap config * : backend = tdb winbind use default domain = no winbind refresh tickets = yes winbind offline logon = yes winbind enum groups = no winbind enum users = no [itshare] comment = itshare path = /home/itshare read only = no force group = "vekea\Domain Users" directory mode = 0770 force directory mode = 0770 create mode = 0750 force create mode = 0750
验证 /etc/samba/smb.conf 文件
bashtestparm
启动和检查相关服务
bashsystemctl start firewalld.service systemctl status winbind systemctl restart smb systemctl enable --now smb
使用 wbinfo 工具
列出域用户
bashwbinfo -u
列出域用户组
bashwbinfo -g
防火墙配置
bash# firewall-cmd --permanent --add-service=samba --zone=public //永久开放samba服务 # firewall-cmd --reload //刷新防火墙规则 # firewall-cmd --list-services //查看开放的服务
SELinux配置
bash# semanage fcontext -a -t samba_share_t /home/itshare # restorecon -Rv /home/itshare/
客户端测试
bash\\192.168.100.254