SAMBA শেয়ারের সাথে ফাইন্ডারে সিমলিঙ্কড ফোল্ডার অনুলিপি করার সময় আপনি কীভাবে 43-এ এড়াতে পারেন?


2

প্রসঙ্গ

একটি ম্যাক চলমান মাউন্টেন লায়ন থেকে, QNAP NAS দ্বারা পরিবেশিত একটি "মাল্টিমিডিয়া" ফাইন্ডারে SAMBA এর মাধ্যমে রুট হিসাবে মাউন্ট করা হয়। চলুন আমি NAS তে একটি ডিরেক্টরি একটি প্রতীকী লিঙ্ক তৈরি করি, যেমন:

[/share/Multimedia] # ln -s /share/MD0_DATA/Multimedia/test/ ./folder/symlink     

এটা কাজ করে:

[/share/Multimedia] # ls -la folder
lrwxrwxrwx  1 admin  administ  34 Oct 14 19:24 symlink -> /share/MD0_DATA/Multimedia/test//

আমিও পারি mv এবং cp সমস্যা ছাড়া এবং ফাইল symlink যখন নাসা নেভিগেশন লগ।

এটি ক্লায়েন্ট-পার্শ্বের পরিস্থিতি, একটি ম্যাক 10.8.2 চলমান:

client:~ myself$ id
uid=501(myself) gid=20(staff) groups=20(staff),401(com.apple.access_screensharing),
12(everyone),33(_appstore),61(localaccounts),79(_appserverusr),80(admin),
81(_appserveradm),98(_lpadmin),100(_lpoperator),204(_developer)

অদ্ভুত, ক্লায়েন্ট চিনতে না symlink যেমন; এটি পরিবর্তে একটি স্বাভাবিক ডিরেক্টরি (আমি আউটপুট অনুযায়ী যে নোট করুন rwx অনুমতি):

client:folder myself$ ls -la
drwx------  1 myself  staff  16384 18 Okt 23:25 symlink

একই ফোল্ডারে, যেখানে ফোল্ডার symlink একটি উপনাম হিসাবে প্রদর্শিত হয় না, কিন্তু একটি স্বাভাবিক ফোল্ডার হিসাবে।

আমি পারি cd মধ্যে symlink এবং আমি সমস্যা ছাড়া ফাইল পড়তে পারেন। ফাইন্ডারে একই।

সমস্যাটি

যদি আমি লিখতে চেষ্টা করি ( mv অথবা cp ) একটি ফাইল symlink ক্লায়েন্ট পাশে, এটি ব্যর্থ হয়:

 client:folder myself$ mv test.txt symlink/
 mv: rename test.txt to symlink/test.txt: No such file or directory

একইভাবে, একটি ফাইল সরানো বা অনুলিপি করার কোন প্রচেষ্টা symlink ফাইন্ডারে ড্র্যাগ-এন-ড্রপের মাধ্যমে নিম্নলিখিত ত্রুটি প্রদান করে:

অপারেশনটি সম্পন্ন করা যাবে না কারণ এক বা একাধিক প্রয়োজনীয় আইটেম পাওয়া যাবে না। (ত্রুটি কোড = -43)।

(একটি ফাইল মুভিং / অনুলিপি করা থেকে symlink NAS এর অন্য অবস্থানে ঠিক সূক্ষ্ম কাজ করে।)

এখানে টার্মিনালে একটি লেখার ক্রিয়াকলাপের আউটপুট রয়েছে:

 client:symlink myself$ touch text.txt
 touch: text.txt: Permission denied

আগ্রহজনকভাবে, আমি সফলভাবে উপস্থিত ফাইলগুলি সফলভাবে মুছে ফেলতে পারি:

 client:symlink myself$ ls -la
 total 64
 drwx------  1 myself  staff  16384 18 Okt 23:51 .
 drwx------  1 myself  staff  16384 18 Okt 23:48 ..
 -rwx------  1 myself  staff      5 18 Okt 23:51 text.txt
 client:symlink myself$ rm text.txt 
 client:symlink myself$ ls -la
 total 64
 drwx------  1 myself  staff  16384 18 Okt 23:56 .
 drwx------  1 myself  staff  16384 18 Okt 23:48 ..

