আমি উবুন্টু 10.04 সার্ভার ব্যবহার করছি।
আমি উবুন্টু 10.04 সার্ভার ব্যবহার করছি।
উত্তর:
[সম্পাদনা] এর পর থেকে আমি এটি উবুন্টু 10.04 সার্ভারের সম্পূর্ণ প্রকাশের পরীক্ষা করেছি (21 / মে / 2010) ।
সক্রিয় ডিরেক্টরি ব্যবহার করে লগইন প্রমাণ করতে উইন্ডোজ নেটওয়ার্কে বসবাসকারী আমার উবুন্টু 10.04 সার্ভার এলটিএসটি কনফিগার করেছি , তারপরে একটি হোম উইন্ডোজ ডিরেক্টরি হিসাবে পরিবেশন করার জন্য একটি উইন্ডোজ শেয়ার মাউন্ট করুন।
উবুন্টুর প্রাথমিক ইনস্টলেশন থেকে আমি এখানে যা শুরু করেছি তা এখানে।
আপডেট পান
# sudo apt-get update && sudo apt-get upgrade
একটি এসএসএইচ সার্ভার ইনস্টল করুন ( sshd
)
# sudo apt-get install openssh-server
কেউ কেউ যুক্তি দেখান যে আপনার মূল লগইনগুলি অক্ষম করে "লক এসএসডি ডাউন" করা উচিত। আমি চিন্তা করে আপনার স্মার্ট যথেষ্ট একটি রুট পাসওয়ার্ড একটি SSH অধিবেশন হ্যাক করুন, আপনি সম্ভবত না যোগে দ্বারা খর্ব করা চলুন PermitRootLogin no
মধ্যে /etc/ssh/sshd_config
ফাইল। যদি আপনার অদ্ভুত বা সহজভাবে বিশ্বাস না হয় তবে ফাইলটি সম্পাদনা করুন বা নিম্নলিখিতটি একটি স্পিন দিন:
# (grep PermitRootLogin /etc/ssh/sshd_config && sudo sed -ri 's/PermitRootLogin ).+/\1no/' /etc/ssh/sshd_conifg) || echo "PermitRootLogin not found. Add it manually."
প্রয়োজনীয় প্যাকেজ ইনস্টল করুন
# sudo apt-get install winbind samba smbfs smbclient ntp krb5-user
নির্দিষ্ট প্যাকেজ কনফিগারেশনগুলি আসার প্রস্তুতির জন্য কিছু বেসিক নেটওয়ার্কিং হাউসক্যালিং করুন।
সক্রিয় ডিরেক্টরি সার্ভারের জন্য (সাম্বার জন্য) আপনার উইন্ডোজ ডোমেন নাম, ডিএনএস সার্ভারের নাম এবং আইপি ঠিকানা নির্ধারণ করুন। কনভেনিয়েন্সের জন্য আমি উইন্ডোজ ডোমেন এবং ডিএনএস সার্ভারের জন্য পরিবেশের ভেরিয়েবল সেট করি। আমার জন্য এটি ছিল (আমার এডি আইপি ঠিকানাটি 192.168.20.11 ছিল):
# WINDOMAIN=mydomain.local && WINDNS=srv1.$WINDOMAIN && WINDNS_IP=192.168.20.11
আপনি যদি নিজের ডোমেন এবং ডিএনএস সার্ভারটি কী তা নির্ধারণ করতে চান (আমি ঠিকাদার ছিলাম এবং নেটওয়ার্কটি জানতাম না) এই সহায়ক রেফারেন্সটি পরীক্ষা করে দেখুন ।
আমাদের নতুন নেটওয়ার্কে লিনাক্স বক্সের নামকরণ দরকার, এটি হোস্ট ফাইলটি সম্পাদনা করে করা হয় (উইন্ডোজ ডিএনএসের এফকিউডিএন দিয়ে ডিএনএস প্রতিস্থাপন করুন):
# sudo sed -ri "s/^(127\.0\.[01]\.1[ \t]).*/\1$(hostname).$WINDOMAIN localhost $(hostname)/" /etc/hosts
আমাদের আসন্ন ইনস্টল করা পরিষেবাগুলিও সেখানে বলা উচিত যেখানে তারা সেখানে নেতা খুঁজে পেতে পারে: কিছু নেটওয়ার্কের নেটবায়োসের নাম অনুসন্ধানের পরিষেবা থাকবে তবে কেবলমাত্র আপনার /etc/hosts
ফাইলটিতে একটি স্পষ্টভাবে এন্ট্রি যুক্ত করুন, আমার কনফিগারেশনে আমি তৃতীয়টিতে এন্ট্রি যুক্ত করেছি (3) লাইন:
# sudo sed -ri "3 i $WINDNS_IP $WINDNS" /etc/hosts
উইন্ডোজ এবং লিনাক্স বাক্সগুলির জন্য প্রমাণীকরণ এবং ফাইল ভাগ করে নেওয়ার প্রক্রিয়াগুলির তাদের ঘড়িগুলিতে সম্মত হওয়া দরকার। এটি একটি এনটিপি পরিষেবা দিয়ে করুন, এবং উবুন্টুর সার্ভার সংস্করণে এনটিপি পরিষেবাটি একটি (1) এনটিপি সেভারের সাথে ইনস্টল এবং কনফিগার করা হবে । উবুন্টু একের আগে আপনার যুক্ত করুন (বা এটি পুরোপুরি প্রতিস্থাপন করুন)। আমি যে নেটওয়ার্কে যোগ দিচ্ছিলাম তার ডিএনএস সার্ভারটি এনটিপি পরিষেবাও সরবরাহ করে।
# sudo sed -ri "s/^(server[ \t]+)(.+)/\1$WINDNS\n\1\2/" /etc/ntp.conf
এনটিপি ডেমন পুনরায় চালু করুন:
# sudo /etc/init.d/ntp restart
কার্বেরোস কনফিগারেশন।
এখানে অনুসরণ করা নির্দেশাবলী আক্ষরিকভাবে গ্রহণ করা উচিত নয়: আপনি ফাইলগুলি সম্পাদনা করার সময় আপনার নেটওয়ার্কের জন্য উপযুক্ত কিসের জন্য মানগুলি MYDOMAIN.LOCAL
এবং srv1.mydomain.local
প্রতিস্থাপন করা দরকার তবে নোট করুন যে যেখানে ইউপিআরসিএসইএস ব্যবহার করা হয় সেখানে প্রয়োজনীয় ।
যদি, apt-get install
কার্বেরোসের সময় আপনি "ডিফল্ট ডোমেন" প্রশ্নের সঠিকভাবে উত্তর দেওয়ার অন্তর্দৃষ্টি পেয়ে থাকেন, তবে, আপনার জন্য শুভ, অন্যথায় আপনাকে নিম্নলিখিতগুলি করতে হবে do
(পূর্বে ইনস্টল করা) /etc/krb5.conf
ফাইলটি সম্পাদনা করুন।
এই [libdefaults]
অধ্যায় এবং কী মান জোড়া পরিবর্তন করুন:
[libdefaults]
default_realm = MYDOMAIN.LOCAL
[realms]
ফাইলের বিভাগে নিম্নলিখিতটি যুক্ত করুন:
MYDOMAIN.LOCAL = {
kdc = srv1.mydomain.local
admin_server = srv1.mydomain.local
default_domain = MYDOMAIN.LOCAL
}
[domain_realm]
ফাইলের বিভাগে নিম্নলিখিতটি যুক্ত করুন:
.mydomain.local = MYDOMAIN.LOCAL
mydomain.local = MYDOMAIN.LOCAL
এই মুহুর্তে একটি দুর্দান্ত পরীক্ষাটি দেখতে হবে আপনার AD কন্ট্রোলার আপনাকে কোনও কার্বেরো টিকিট দেবে কিনা। এটি প্রয়োজনীয় নয় তবে এটি আপনাকে কিছুটা কৌতুকপূর্ণ করে তুলতে পারে:
# kinit <some_windows_domain_user>
তারপরে টিকিটটি দেখার জন্য:
# klist
আপনি টিকিটের ক্যাশে এবং মেয়াদোত্তীর্ণকরণ এবং নবায়ন সম্পর্কে স্টাফ দেখতে পাবেন। উদাসীনতা কমার সাথে সাথে আপনি টিকিটটি প্রকাশ বা নষ্ট করতে পারেন:
# kdestroy
সাম্বা কনফিগার করুন।
নিম্নলিখিত অনুসারে:
এমন সময় আসে যখন সিআইএফএস ব্যবহার করা যায় না বা অন্য কোনও নেটওয়ার্ক ফাইল সিস্টেমের পছন্দ আরও ভাল। অতিরিক্ত সুরক্ষার জন্য যদি কার্বেরোস (krb5 / SPNEGO) প্রমাণীকরণ সমর্থন প্রয়োজন হয়, তবে সাম্বার smbclient বা smbfs সিআইএফএস আলাসের পরিবর্তে ব্যবহার করা আবশ্যক
, cifs
উবুন্টু 10.04 (কার্নেলের সংস্করণ ২.6.৩২.২ এর উপর ভিত্তি করে) এর জন্য কার্নেলের সমর্থন সংস্করণ ১.61১, এবং কার্নেল ডকুমেন্টেশন অনুসারে, পরীক্ষামূলক কার্বেরোস প্রয়োগটি 1.54 সংস্করণ থেকে রয়েছে।
সুতরাং আপনি সেখানে আছেন। আমি cifs
আপনাকে সাম্বার কনফিগারেশনটি দিচ্ছি কি না কাজ করার কোনও ধারণা নেই :
প্রতিস্থাপন করুন /etc/samba/smb.conf
(মনে রাখবেন আমি উবুন্টুর ক্লিন ডিস্ট্রো থেকে কাজ করছিলাম, তাই আমি কোনও কিছু ভাঙ্গার বিষয়ে চিন্তিত ছিলাম না):
[global]
security = ads
realm = MYDOMAIN.LOCAL
password server = 192.168.20.11
workgroup = MYDOMAIN
idmap uid = 10000-20000
idmap gid = 10000-20000
winbind enum users = yes
winbind enum groups = yes
template homedir = /home/%U
template shell = /bin/bash
client use spnego = yes
client ntlmv2 auth = yes
encrypt passwords = yes
winbind use default domain = yes
restrict anonymous = 2
বিভিন্ন পরিষেবা শুরু এবং বন্ধ করুন।
# sudo /etc/init.d/winbind stop
# sudo service smbd restart
# sudo /etc/init.d/winbind start
প্রমাণীকরণ সেটআপ করুন।
সম্পাদনা করুন /etc/nsswitch.conf
। আমার যা প্রয়োজন তা পেতে আমি নিম্নলিখিত কমান্ডটি চালাতে সক্ষম হয়েছি:
# sed -ri 's/(compat)/\1 winbind/' /etc/nsswitch.conf
এখানে আমার /etc/nsswitch.conf
ফাইলের সামগ্রীগুলি রয়েছে :
passwd: compat winbind
group: compat winbind
shadow: compat winbind
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
বিভিন্ন পরিষেবা শুরু এবং বন্ধ করুন।
# sudo /etc/init.d/winbind stop
# sudo service smbd restart
# sudo /etc/init.d/winbind start
ডোমেনে কম্পিউটারে যোগদান করুন। আমি নিশ্চিত যে এটি প্রয়োজনীয়; বিশেষত smb.conf
ফাইল ( security = ads
) ফাইলের সুরক্ষা বিকল্পের কারণে । সম্ভবত কেউ এটি বিবেচনা করতে
# sudo net ads join -U any_domain_user_account
পারে ... আপনি একটি ত্রুটি পেতে পারে DNS update failed!
, কিন্তু আপনি ডোমেনে যোগ দেওয়া হবে। আপনি যদি সার্ভারটি সন্ধান না করার বিষয়ে ত্রুটি পান তবে আপনার ডিএনএস রেকর্ডগুলি সংশোধন করা দরকার। উবুন্টু ইনস্টলেশনের সময়, নেমসার্ভারটি প্রায়শই আপনার গেটওয়েতে নির্দেশ করবে: বেশিরভাগ রাউটার একটি ডিএনএস পরিষেবা করবে। উইন্ডোজ সার্ভার প্রশাসনের জন্য সর্বোত্তম অনুশীলন হ'ল এডিসিরও ডিএনএস চালানো উচিত। আমার ক্ষেত্রে আমার /etc/resolve.conf
ভালো দেখায়: একটি Google ডিএনএস, কেস উইন্ডোতে মোটামুটি নির্ভরযোগ্য ব্যাকআপ এক যায় নিচে হয়।
nameserver 192.168.20.11
nameserver 8.8.8.8
8.8.8.8
এই সময়ে আমি লগইন করতে পারি (সম্ভবত রিবুটের পরে), হোম ডিরেক্টরি উপস্থিত ছিল না, তবে আমি লগইন করতে পারি।
সিআইএফএস লগইনে মাউন্ট করা
এই পরবর্তী পদক্ষেপটি ছিল আমার জন্য চেরি; আমি প্রত্যেকের কার্যকরী ডিরেক্টরিগুলির ব্যাক আপ করার দায়িত্ব চাইনি, এবং উবুন্টু বাক্সটি চালিত হওয়া নির্ভরযোগ্যতার দিক থেকে সন্দেহজনক ছিল। নিম্নলিখিত ব্যবহারকারীদের লগইন করতে এবং তাদের উইন্ডোজ ব্যবহারকারী ডিরেক্টরিটি স্বয়ংক্রিয়ভাবে দেখতে পেত ।
pam_mount
মডিউলটি ডাউনলোড করুন :
# sudo apt-get install libpam-mount
আমি চেয়েছিলাম যে মাউন্ট পয়েন্টটি প্রচলিত স্থানে থাকুক /home/<user>
: এই অংশটি /etc/samba/smb.conf
ফাইল ( template homedir = /home/%U
) দ্বারা কনফিগার করা হয়েছে । তবে আমার এটি ভাগ করে নেওয়া এবং তাদের নিজস্ব উইন্ডোজ ডিরেক্টরিতে নির্দেশ করার দরকার ছিল। এই editting দ্বারা সম্পন্ন হয় /etc/security/pam_mount.conf.xml
ফাইল (যার ফলে এটি এর উদ্দেশ্য সত্ত্বেও, এক্সএমএল নয় মানুষের পাঠযোগ্য):
নিম্নলিখিতগুলিতে যুক্ত করুন /etc/security/pam_mount.conf.xml
এবং অনুসারে পরিবর্তন করুন:
<volume
user="*"
server="srv1.mydomain.local"
path="UserShares"
mountpoint="home"
fstype="cifs"
/>
<cifsmount>mount -t cifs //%(SERVER)/%(VOLUME)/%(USER) %(MNTPT)/%(USER) -o "user=%(USER),uid=%(USERUID),gid=%(USERGID)%(before=\",\" OPTIONS)"</cifsmount>
আমার বোকা মাউন্ট পয়েন্টের কারণে আমাকেও এই লাইনটি যুক্ত করতে হয়েছিল:
<umount>umount %(MNTPT)/%(USER)</umount>
এবং যাতে ব্যবহারকারী ডিরেক্টরিগুলি (মাউন্ট পয়েন্টের জন্য) স্বয়ংক্রিয়ভাবে লাইনটি সন্ধান করে এটি তৈরি করে:
<mkmountpoint enable="1" remove="false" />
remove="false"
বিট বেশ গুরুত্বপূর্ণ: যদি এটা সত্য হিসাবে সেট, pam_mount.so
ডিরেক্টরি মাউন্ট পয়েন্ট যদি একটি ব্যবহারকারী একাধিক বার লগ ইন করতে যা এটা করতে পারি না মুছে দিতে চেষ্টা করে। এই ক্ষেত্রে আপনি যা শেষ করবেন তা হ'ল আপনার সিস্টেমে প্রচুর বিপথগামী মাউন্ট।
pam_mount.so
প্রতিশ্রুতি অনুযায়ী এখনও বিতরণ না। বর্তমান আকারে মাউন্টগুলি পাইলিং করে রাখে এবং হোম ডিরেক্টরিগুলি তৈরি করা হয় না। এখানে এবং পূর্ববর্তী বিটা 2 10.04 সার্ভারের রিলিজের মধ্যে কোথাও এটি কাজ করছে। যদিও আমি এটি পুনরায় তৈরি করতে পারি না।
ডিরেক্টরি তৈরির মাঝামাঝি সময়ে আমি নির্ভর করছি pam_mkhomedir.so
এবং pam_mount.so
লাইনের সামঞ্জস্য হওয়ার আগেই একটি লাইন আটকে দিয়েছি ।
আমি এখনও একাধিক মাউন্টিং সমস্যার সমাধান করতে পারি নি। তবে যতক্ষণ না pam_mount.so
স্থির হয়, আমার /etc/pam.d/common-session
ফাইলটিতে এটিই রয়েছে :
session [default=1] pam_permit.so
session requisite pam_deny.so
session required pam_permit.so
session required pam_unix.so
session optional pam_winbind.so
session required pam_mkhomedir.so skel=/etc/skel/ umask=0022
session optional pam_mount.so
এটাই. এটি আমার পক্ষে কাজ করেছে, এবং আমি আশা করি আপনি এটি দরকারী বলে মনে করেন।
অসংখ্য সংস্থান বিবেচনা করা হয়েছিল তাই আমি এটি বের করতে পারি। এখানে একটি সংক্ষিপ্ত তালিকা রয়েছে (এই লিঙ্কগুলির একটি সংখ্যা এই বিষয়ে আমার নিজের প্রশ্নগুলিকে নির্দেশ করে):
sudo
ডি, না আমি কিছু হারিয়ে যাচ্ছি?
sudo
' - এবং এটি আরও ভাল ... কোন পথে? (সুডোর অধিকারী যে কোনও ব্যবহারকারীর অ্যাকাউন্ট যদি আপোস করা হয় তবে এটি মূলত একই জিনিস root এবং এটি মূলত রুট বা ব্যবহারকারীর অ্যাকাউন্টগুলি ব্রুটফোর্স করার পক্ষে সমানভাবে সহজ [বা না] only কেবলমাত্র পাব-কী লগইন সেটআপ করা, এবং সমস্ত পাসওয়ার্ড- অক্ষম করা- ভিত্তিক লগইন))