কীভাবে একটি অ্যাক্টিভ ডিরেক্টরিতে লিনাক্স অ্যাকাউন্টগুলিকে প্রমাণীকরণ করা এবং লগইনে উইন্ডোজ শেয়ার মাউন্ট করা যায়?


18

আমি উবুন্টু 10.04 সার্ভার ব্যবহার করছি।


এটি একটি প্রশ্নের উত্তর হিসাবে পোস্ট করা উচিত ছিল। দয়া করে এটি সম্পাদনা করুন যাতে এটি একটি প্রশ্ন হয় এবং আপনি যা পোস্ট করেছেন সেটির উত্তর হয়ে যান। এফএকিউ থেকে : "আপনার নিজের প্রশ্ন জিজ্ঞাসা করা এবং উত্তর দেওয়াও পুরোপুরি ঠিক, তবে আপনি ঝুঁকিতে রয়েছেন: একটি প্রশ্নের আকারে এটি বাক্যাংশ করুন।"
পরবর্তী বিজ্ঞপ্তি না দেওয়া পর্যন্ত বিরতি দেওয়া হয়েছে।

উত্তর:


27

[সম্পাদনা] এর পর থেকে আমি এটি উবুন্টু 10.04 সার্ভারের সম্পূর্ণ প্রকাশের পরীক্ষা করেছি (21 / মে / 2010)

সক্রিয় ডিরেক্টরি ব্যবহার করে লগইন প্রমাণ করতে উইন্ডোজ নেটওয়ার্কে বসবাসকারী আমার উবুন্টু 10.04 সার্ভার এলটিএসটি কনফিগার করেছি , তারপরে একটি হোম উইন্ডোজ ডিরেক্টরি হিসাবে পরিবেশন করার জন্য একটি উইন্ডোজ শেয়ার মাউন্ট করুন।