আমি এই সমস্যার নির্ণয় এবং সমাধান কিভাবে ক্ষতির উপর সত্যিই।

প্রাসঙ্গিক অ্যাপল কেবি ত্রুটি -43 এর তিনটি কারণ থাকতে পারে:

  • অবৈধ অক্ষর ( সেখানে কেউ নেই )
  • অনুমতি ( অনুমতি জরিমানা মনে হচ্ছে, দেখুন ls -la উপরে আউটপুট। আমি NAS এর অ্যাডমিন অ্যাকাউন্ট দিয়ে শেয়ারটি মাউন্ট করি এবং আমি আমার ম্যাক ক্লায়েন্টের প্রশাসক হিসাবে লগ ইন হয়েছি। )
  • অস্তিত্ব ভাগ পয়েন্ট ( শেয়ার বিদ্যমান এবং অন্যথায় ভাল কাজ করে )

অতিরিক্ত তথ্য

এখানে সমস্যা সমাধান করার জন্য আরও কিছু তথ্য রয়েছে:

বিশ্বব্যাপী বিকল্প /etc/smb.conf নিম্নলিখিত উপর ন্যাস সেট করা হয়:

[global]
passdb backend = smbpasswd
workgroup = WORKGROUP
security = USER
server string =
encrypt passwords = Yes
username level = 0
map to guest = Bad User
null passwords = yes
max log size = 10
socket options = TCP_NODELAY SO_KEEPALIVE SO_SNDBUF=65536 SO_RCVBUF=65536
os level = 20
preferred master = no
dns proxy = No
smb passwd file=/etc/config/smbpasswd   
username map = /etc/config/smbusers
guest account = guest
directory mask = 0777
create mask = 0777
oplocks = yes
locking = yes
disable spoolss = yes
load printers = no
force directory security mode = 0000
veto files = /.AppleDB/.AppleDouble/.AppleDesktop/:2eDS_Store/Network Trash Folder/Temporary Items/TheVolumeSettingsFolder/.@__thumb/.@__desc/:2e*/
delete veto files = yes
map archive = no
map system = no
map hidden = no
map read only = no
deadtime = 10
use sendfile = yes
display charset = UTF8
unix extensions = no
store dos attributes = yes
client ntlmv2 auth = yes
dos filetime resolution = no
min receivefile size = 4096
case sensitive = auto
domain master = auto
local master = yes
inherit acls = yes
wide links = yes
follow symlinks = yes
wins support = no
force unknown acl user = yes
template homedir = /share/homes/DOMAIN=%D/%U
domain logons = no

নির্দিষ্ট অপশন:

[Multimedia]
comment = System default share
path = /share/MD0_DATA/Multimedia
browsable = yes
oplocks = no
ftp write only = no
public = yes
invalid users =
read list = @"everyone","gast"
write list = "admin","guest"
valid users = "root",@"everyone","admin","guest","gast"
inherit permissions = yes

ক্লায়েন্টের পাশে লগগুলি অনেক কিছু বলে না:

/private/var/log/system.log (যা 10.8 থেকে কার্নেল.log অন্তর্ভুক্ত) মাঝে মাঝে এন্ট্রি যেমন দেখায়:

 Oct 18 22:13:43 client kernel[0]: smb_iod_reconnect: Reconnected share MULTIMEDIA with server qnap-SAMBA._smb._tcp.local

এবং /private/var/log/samba/ আমার সিস্টেমে বিদ্যমান নেই।

কোন সাহায্যের অনেক প্রশংসা করা হয়।


সম্পর্কে বিস্ময়কর ls -ld /share/MD0_DATA/Multimedia/test/ কমান্ড ফলাফল। সুতরাং, symlink পয়েন্ট যেখানে ডিরেক্টরি এর অনুমতি কি।
jm666

@ jm666 drwxrwxrwx 2 admin administ 4096 Oct 19 21:12 test/
DBK

@ জেএম666: আসলে, ln -s /share/MD0_DATA/Multimedia/test/ etc. ভুল সিনট্যাক্স বলে মনে হচ্ছে (শেষের দিকে পিছনে স্ল্যাশটি নোট করুন)। যাহোক, ln -s /share/MD0_DATA/Multimedia/test etc. পরিস্থিতি পরিবর্তন করে না।
DBK

