আপনি কীভাবে সাম্বা ভাগ করে নেওয়া পথের বাইরে সিমলিংক অনুসরণ করেন


61

এটি উবুন্টু সার্ভারটি 10.04 64 এবং সাম্বা 3.4.7।

আমার একটি ভাগ করা ডিরেক্টরি /home/mit/shareএবং অন্য একটি /home/tempযা আমি ভাগ করে নেওয়া একটিতে লিঙ্ক করেছি:

ln -s /home/temp /home/mit/share/temp

তবে উইন্ডোজগুলিতে, ইন্টারনেট ব্যবহারের পরে, আমি খুলতে পারি না S:/temp, তবে লিনাক্সে /home/mit/share/tempপ্রত্যাশার মতো অ্যাক্সেস করা সম্ভব ।

যদি আমি ডিরেক্টরিগুলি ভিতরে ভিতরে লিঙ্ক করি তবে এটি কাজ করে /home/mit/share/temp, সুতরাং আমার ধারণা সাম্বা ভাগ করা ডিরেক্টরিটির বাইরে / উপরে কোনও লিঙ্কের সাথে ঝাঁপিয়ে পড়তে সীমাবদ্ধ করে।

সম্পাদনা করুন:

এই প্রশ্নটি উবুন্টু + সর্বশেষ সাম্বা সংস্করণ শিরোনামেও দেখুন , উইন্ডোতে লাগানো শেয়ারগুলিতে সিমলিংকগুলি আর কাজ করে না

unix extensions = noবিশ্বব্যাপী বিভাগে follow symlinks = yesএবং wide links = yesকেবল শেয়ার বিভাগে রেখে দেওয়া ভাল বলে মনে হচ্ছে , যেখানে আপনার সত্যই এটি প্রয়োজন।

unix extensionপতাকা বিশ্বব্যাপী বিভাগে এবং স্বতন্ত্র শেয়ার বিভাগে বাস করতে হবে। তবে সুরক্ষার কারণে অন্যান্য বিকল্পগুলি কেবল যেখানে আপনার প্রয়োজন সেখানে ব্যবহার করা ভাল, বিশ্বব্যাপী নয়।


আপনি কি একটি সিমিলিংকের পরিবর্তে একটি হার্ডলিঙ্ক চেষ্টা করতে পারেন?
ফালমারি

উত্তর:


92

Smb.conf সম্পাদনা করুন

[global]
unix extensions = no

[share]
follow symlinks = yes
wide links = yes

দ্রষ্টব্য: আপনি সাম্বার একটি নতুন সংস্করণ ব্যবহার করছেন তবে নিম্নলিখিতটি আপনার পরিবর্তে কাজ করতে পারে:

[global]
allow insecure wide links = yes

[share]
follow symlinks = yes
wide links = yes

follow symlinkswide linksপতাকাগুলিতে ডকুমেন্টেশন : https://www.samba.org/samba/docs/using_samba/ch08.html#samba2-CHP-8-TABLE-1


এটি কেন ভাল সমাধান তা উপরের প্রশ্নের শেষে ব্যাখ্যাটিও দেখুন।
এমআইটি

সেক্ষেত্রে অন্য কেউ এই মন্তব্যটির পরিবর্তে এই সংক্ষিপ্ত ফাইলটি নিয়ে লড়াই করে: একটি ব্যাকআপে অনুলিপি করুন এবং cp /etc/samba/smb.conf /etc/samba/smb.conf.bakgrep -o '^[^#;]*' smb.conf.bak >smb.conf
ফিল্টারটি

নেই [share]মানে [<share_name>]?
নেকেতভি

@ নেকটিউই - এটি আমি ধরে নিয়েছিলাম এবং এটি আমার পক্ষে কাজ করেছে।
জেফ

@ জিফ যা আমার পক্ষে কাজ করে নি! স্যুইচ করা হয়েছেsshfs
নেকটভি

11

অভিবাদন, আমি আমার সেটআপের জন্য উইন্ডোজের সিমলিংকগুলি ঠিক করার জন্য এটি কনফিগারেশনে রাখার চেষ্টা করেছি, তবে আমি নিশ্চিত নই যে এটি উইন্ডোজ ক্লায়েন্টকে প্রভাবিত করবে কিনা, অন্যথায় আমি এই বাক্সের সাথে সংযোগ স্থাপন করার সময় এটি সিলেমিংকে অনুসরণ করে।

[global]                                                                        
unix extensions = no

কুইকের উত্তরটি এর সাথে একমত: superuser.com/questions/128716/…
জানুস

