Samba Domain Controller 1
මෙලෙස සක්රීය කලගත් samba server එක domain controller එකක් බවට පත් කර ගමු.
Samba server යනු microsoft විසින් හඳුන්වාදුන් lanmanager නම් මෘදුකාංගය සමග ආ SMB protocol එකත් සමග වැඩ කල හැකි මෘදුකාංගයකි. මෙහි මූලික පරමාර්තය වුනේ windows පරිගනක සමග මෙම SMB මාර්ගයෙන් දත්ත, ලිපි ගොනු හුවමාරු කරගැනීමයි. microsoft විසින් SMB protocol එකට ඔවුන් කල වෙනස් කරීම් කිසිවක් ප්රකාශ නොකල නිසා 1991-2 කාලයේ ඕස්ට්රේලියානු ජාතික ඇන්ඩ්රු ට්රිජෙල් (Andrew Tridgell) මෙම smb protocol එක වැඩ කරන ආකාර අද්යයනය කොට මෙම samba server එක නිර්මානය කලේය. මෙය වැඩි දියුනු කල ඔහු 1996 වන විට samba community (සමබා ප්රජාවක්) ලෙස මෙය සමූහයකට ගෙන ආවේය.
එතැන් සිට ප්රජාවක් ලෙස samba server එක වැඩි දියුනු වෙමින් අදටත් පවතී.
Samba server හි domain controller පැත්ත ගතහොත්, එය Windows NT 5 Primary Domain controller එකක් ලෙසත් Backup Domain controller එකක් ලෙසත් පූර්නව ක්රීයා කලහැක. මීට අමතරව Windows 2000+ Active Directory member server එකක් ලෙස පමනක් ක්රීයා කල හැක. Active Directory අංශයෙන් ඉදිරියට යෑමට ඇති ප්රදාන ගැටලුව වී ඇත්තෙ Microsoft සමාගම Active Directoryහි ක්රියාකාරිත්වය පිලිබඳ කිසිවක් ප්රකාශයට පත් නොකිරීමයි.
මීට අමතරව file shares මගින් ලිපි ගොනු බෙදා ගැනීම, printer shares මගින් printers බෙදා ගැනීම windows වල සිදුවෙන ලෙසටම කලහැක. එම නිසා samba server මාර්ගයෙන් ලිනක්ස් පරිගනකයකට අමුනා ඇති printer එකක් හෝ එහි ඇති ලිපු ගොනු windows පරිගනක වලින් බාවිතයට ගත හැක. එමෙන්ම windows පරිගනකහි ඇති printers, ලිපි ගොනු ලිනකස් පරිගනකයෙන්ද බාවිතයට ගතහැක.
මෙම ලිපි වලින් අප කරන්නෙ Primary Domain Controller එකක් samba මාර්ගයෙන් ඇති කිරීමයි.
Samba server හි පරිපාලන ගොනුව /etc/samba වල අතර එහි ක්රියාකාරිත්වය සටහන් වය ලිපිය /etc/samba/smb.conf නම්වේ.
/etc/samba/smb.conf යනු ඉතා සවිස්තරාත්මක විශාල text file එකකි. සාමාන්යයෙන් සිදු කෙරෙන්නෙ මෙහි කොපියක් ගෙන එම කොපිය අපට අවශ්ය පරිදි වෙනස් කොට බාවිතයට ගැනීමයි. මෙමගින් අපට ඕනැම වෙලාවක බාවිතා කරිමට අවශ්ය උපදෙස් හො කලින් තිබූ තත්වයට පත් කර ගැනීමට හැකියාව ලැබේ.
smb.conf හි විදාන 300කට වඩා අඩංගු වන අතර මේ සියල්ල ගැනම විසතරත් ඇතුලත් වේ. එම නිසා මේ ලිපි ගොනුවෙම කොපියක් ගැනීම තේරුමක් නැත. අවශ්ය වන විදාන සියල්ල මම මෙම ලිපියෙහි දෙමි. එමගින් අලුත් smb.conf එකක් සෑදීම වඩාත් පහසුවේ.
දැන් /etc/samba/smb.conf හි නම වෙනස් කොට එක backup ලෙස තබාගමු.
Terminal එකක් ගෙන root ලෙස මෙම විදානය දෙන්න :
Code:
mv /etc/samba/smb.conf /etc/samba/smb.conf.backup
smb.conf සාදාගැනීමට පහසු ක්රමයක් තමයි SWAT නොහොත් Samba Web Administration Tool මෘදුකාංගය බාවිතා කිරීම. මෙය මගින් samba server එක අපට web browser එකෙන් පාලනය කලහැක.
මෙය ස්තාපනය කර ගැනීමට අන්තර්ජාල පහසුකම අවශ්ය වේ.
ස්තාපනය කිරීමට මෙම විදානය දෙන්න:
ප්රතිඵල මෙලෙසය:
swat මෘදුකාංගයට අවශ්ය වන අනෙකුත් මෘදුකාංගද බාගතයුතු බැවින් ඒ සියල්ල පිලිබඳ විස්තර දී, බාගතයුතු ගොනු වල ප්රමානයද දී මෙම ක්රියාව සනාත කරනන්ට අසයි. Y යතුර ඔබා එය සනාත කරන්න.
දැන් එම මෘදුකාංග බාගත වී ස්තාපනය වීම සිදුවේ. මෙය පියවරෙන් පියවර සිදුවන අතර එය ඔබට තිරයෙහි බලාගත හැක.
අවසානයේ මෙසේ දිස්වේ :
දැන් මෙය සක්රීය කලයුතුව ඇත. පහත විදානය දෙන්න:
එවිට එම ගොනුව nano editor එක තුල මෙසේ දිස්වේ :
මෙහි ඇති disable = yes යන පේලිය පමනක් මෙසේ වෙනස් කරන්න :
එවිට මෙලෙස තිබිය යුතුය :
දැන් මෙම ගොනුව යාවත්කාලීන කර වසාදමන්න (CTRL+X බාවිතයෙන්)
දැන් මෙම විදාන දෙන්න:
Code:
chkconfig xinetd on
service xinetd start
ප්රතිඵල මෙසේය :
දැන් server එකෙ firefox browser එක ගෙන (gnome menu -> Internet -> Firefox )
මෙම වෙබ අඩවියට යන්න:
මේ SWAT මෘදුකාංගයයි. මෙයට username ලෙස root සහ password ලෙස rootහි මුරපදයත් දෙන්න. එවිට මෙසේය :
මෙහි ඇති WIZARD බොත්තම ඔබන්න.
අලුත් පිටුවෙහි ඇති options මෙලෙස තෝරා ගන්න :
Server Type : Domain Controller
Configure Wins As : Server for Client Use
Expose Home Directories : No
දැන් COMMIT බොත්තම තද කරන්න.
දැන් GLOBALS බොත්තම ඔබා Global Settings පහත පරිදි ඇතුලත් කරන්න :
පහත සඳහන් කර නැති settings බොහොමයක් ඇත. ඒවා ඒ ඇති සැටියෙන්ම තබන්න. පහත දී ඇත්තෙ වෙනස් කිරීමට අවශ්ය settings පමනි.
Code:
Change View To : Advanced බොත්තම ඔබන්න.
WORKGROUP : EKDOMAIN (මෙය අප සදන domain එකේ නමයි. කැමති එකක් දාගන්න).
NETBIOS NAME : SERVER (මෙය මෙම server එකෙ නමයි. windows network එකෙ දිස්වන්නේ මෙම නමිනි. කැමත්තක් යොදාගන්න)
SERVER STRING : EKDOMAIN CONTROLLER (මෙය description එකක් පමනි. කැමැත්තක් යොදා ගන්න)
PASSWD PROGRAM : /usr/bin/passwd %u
PASSWD CHAT DEBUG : YES
USERNAME MAP : /etc/samba/smbusers
UNIX PASSWORD SYNC : YES
LOG LEVEL : 3
PROFILE ACLS : YES
ADD USER SCRIPT : /usr/sbin/useradd -m '%u' -g sambausers -G sambausers
DELETE USER SCRIPT : /usr/sbin/userdel -r '%u'
ADD GROUP SCRIPT : /usr/sbin/groupadd '%g'
DELETE GROUP SCRIPT : /usr/sbin/groupdel '%g'
ADD USER TO GROUP SCRIPT : /usr/sbin/usernod -G '%g' '%u'
ADD MACHINE SCRIPT : /usr/sbin/useradd -s /bin/false/ -d /var/lib/nobody '%u'
LOGON SCRIPT : scripts/logon.bat
LOGON PATH : \\%N\profiles\%U
LOGON DRIVE : H: (මේ සඳහා windows පරිගනක වල දැනට බාවිතා නොවන drive එකකක නමක් යොදාගන්න)
OS LEVEL : 200
PREFERRED MASTER : YES
LOCAL MASTER : YES
DOMAIN MASTER : YES
IDMAP UID : 15000-20000
IDMAP GID : 15000-20000
TEMPLATE SHELL : /bin/bash
දැන් COMMIT CHANGES බොත්තම ඔබන්න.
මෙලෙස දිස් වනු ඇත:
දැන් SHARES බොත්තම ඔබන්න.
පෙර සේම
Change view to : Advanced බොත්තම ඔබන්න.
මෙලෙස දිස් වෙනු ඇත:
දැන් CREATE SHARE බොත්තම ඉදිරියේ ඇති කොටුවෙහි :
ලෙස ටයිප් කර CREATE SHARE බොත්තම ඔබන්න. එවිට මෙම share එකට අදාල වන settings ඊට යටින් දිස්වෙනු ඇත :
පෙර Globalsහි පරිදි මේ සඳහාද පහත පරිදි settings යොදන්න. නැවතත්, පහත දී ඇත්තේ වෙනස් කල යුතු settings පමණි.
Code:
COMMENT : Network Logon Service
PATH : /home/samba/netlogon
VALID USERS : %U
ADMIN USERS : administrator
READ ONLY : yes
GUEST OK :yes
SHARE MODES : no
BROWSEABLE : no
AVAILABLE : yes
දැන් COMMIT CHANGES බොත්තම ඔබන්න.
එවිට මෙලෙස දිස්වේ :
දැන් පෙර netlogon share එක සෑදූ ලෙසම තවත් share එකක් සාදමු.
create share ඉදිරි පස ඇති කොටුවේ profiles ලෙස සටහන් කර create share බොත්තම ඔබන්න.
දැන් එයට මෙම settings යොදන්න:
Code:
COMMENT : User profiles
PATH : /home/samba/profiles
VALID USERS : %U
READ ONLY : no
CREATE MASK : 0600
SECURITY MASK : 0600
DIRECTORY MASK : 0770
DIRECTORY SECURITY MASK : 0770
BROWSEABLE : no
AVAILABLE : yes
COMMIT CHANGES බොත්තම ඔබන්න.
මෙපරිදි දිස්වේ :
domain controller සඳහා පමනක් අචශ්ය samba server settings ඔපමනයි. Browser එක වසා දමා නැවතත් terminal එකට යොමු වන්න.
ඉහත settings තුල /home/samba/profiles සහ /home/samba/netlogon ලෙස ගොනු දෙකක් සඳහන් උනා. මේ ගොනු අප ඇති කලයුතුය. ඊට අමතරව ඒ ගොනු sambausers නැමති තවම පිහිටවා නැති සමූහයට (group) අයත් වියයුතුය.
දැන් මෙම සමූහය සහ ගොනු ඇති කර ඒවායේ අයිතියන් නිසි පරිදි දෙමු.
root ලෙස terminal එකේ පහත විදාන දෙන්න:
Code:
mkdir -p /home/samba/netlogon
mkdir /home/samba/profiles
chmod 777 /var/spool/samba
groupadd sambausers
chown -R root:sambausers /home/samba
chmod 777 /home/samba
chmod 755 /home/samba/netlogon
chmod 770 /home/samba/profiles
මෙම විදාන නිසි පරිදි දුන්නා නම් කිසිම ප්රතිඵලයක් (command output) තිරයේ දිස් නොවේ. කිසියම් වරදක් සිදුවුනොත් පමනක් ප්රතිඵලයක් තිරයේ දිස්වේ.
ඉහත chmod, chown විදාන ඔබ FTP තුල බාවිතා කරන විදානම වේ.
groupadd යනු සමූහයක් ඇති කරන විදානය වේ.
mkdir යනු ගොනු නිර්මානය කරන විදානයයි. windows වල command prompt එකේ දෙන විදානයට සමානයි.
දැන් core system ගොනුවක් වෙනස් කල යුතුව ඇත. එම නිසා පරිස්සම් වන්න.පහත විදානය දෙන්න :
මෙහි
Code:
hosts: files mdns4_minimal [NOTFOUND=return] dns myhostname
යන පේලියට යන්න. එම කොටස මෙලෙස වේ :
ඉහත පේලිය මෙලෙස වෙනස් කරන්න :
Code:
hosts: files wins mdns4_minimal [NOTFOUND=return] dns myhostname
දැන් එම කොටස මෙලෙස තිබිය යුතුය :
CTRL+x බාවිතා කර ගොනුව යාවත්කාලීන කර වසාදමන්න.
දැන් root යනු samba server හි administrator ලෙස දැනුම් දිය යුතුයි. මේ සඳහා පහත විදානය දෙන්න.
root හි මුරපදය ඉල්ලනු ඇත. එය දෙවරක් ලබා දෙන්න.
දැන් windows domain එකට අදාල සමූහයන් හදා ඒවාට අනුරූප linux සමූහයන්ට බද්ද කරමු. root ලෙස terminal එකෙ මෙම විදාන දෙන්න :
Code:
net groupmap add ntgroup="Domain Admins" unixgroup="root" type=domain -U root
net groupmap add ntgroup="Domain Users" unixgroup="users" type=domain -U root
net groupmap add ntgroup="Domain Guests" unixgroup="nobody" type=domain -U root
මෙම විදාන ක්රියාත්මක කල විට මෙලෙස දිස්වේ :
දැන් selinux ක්රීයා විරහිත කල යුතුය. මේ සඳහා පහත විදානය දෙන්න:
මෙහි ඇති SELINUX=enforcing යන පේලිය මෙලෙස වෙනස් කරන්න:
වෙනස් කල විට මෙලෙස තිබිය යුතුය :
CTRL+x බාවිතා කර ගොනුව යාවත්කාලීන කර වසාදමන්න.
දැන් පරිගනකය reboot කලයුතුය.
Domain controller ලෙස දැන් මෙම ලිනක්ස් පරිගනකය ක්රියා කරයි.
මෙම ඩොමේනයට පරිගනක හා users ඇතුලත් කරන අයුරූ මිලච පෝස්ට් එකෙන් බලමු.