আমার মন কি আসে শেষ জিনিস - আপেক্ষিক symlink পথ চেষ্টা করুন। সুতরাং, cd /share/MD0_DATA/Multimedia/folder; ln -s ../test ./symlink। সম্ভবত সাহায্য না, কিন্তু অন্য ধারণা এবং সম্ভবত একটি এক্সপোর্ট কিছুটা ক্লায়েন্ট ভিউ দ্বারা পরম পথ messing হয় না ...
jm666

আচ্ছা, এখন আপনি উভয় বলেন "আমিও পারি mv এবং cp সমস্যা ছাড়া এবং ফাইল symlink "এবং" যদি আমি লিখতে চেষ্টা করি ( mv অথবা cp ) একটি ফাইল symlink, এটা ব্যর্থ হয় "তাই আমি বিভ্রান্ত।
Old Pro

উত্তর:


2

আপনার কনফিগারেশন, আপনি আছে unix extensions = no যা জরিমানা, কিন্তু সেই কারণে সার্ভারের প্রতীকী লিঙ্কগুলি ফোল্ডার হিসাবে দেখানো হচ্ছে এবং উপনাম নয়। এই মোডে সার্ভার সিম্বলিক লিঙ্কগুলি সমাধান করে এবং ক্লায়েন্ট তাদের কখনই দেখেন না। ক্লায়েন্ট একটি প্রতীকী লিঙ্ক তৈরি করার চেষ্টা করে, সার্ভার আসলে একটি ওরফে ফাইল তৈরি করে, একটি হোস্ট-ওএস সিম্বলিক লিঙ্ক নয়। এর কারণগুলি নিরাপত্তা অন্তর্ভুক্ত করে (অ্যাক্সেস পাওয়ার থেকে কাউকে বাধা দেয় /etc/passwd সার্ভারে এটি একটি প্রতীকী লিঙ্ক তৈরি করে) এবং ক্লায়েন্ট সামঞ্জস্য, যেমন ওএস এক্স এবং উইন্ডোজ এবং ইউনিক্সের একটি প্রতীকী লিঙ্ক গঠন সম্পর্কে সামান্য ভিন্ন ধারনা রয়েছে তবে তারা বেশিরভাগই কোনও ডিরেক্টরি বা কোন ফাইলের সাথে একমত হয়।

SAMBA এর সাথে অনুমতিগুলির সমস্যাগুলি জটিল, সুতরাং আপনার কাছে কোনও অনুমতি সমস্যা নেই তা স্পষ্ট নয়। অনুরূপভাবে সমাধান করার মতো প্রতীক জটিল, তাই এটি পরিষ্কার নয় যে আপনি যা করছেন তা তত্ত্ব তত্ত্বের কাজ এবং সর্বদা একটি বাগের সম্ভাবনা (সম্ভবত স্যামবা সার্ভারে)।

একটি ম্যাক থেকে একটি SAMBA সার্ভার অ্যাক্সেস করার সময়, এই সনাক্তকরণ এবং অনুমতি জড়িত হয়:

  • ম্যাক ব্যবহারকারী হিসাবে আপনি ম্যাক লগ ইন করা হয়
  • SAMBA ব্যবহারকারী হিসাবে আপনি SAMBA সার্ভারে লগ ইন করেছেন
  • SAMBA সার্ভার হোস্ট ওএস ব্যবহারকারী আপনি রূপান্তরিত পেতে
  • ইউনিক্স-শৈলী ফাইল অনুমতি
  • NTFS এবং HFS + এর জন্য, সংযুক্ত ফাইল-সিস্টেম ACLs

যদিও আপনি অনেক তথ্য সরবরাহ করেছেন তবে এটি এখনও পরিষ্কার নয় যে আপনার অনুমতিগুলির সমস্যা নেই। আপনি যে করতে পারেন mv এবং cp সার্ভারে (কোন অ্যাকাউন্টটি ব্যবহার করছেন?) এর অর্থ এই নয় যে আপনার কাছে ক্লায়েন্টের (এটি কোন অ্যাকাউন্টগুলি এবং সার্ভারে কোন কার্যকরী অ্যাকাউন্ট ব্যবহার করে?) ব্যবহার করা থেকে বাধা দেওয়ার অনুমতিগুলির কোনও সমস্যা নেই।

