Rocky Linux上设置共享文件夹并通过Windows AD域中的用户组进行认证
步骤1:安装必要的软件包
首先,安装必要的软件包,包括Samba和Kerberos。可以使用dnf,也可以使用yum。这里使用的dnf:
sudo dnf install samba samba-client samba-common krb5-workstation krb5-libs krb5-auth-dialog
步骤2:配置Kerberos
编辑Kerberos配置文件 /etc/krb5.conf
,确保其内容类似于以下内容:
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
default_realm = YOURDOMAIN.COM
dns_lookup_realm = false
dns_lookup_kdc = true
[realms]
YOURDOMAIN.COM = {
kdc = your.kdc.server
admin_server = your.kdc.server
}
[domain_realm]
.yourdomain.com = YOURDOMAIN.COM
yourdomain.com = YOURDOMAIN.COM
将 YOURDOMAIN.COM
替换为你的域名,将 your.kdc.server
替换为你的KDC服务器地址。
步骤3:加入Windows AD域
使用 realm
命令将服务器加入Windows AD域:
sudo realm join --user=Administrator yourdomain.com
输入Administrator用户的密码。你可以通过 realm list
命令检查加入情况。
步骤4:配置Samba
编辑Samba配置文件 /etc/samba/smb.conf
,确保其内容类似于以下内容:
[global]
workgroup = YOURDOMAIN
security = ads
realm = YOURDOMAIN.COM
kerberos method = secrets and keytab
log file = /var/log/samba/%m.log
log level = 1
idmap config * : backend = tdb
idmap config * : range = 50000-60000
idmap config YOURDOMAIN : backend = rid
idmap config YOURDOMAIN : range = 10000-999999
template shell = /bin/bash
template homedir = /home/%D/%U
winbind use default domain = true
winbind offline logon = false
winbind enum users = yes
winbind enum groups = yes
[share]
path = /path/to/share
browseable = yes
read only = no
create mask = 0777
directory mask = 0777
valid users = @"YOURDOMAIN\groupname"
将 YOURDOMAIN
和 YOURDOMAIN.COM
替换为你的域名,将 groupname
替换为需要访问共享文件夹的AD组名。
步骤5:设置文件夹权限
创建共享文件夹并设置适当的权限:
sudo mkdir -p /path/to/share
sudo chown -R root:"YOURDOMAIN\groupname" /path/to/share
sudo chmod -R 0770 /path/to/share
步骤6:启动并启用Samba服务
启动并启用Samba和Winbind服务:
sudo systemctl start smb --now
sudo systemctl start nmb --now
sudo systemctl start winbind --now
步骤7:测试配置
使用AD用户测试访问共享文件夹:
smbclient //localhost/share -U "YOURDOMAIN\username"
输入AD用户的密码,检查是否可以访问共享文件夹。
通过以上步骤,Rocky Linux共享文件夹将通过Windows AD域中的用户组进行认证,从而控制访问权限。