হ্যাঁ, এটি অবশ্যই আমার পরিবেশে সমস্যাটি সমাধান করে।
টিএমএল

10

অন্য উত্তরগুলির বিকল্প হিসাবে, ইউনিক্স এক্সটেনশানগুলি সক্ষম রাখতে, এটি ব্যবহার করা সম্ভব:

[global]
allow insecure wide links = yes

[share]
follow symlinks = yes
wide links = yes

নেই [share]মানে [<share_name>]?
নেকেটভি

হ্যাঁ, এটি কোনও smb.conf বিভাগ হতে পারে যা 'একটি ভাগ করা সংস্থান বর্ণনা করে ("শেয়ার" হিসাবে পরিচিত) "(ডকুমেন্টেশন থেকে উদ্ধৃত)। এটি একটি বিশেষ বিভাগেও থাকতে পারে [homes], যেখানে আমি এটি ব্যবহার করি। বিশদ জন্য ডকুমেন্টেশন দেখুন ।
ব্যবহারকারী 1182474

4

সাম্বা ক্লায়েন্টদের ভাগ করা পথের বাইরে সিমলিঙ্কগুলি অনুসরণ করতে অনুমতি দেওয়ার জন্য, সাম্বা কনফিগারেশনে আপনার যা দরকার তা হ'ল:

[global]
allow insecure wide links = yes
unix extensions = no

[myShare]
wide links = yes

(সাম্বা তাদের নিজের সংজ্ঞাগুলিও ভাগ করে নিল অবশ্যই)। এটি তাত্ত্বিকভাবে - * নিক্স ক্লায়েন্টের পক্ষে যথেষ্ট।

এনবি: "হ্যাঁ" এর আগে ডিফল্ট হওয়ায় "ফলো সিমলিংকগুলি" নির্দেশনা প্রয়োজনীয় নয়

উইন্ডোজ ক্লায়েন্টদের হিসাবে, 1 টি সেটিং এখনও তাদের এ জাতীয় লিঙ্কগুলি অনুসরণ করতে অনুপস্থিত। তাই না :

  1. প্রশাসকের সুবিধার্থে একটি উইন্ডোজ শেল খুলুন
  2. চালান:

    fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
    
  3. সেটিংস পুনরায় লোড করতে পুনরায় বুট করুন

এনবি: উইন্ডোজ রেজিস্ট্রি সম্পাদনা করে একই ফলস্বরূপ হতে পারে। নীচের লিঙ্কগুলি দেখুন

উত্স:


0

আপনি যদি অ্যাপআর্মার চালাচ্ছেন তবে কেবল সাম্বা কনফিগারেশন ফাইলের চেয়ে আপনাকে আরও সম্বোধন করতে হবে।

আপনার নিম্নলিখিত নির্দেশাবলী আপনার প্রয়োজন smb.conf:

follow symlinks = yes
wide links = yes
unix extensions = no
# No need for "allow insecure wide links" unless you want "unix extensions = yes"

তবে, অ্যাপআরর্মার নিজস্ব নিয়মকৃত শব্দার্থবিজ্ঞান অনুযায়ী ফাইল সিস্টেমের অংশগুলিতে অ্যাক্সেস ব্লক করে। সুতরাং, যদি সাম্বার মধ্যে থাকা আপনার সিমলিংকটি এমন কোনও জায়গায় নির্দেশ করে যা অ্যাপআর্মার ব্লক করে, সাম্বা অ্যাক্সেসটিকে অস্বীকার করবে।

আমার সিস্টেমে সাম্বা পরিষেবা শুরু / স্টপে অ্যাপআর্মার প্রোফাইলগুলি আপডেট করে, তাই আমি একটি অ্যাপআর্মার প্রোফাইল পরিবর্তন করতে পারি, তবে সাম্বা বা অন্য কোনও প্রোগ্রাম এটি ওভাররাইট করে ঝুঁকিপূর্ণ। পরিবর্তে, আমি স্যাম্বায় সেই অবস্থানটি উল্লেখ করে একটি অ্যাক্সেস অ্যাক্সেসযোগ্য অংশ তৈরি করার সিদ্ধান্ত নিয়েছি যেখানে আমি যে সিমলিংক লক্ষ্যটি অ্যাক্সেস করতে চাইছিলাম তা রয়েছে (এখনও রয়েছে smb.conf):

# The following is a hack for AppArmor to allow the path
[share1 for AppArmor] # Or whichever name you choose
    browseable = no
    path = /home # Point to directory or parent directory of the location to access
    read only = yes
    guest ok = no
    valid users = none
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.