যদি সার্ভার ACLs সমর্থন করে এবং আপনার মত বিকল্প থাকে inherit permissions = yes এবং inherit acls = yes সেখানে এমন কোনও ধরনের ACL সমস্যা থাকতে পারে যা শুধুমাত্র প্রতীকী লিঙ্কগুলির মাধ্যমে অ্যাক্সেস করা ডিরেক্টরিগুলিতে অ্যাক্সেস পড়ার অনুমতি দেয়। সার্ভার কনফিগারেশনের উপর ভিত্তি করে তদন্তের বিভিন্ন উপায় রয়েছে।

আমি আশা করি আপনি স্যামবা সার্ভার লগগুলিতে আরও তথ্য পেতে পারবেন যা আপনি যোগাযোগের চেয়ে বেশি। তারা আপনাকে অস্বীকার করা হচ্ছে কি ঠিক একটি অনেক ভাল অর্থে দিতে হবে।

এটির মূল্য কত, তার জন্য আমি UABuntu 12.04 হোস্ট ব্যবহার করে SAMBA সার্ভার হিসাবে আপনার সেটআপটি অনুলিপি করার চেষ্টা করেছি এবং আপনার সমস্যাটি পুনরুত্পাদন করতে পারিনি। প্রতীকী লিঙ্ক প্রত্যাশিত হিসাবে আমার জন্য কাজ।


তোমার ব্যাখ্যার জন্য ধন্যবাদ! অনুমতি মাত্রা আমি চিন্তা চেয়ে আরো জটিল। আমি বুঝতে পারি এখন অনুমতিগুলি কোনও সমস্যা হতে পারে - এসিএলগুলি সম্পর্কে মোটেই মনে হয় না। যদিও আমি আমার সমস্যার সমাধান করেছি (ক্লায়েন্ট-সাইডে সিম্বলিংগুলি তৈরি করছি), আমি ট্রায়াল এবং ত্রুটির রুট যাব এবং সেটিংস সংশোধন করতে পারি এবং আরও ভালভাবে বুঝতে পারার জন্য বিভিন্ন অনুমতি স্তরগুলি পরীক্ষা করে দেখতে পারি। পুরো স্থাপত্য। এখানে আপনার +50 :)
DBK

বিটিডব্লিউ, আমি ত্রুটিটি পুনরুত্থিত করার সময় SAMBA সার্ভার লগ-এ একবার নজর দিয়েছি, কিন্তু কিছুই লগ করা হয়নি (এটি কিছু শব্দের সেটিংসের সাথে করতে হবে?) ...
DBK

[~] # tail -f /var/log/log.smbd [2012/10/24 00:00:06, 0] smbd/server.c:1329(main) smbd version 3.5.2 started. Copyright Andrew Tridgell and the Samba Team 1992-2010 [2012/10/24 00:00:09.447243, 1] smbd/service.c:1073(make_connection_snum) client (***.***.***.***) connect to service Multimedia initially as user admin (uid=0, gid=0) (pid 28255) [2012/10/24 00:00:17.518605, 1] smbd/service.c:1073(make_connection_snum) [2012/10/24 00:03:06.528095, 0] smbd/server.c:313(remove_child_pid) Could not find child 28314 -- ignoring
DBK

@DBK আমি যদি সত্যিই তাদের প্রয়োজন হয় তবে আমি ACL গুলি অক্ষম করব। উবুন্টুর অধীনে সার্ভারে প্রতিটি ক্লায়েন্টের জন্য পৃথক SAMBA লগ ছিল, তাই তাদের জন্য সন্ধান করুন। আপনার পোস্টের চেয়ে আরও বেশি তথ্য থাকলে আপনার সার্ভারের ডিবাগিং লগ স্তরটি বাড়িয়ে তুলুন। আপনার সার্ভারের ওএস কি? সার্ভার কি ফাইল সিস্টেম ব্যবহার করে?
Old Pro

আকর্ষণীয়, ধন্যবাদ। "ইউনিক্স এক্সটেনশন = না" [গ্লোবাল] কৌশল ছিল উবুন্টুকে জিজ্ঞাসা করা একটি প্রশ্নের জবাবে, Samba উপর symlinks সঙ্গে অনুমতি সমস্যা
Graham Perrin
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.