উবুন্টুর প্রাথমিক ইনস্টলেশন থেকে আমি এখানে যা শুরু করেছি তা এখানে।

  1. উবুন্টু সার্ভার 10.04 এলটিএস ডাউনলোড এবং ইনস্টল করুন
  2. আপডেট পান

    # sudo apt-get update && sudo apt-get upgrade

  3. একটি এসএসএইচ সার্ভার ইনস্টল করুন ( 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."

  4. প্রয়োজনীয় প্যাকেজ ইনস্টল করুন

    # sudo apt-get install winbind samba smbfs smbclient ntp krb5-user

  5. নির্দিষ্ট প্যাকেজ কনফিগারেশনগুলি আসার প্রস্তুতির জন্য কিছু বেসিক নেটওয়ার্কিং হাউসক্যালিং করুন।

    1. সক্রিয় ডিরেক্টরি সার্ভারের জন্য (সাম্বার জন্য) আপনার উইন্ডোজ ডোমেন নাম, ডিএনএস সার্ভারের নাম এবং আইপি ঠিকানা নির্ধারণ করুন। কনভেনিয়েন্সের জন্য আমি উইন্ডোজ ডোমেন এবং ডিএনএস সার্ভারের জন্য পরিবেশের ভেরিয়েবল সেট করি। আমার জন্য এটি ছিল (আমার এডি আইপি ঠিকানাটি 192.168.20.11 ছিল):

      # WINDOMAIN=mydomain.local && WINDNS=srv1.$WINDOMAIN && WINDNS_IP=192.168.20.11

      আপনি যদি নিজের ডোমেন এবং ডিএনএস সার্ভারটি কী তা নির্ধারণ করতে চান (আমি ঠিকাদার ছিলাম এবং নেটওয়ার্কটি জানতাম না) এই সহায়ক রেফারেন্সটি পরীক্ষা করে দেখুন ।

    2. আমাদের নতুন নেটওয়ার্কে লিনাক্স বক্সের নামকরণ দরকার, এটি হোস্ট ফাইলটি সম্পাদনা করে করা হয় (উইন্ডোজ ডিএনএসের এফকিউডিএন দিয়ে ডিএনএস প্রতিস্থাপন করুন):
      # sudo sed -ri "s/^(127\.0\.[01]\.1[ \t]).*/\1$(hostname).$WINDOMAIN localhost $(hostname)/" /etc/hosts

    3. আমাদের আসন্ন ইনস্টল করা পরিষেবাগুলিও সেখানে বলা উচিত যেখানে তারা সেখানে নেতা খুঁজে পেতে পারে: কিছু নেটওয়ার্কের নেটবায়োসের নাম অনুসন্ধানের পরিষেবা থাকবে তবে কেবলমাত্র আপনার /etc/hostsফাইলটিতে একটি স্পষ্টভাবে এন্ট্রি যুক্ত করুন, আমার কনফিগারেশনে আমি তৃতীয়টিতে এন্ট্রি যুক্ত করেছি (3) লাইন:
      # sudo sed -ri "3 i $WINDNS_IP $WINDNS" /etc/hosts

    4. উইন্ডোজ এবং লিনাক্স বাক্সগুলির জন্য প্রমাণীকরণ এবং ফাইল ভাগ করে নেওয়ার প্রক্রিয়াগুলির তাদের ঘড়িগুলিতে সম্মত হওয়া দরকার। এটি একটি এনটিপি পরিষেবা দিয়ে করুন, এবং উবুন্টুর সার্ভার সংস্করণে এনটিপি পরিষেবাটি একটি (1) এনটিপি সেভারের সাথে ইনস্টল এবং কনফিগার করা হবে । উবুন্টু একের আগে আপনার যুক্ত করুন (বা এটি পুরোপুরি প্রতিস্থাপন করুন)। আমি যে নেটওয়ার্কে যোগ দিচ্ছিলাম তার ডিএনএস সার্ভারটি এনটিপি পরিষেবাও সরবরাহ করে।
      # sudo sed -ri "s/^(server[ \t]+)(.+)/\1$WINDNS\n\1\2/" /etc/ntp.conf
      এনটিপি ডেমন পুনরায় চালু করুন:
      # sudo /etc/init.d/ntp restart

  6. কার্বেরোস কনফিগারেশন।
    এখানে অনুসরণ করা নির্দেশাবলী আক্ষরিকভাবে গ্রহণ করা উচিত নয়: আপনি ফাইলগুলি সম্পাদনা করার সময় আপনার নেটওয়ার্কের জন্য উপযুক্ত কিসের জন্য মানগুলি MYDOMAIN.LOCALএবং srv1.mydomain.localপ্রতিস্থাপন করা দরকার তবে নোট করুন যে যেখানে ইউপিআরসিএসইএস ব্যবহার করা হয় সেখানে প্রয়োজনীয়
    যদি, apt-get installকার্বেরোসের সময় আপনি "ডিফল্ট ডোমেন" প্রশ্নের সঠিকভাবে উত্তর দেওয়ার অন্তর্দৃষ্টি পেয়ে থাকেন, তবে, আপনার জন্য শুভ, অন্যথায় আপনাকে নিম্নলিখিতগুলি করতে হবে do

    1. (পূর্বে ইনস্টল করা) /etc/krb5.confফাইলটি সম্পাদনা করুন।

      1. এই [libdefaults]অধ্যায় এবং কী মান জোড়া পরিবর্তন করুন:

        [libdefaults]
        default_realm = MYDOMAIN.LOCAL

      2. [realms]ফাইলের বিভাগে নিম্নলিখিতটি যুক্ত করুন:

        MYDOMAIN.LOCAL = {
        kdc = srv1.mydomain.local
        admin_server = srv1.mydomain.local
        default_domain = MYDOMAIN.LOCAL
        }

      3. [domain_realm]ফাইলের বিভাগে নিম্নলিখিতটি যুক্ত করুন:
        .mydomain.local = MYDOMAIN.LOCAL
        mydomain.local = MYDOMAIN.LOCAL

      4. এই মুহুর্তে একটি দুর্দান্ত পরীক্ষাটি দেখতে হবে আপনার AD কন্ট্রোলার আপনাকে কোনও কার্বেরো টিকিট দেবে কিনা। এটি প্রয়োজনীয় নয় তবে এটি আপনাকে কিছুটা কৌতুকপূর্ণ করে তুলতে পারে:
        # kinit <some_windows_domain_user>
        তারপরে টিকিটটি দেখার জন্য:
        # klist
        আপনি টিকিটের ক্যাশে এবং মেয়াদোত্তীর্ণকরণ এবং নবায়ন সম্পর্কে স্টাফ দেখতে পাবেন। উদাসীনতা কমার সাথে সাথে আপনি টিকিটটি প্রকাশ বা নষ্ট করতে পারেন:
        # kdestroy

  7. সাম্বা কনফিগার করুন।
    নিম্নলিখিত অনুসারে: এমন সময় আসে যখন সিআইএফএস ব্যবহার করা যায় না বা অন্য কোনও নেটওয়ার্ক ফাইল সিস্টেমের পছন্দ আরও ভাল। অতিরিক্ত সুরক্ষার জন্য যদি কার্বেরোস (krb5 / SPNEGO) প্রমাণীকরণ সমর্থন প্রয়োজন হয়, তবে সাম্বার smbclient বা smbfs সিআইএফএস আলাসের পরিবর্তে ব্যবহার করা আবশ্যক
    , cifsউবুন্টু 10.04 (কার্নেলের সংস্করণ ২.6.৩২.২ এর উপর ভিত্তি করে) এর জন্য কার্নেলের সমর্থন সংস্করণ ১.61১, এবং কার্নেল ডকুমেন্টেশন অনুসারে, পরীক্ষামূলক কার্বেরোস প্রয়োগটি 1.54 সংস্করণ থেকে রয়েছে।
    সুতরাং আপনি সেখানে আছেন। আমি cifsআপনাকে সাম্বার কনফিগারেশনটি দিচ্ছি কি না কাজ করার কোনও ধারণা নেই :

    1. প্রতিস্থাপন করুন /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

    2. বিভিন্ন পরিষেবা শুরু এবং বন্ধ করুন।

      # sudo /etc/init.d/winbind stop
      # sudo service smbd restart
      # sudo /etc/init.d/winbind start

  8. প্রমাণীকরণ সেটআপ করুন।

    1. সম্পাদনা করুন /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

    2. বিভিন্ন পরিষেবা শুরু এবং বন্ধ করুন।
      # sudo /etc/init.d/winbind stop
      # sudo service smbd restart
      # sudo /etc/init.d/winbind start

  9. ডোমেনে কম্পিউটারে যোগদান করুন। আমি নিশ্চিত যে এটি প্রয়োজনীয়; বিশেষত 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

এই সময়ে আমি লগইন করতে পারি (সম্ভবত রিবুটের পরে), হোম ডিরেক্টরি উপস্থিত ছিল না, তবে আমি লগইন করতে পারি।

  1. সিআইএফএস লগইনে মাউন্ট করা
    এই পরবর্তী পদক্ষেপটি ছিল আমার জন্য চেরি; আমি প্রত্যেকের কার্যকরী ডিরেক্টরিগুলির ব্যাক আপ করার দায়িত্ব চাইনি, এবং উবুন্টু বাক্সটি চালিত হওয়া নির্ভরযোগ্যতার দিক থেকে সন্দেহজনক ছিল। নিম্নলিখিত ব্যবহারকারীদের লগইন করতে এবং তাদের উইন্ডোজ ব্যবহারকারী ডিরেক্টরিটি স্বয়ংক্রিয়ভাবে দেখতে পেত ।

    1. 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ফাইল (যার ফলে এটি এর উদ্দেশ্য সত্ত্বেও, এক্সএমএল নয় মানুষের পাঠযোগ্য):

    2. নিম্নলিখিতগুলিতে যুক্ত করুন /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
      

এটাই. এটি আমার পক্ষে কাজ করেছে, এবং আমি আশা করি আপনি এটি দরকারী বলে মনে করেন।

অসংখ্য সংস্থান বিবেচনা করা হয়েছিল তাই আমি এটি বের করতে পারি। এখানে একটি সংক্ষিপ্ত তালিকা রয়েছে (এই লিঙ্কগুলির একটি সংখ্যা এই বিষয়ে আমার নিজের প্রশ্নগুলিকে নির্দেশ করে):


1
রিমোট রুট ssh লগইন বন্ধ করা আবশ্যক। নিষ্ঠুর বল / অভিধান আক্রমণ কখনও কখনও সফল হয়। যদি রুট আপোস করা হয় তবে মেশিনে আপনার ভরসা করা যেকোন কিছুকে বিদায় জানান।
জেআর লৌহর্ন

1
উবুন্টু যদিও অ্যাকাউন্টটি সক্রিয় করে না ... সব কিছু sudoডি, না আমি কিছু হারিয়ে যাচ্ছি?
জেমি

'সব কিছু sudo' - এবং এটি আরও ভাল ... কোন পথে? (সুডোর অধিকারী যে কোনও ব্যবহারকারীর অ্যাকাউন্ট যদি আপোস করা হয় তবে এটি মূলত একই জিনিস root এবং এটি মূলত রুট বা ব্যবহারকারীর অ্যাকাউন্টগুলি ব্রুটফোর্স করার পক্ষে সমানভাবে সহজ [বা না] only কেবলমাত্র পাব-কী লগইন সেটআপ করা, এবং সমস্ত পাসওয়ার্ড- অক্ষম করা- ভিত্তিক লগইন))
কার্ট ফেফিল

আমি এটি পেয়েছি, তবে বিবেচনা করুন: "বেস্ট হ'ল পব-কি কেবলমাত্র লগইন সেটআপ করা" , যা এই পোস্টের উদ্দেশ্যকে পুরোপুরি পরাস্ত করবে।
জেমি

1
আপনি একটি sudoed বা মূল অ্যাকাউন্ট ব্যবহার করতে পারেন এবং রুট ব্যবহারকারীর নাম পরিবর্তন করতে পারেন যাতে এটি রুট নয় linuxers.org/article/fun-linux-changing-root-user-name-linux
সাইকোডাটা
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.