اسکریپت jointodomain

پیرو پست «دیدن share ویندوز تحت دامنه» توی شرکت نیاز شد که تمام سیستم های لینوکسی عضو دامنه بشند. من چون اصلا نمی تونستم به این فکر کنم که پای ۴ ۵ تا سیستم بشینم و یه روند هی تکرار کنم ، اون را تبدیل به اسکریپت کردم. خیلی کامل نیست ولی از بازخورد ها استقبال می شه.

#!/bin/bash

if [ “$(whoami)” != “root” ]
then
echo “You must run this script with root.”
exit 1
fi

aptitude update
aptitude install libkrb53 krb5-config krb5-user samba winbind ntpdate ntp smbclient cifs-utils || exit 2

read -p “Enter domain name: ” DOMAIN
read -p “Active directory ip address: ” AD_IP

DOMAINU=$(echo $DOMAIN | tr ‘[a-z]’ ‘[A-Z]’)
DOMAINL=$(echo $DOMAIN | tr ‘[A-Z]’ ‘[a-z]’)

echo “$AD_IP $DOMAINL ad ad.$DOMAINL” >> /etc/hosts

mv /etc/samba/smb.conf /etc/samba/smb.conf.$(date +”%Y-%m-%d-%H-%M”)

cat <<- EOF > /etc/samba/smb.conf
realm = $DOMAINU
security = ADS
encrypt passwords = yes
password server = ad.$DOMAINL
winbind separator = +
winbind enum users = yes
winbind enum groups = yes
winbind uid = 10000-20000
winbind gid = 10000-20000
workgroup =  ${DOMAINL%%\.*}
EOF

mv /etc/krb5.conf /etc/krb5.conf.$(date +”%Y-%m-%d-%H-%M”)
cat <<- EOF > /etc/krb5.conf
[logging]
default = FILE:/var/log/krb5lib.log

[libdefaults]
ticket_lifetime = 24000
clock_skew = 300
default_realm = $DOMAINU

[realms]
$DOMAINU = {
kdc = AD.$DOMAINL
admin_server = AD.$DOMAINL
default_domain = $DOMAINL
}

[domain_realm]
.$DOMAINL = $DOMAINU
$DOMAINL = $DOMAINU
EOF

echo “You must enter password of domain adminitrator: ”
net ads join -S AD.$DOMAINU -U administrator

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *