ভার্চুয়াল বক্স ভিএম-তে সঠিক অনুমতি নিয়ে চলমান উবুন্টুর সাথে ডিরেক্টরিগুলি ভাগ করার সঠিক উপায় কী?


23

ভার্চুয়ালবক্সে কোনও ওএস এক্স হোস্ট এবং উবুন্টু অতিথির মধ্যে ডিরেক্টরি ভাগ করার সেরা উপায় কী?

  • হোস্ট: ম্যাক ওএস এক্স 10.7.3
  • অতিথি: উবুন্টু 12.04
  • অতিথিটির অ্যাক্সেস = পূর্ণ এবং অটো-মাউন্ট = হ্যাঁ সহ ভার্চুয়ালবক্স সেটিংসের মাধ্যমে একটি ভাগ করা ডিরেক্টরি রয়েছে ।

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

উবুন্টু 12.04 (অতিথি):

% ls -l
total 0
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 1
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 10
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 2
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 3
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 4
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 5
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 6
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 7
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 8
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 9

ম্যাক ওএস এক্স 10.7.3 (হোস্ট):

$ ls -l
total 0
-rw-r--r--  1 <my-mac-user>  staff  0 Apr 17 21:56 1
-rw-r--r--  1 <my-mac-user>  staff  0 Apr 17 21:56 10
-rw-r--r--  1 <my-mac-user>  staff  0 Apr 17 21:56 2
-rw-r--r--  1 <my-mac-user>  staff  0 Apr 17 21:56 3
-rw-r--r--  1 <my-mac-user>  staff  0 Apr 17 21:56 4
-rw-r--r--  1 <my-mac-user>  staff  0 Apr 17 21:56 5
-rw-r--r--  1 <my-mac-user>  staff  0 Apr 17 21:56 6
-rw-r--r--  1 <my-mac-user>  staff  0 Apr 17 21:56 7
-rw-r--r--  1 <my-mac-user>  staff  0 Apr 17 21:56 8
-rw-r--r--  1 <my-mac-user>  staff  0 Apr 17 21:56 9

আমি যদি অতিথির উপরে chmod করি তবে কিছুই পরিবর্তন হয় না:

% chmod +x 1 | ls -l 1 # guest
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 1

যদি আমি হোস্টটিতে ছমড করি তবে এটি হোস্টের পরিবর্তে তবে অতিথির পরিবর্তে নয়:

$ chmod +x 1 | ls -l 1 # host
-rwxrwx--x  1 <my-mac-user>  staff  0 Apr 17 21:56 1

% ls -l 1 # guest
-rwxrwx--- 1 root vboxsf 0 Apr 17 21:56 1

আহ, আমি এটি বের করেছিলাম, তবে আমি উত্তর আরও 8 ঘন্টা পোস্ট করতে পারি না (পর্যাপ্ত পয়েন্ট নয়)। সমাধানটি হ'ল sudo mount.vboxsf -o umask=002,gid=1000,uid=1000 src /media/sf_src, যেখানে উমাস্ক umaskব্যবহারকারীর মান হয় id <user>, srcইউআইডি এবং গিড আসে, এটি ভিবক্স শেয়ারের নাম এবং /meida/sf_srcপছন্দসই মাউন্ট পয়েন্ট।
jmdeldin

উত্তর:


23

আমি এটি খুঁজে বের করেছি!

বংশবৃদ্ধি:

  1. ভিএম বন্ধ করুন, ভিবক্সের সেটিংসে ভাগ করা ফোল্ডার যুক্ত করুন (স্থায়ী = হ্যাঁ, অটো-মাউন্ট = না)
  2. ভিএম শুরু করুন
  3. টার্মিনাল থেকে, umask && idএই জাতীয় কিছু পাওয়ার জন্য সাধারণ ব্যবহারকারী হিসাবে চালান :

    002 # this is your umask
    uid=1000(luser) gid=1000(luser) groups=1000(luser),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmin),124(sambashare),125(vboxsf)
    
  4. sudo mkdir -p /media/sf_src # src is the shared directory

srcপরীক্ষা হিসাবে ডিরেক্টরি মাউন্ট করতে :

sudo mount.vboxsf -o umask=002,gid=1000,uid=1000 src /media/sf_src 
                           |   |        |        |   |-> where to mount
                           |   |        |        |       the file
                           |   |        |        |-> name of the shared dir
                           |   |        |            (in VBox settings)
                           |   |        |
                           \   |        /
                        from the `id` command

এটিকে স্বয়ংক্রিয়ভাবে লগইনে মাউন্ট করতে, সম্পাদনা /etc/fstabকরুন এবং নিম্নলিখিতগুলি যুক্ত করুন:

src /media/sf_src vboxsf umask=002,gid=1000,uid=1000

এটি ঠিক আমি যা খুঁজছিলাম! আমি অ্যাপাচি 2 এবং আমার ব্যবহারকারীদের জন্য মাউন্ট করা ফোল্ডারে অ্যাক্সেস পেয়েছি এমন একটি ভাগ করে নেওয়া ব্যবহারকারী গ্রুপ তৈরি শেষ করেছি। serverfault.com/questions/6895/…
Thesmart

ধন্যবাদ! নোট করুন যে আমি আবিষ্কার না করা পর্যন্ত আমার বড় সমস্যা ছিল যেটি /sbin/mount.vboxsfএকটি ঝোলা সিমিলিংক! এটি মুছে ফেলুন এবং তারপরে সমস্যার ln -s /opt/VBoxGuestAdditions-4.3.10/lib/VBoxGuestAdditions/mount.vboxsf /sbin/mount.vboxsfসমাধান! অতিথি সংযোজনগুলি ইনস্টল করা সম্ভবত এটি সিমলিংক করতে সক্ষম হয় নি। আমি কাটিয়েছি পর্যন্ত খুব বেশী সময় এই figuring আউট!
সিএসএল

2
... এখন কেবলমাত্র সমস্যাটি মনে হচ্ছে যে vboxsf সিমলিংকগুলি পরিচালনা করে না! হিসাবে, আপনি ভিএম থেকে ভাগ করা ফোল্ডারে সিমলিংক তৈরি করতে পারবেন না! (কমপক্ষে ওএসএক্স, ভার্চুয়ালবক্স 4.3.10
সিএসএল

এই প্রক্রিয়াটি অবশ্যই আপনাকে সেখানে পৌঁছে দেওয়ার কয়েকজনের একটি। আমার ক্ষেত্রে যদিও আমি যখন ভাগ করা ডিরেক্টরিতে পরিবর্তন করি এবং
এলএস

4

সমস্যা - vbox / উবুন্টুতে একটি ওএসএক্স ভাগ করা ড্রাইভ অ্যাক্সেসের অনুমতি সম্পর্কিত সমস্যা

joe_public@joe_public-ubuntu-VirtualBox:/$ ls /media/sf_shared
ls: cannot open directory /media/sf_shared: Permission denied

লক্ষ্যটি হ'ল ম্যাক এবং উবুন্টু পরিবেশের মধ্যে ডিরেক্টরি ভাগ করার একটি সহজ উপায়। দুর্ভাগ্যক্রমে আমি এখনও পর্যন্ত যে উদাহরণগুলি দেখেছি সেগুলি প্রকৃত হওয়ার চেয়ে কিছুটা জটিল বলে মনে হচ্ছে এবং প্রকৃত সমস্যাটি কী সমাধান করা দরকার তা সত্যিকারভাবে ব্যাখ্যা করবেন না। আমি এখানে উভয় সমস্যা হ্যান্ডেল করার চেষ্টা করব।

ভার্চুয়াল বক্স ৪.৩.১6 সহ উবুন্টু -১.0.০৪.১ চালিত অতিথি এক্সটেনশনগুলি ইনস্টল করে এখানকার পরিবেশটি ওএসএক্স ১০.৯.৫ চালিত একটি ম্যাক। সেপ্টেম্বর 2014 স্টাফ।

আমি মনে করি যে সমগ্র এখানে সমস্যা হল ইউআইডি উপর ম্যাক ডিরেক্টরি এবং উবান্টু মধ্যে মেলানো - ডিফল্ট gid এর ব্যবহারকারী এবং দলের জন্য বরাদ্দ OSX ও উবুন্টু, এবং যে এর যেখানে কষ্ট মিথ্যা ভিন্ন ভিন্ন।

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

নীচের সমাধানটি ঠিক তাই করে। যা লেখা হয়েছে তার দৈর্ঘ্যে বিভ্রান্ত হবেন না, এটি আসলে খুব সাধারণ। এখানে যা চলছে তার প্রচুর এবং প্রচুর উদাহরণ রয়েছে।

আমি এই ডক্সের মধ্যে ওএসএক্স এবং ভিবিওক্স কনসোলগুলির (ম্যাক এবং ভার্চুয়াল-বাক্স / উবুন্টু) মধ্যে ফ্লিপ করতে যাচ্ছি - আপনি নিশ্চিত হন যে কোন উইন্ডোটি আপনার মধ্যে রয়েছে।

চূড়ান্ত দ্রষ্টব্য: নীচে প্রদর্শিত সমাধানটি ওএসএক্স এবং উবুন্টু পরিবেশের মধ্যে একটি সাধারণ গ্রুপ আইডি স্থাপনের উপর ভিত্তি করে তৈরি করা হয়েছে, যাতে ফাইল অনুমতিগুলি কাজ করে। অন্যান্য, আরও আধুনিক সমাধান থাকতে পারে। এটি সত্যিই সহজ এবং বোধগম্য এবং খালি হাড়ের বেসিক অলঙ্কৃত ইনস্টলেশনতে চলে।

ওএসএক্স: —————

উল্লেখ্য যে বাক্সটি 10.9.5 ম্যাকের একটি নতুন করে করা হয়েছিল, এতে কোনও কিছুই নেই, কোনও কর্পোরেট নেটওয়ার্কের সাথে সংযুক্ত নেই, স্টক সফ্টওয়্যার ব্যতীত অভিনব কোনও কিছুই চলমান নেই। এটি এটি হিসাবে হিসাবে সহজ।

যখন আমি ম্যাকটিতে ডিফল্ট ইনস্টল করেছি, জো_পাবলিক অ্যাডমিন ব্যবহারকারী এবং তার ইউআইডি 501 তে সেট করা আছে ।

Joes-MacBook-Pro:/ joe_public$ id
uid=501(joe_public) gid=20(staff) groups=20(staff),999(vboxsf),401(com.apple.sharepoint.group.1),12(everyone),61(localaccounts),79(_appserverusr),80(admin),81(_appserveradm),98(_lpadmin),501(access_bpf),33(_appstore),100(_lpoperator),204(_developer),398(com.apple.access_screensharing),399(com.apple.access_ssh)

লক্ষ করুন যে, ইউআইডি হল 501 - এই ওএসএক্স ডিফল্ট প্রথম অ্যাকাউন্ট ID হয় - বিশেষ কিছুই

আমি কয়েকটি ডিরেক্টরি তৈরি করেছি যা আমি ম্যাক দিকে ভাগ করতে চাই - নোট করুন যে আমি ব্যাকআপের কারণে সেগুলি আমার ব্যবহারকারী ডিরেক্টরিতে রাখিনি।

Joes-MacBook-Pro:/ joe_public$ mkdir /vdisk
Joes-MacBook-Pro:/ joe_public$ mkdir /vdisk/shared
Joes-MacBook-Pro:/ joe_public$ mkdir /vdisk/public 
Joes-MacBook-Pro:/ joe_public$ mkdir /vdisk/images

Joes-MacBook-Pro:vdisk joe_public$ ls -al
total 0
drwxr-xr-x   5 joe_public  admin   170 Oct  8 01:08 .
drwxrwxr-t  36 root        admin  1292 Oct  6 02:26 ..
drwxrwxrwx   2 joe_public  admin    68 Oct  6 01:08 images
drwxr-xr-x   3 joe_public  admin   102 Oct  8 01:07 public
drwxrwxrwx   4 joe_public  admin   136 Oct  8 00:45 shared

ভিবিক্স: ——————

সাধারণ ডিফল্ট ভার্চুয়াল বাক্স এবং উবুন্টু ইনস্টলেশন - আবার, জো ওপাবলিক আমি ডিফল্ট অ্যাডমিন তৈরি করে যখন আমি উবুন্টু ইনস্টল করি।

দয়া করে আবার লক্ষ করুন, ওএসএক্স এবং উবুন্টুর মধ্যে নামের স্থানটি সম্পূর্ণ আলাদা। এখানে দুটি নামের মধ্যে একেবারেই কোনও সম্পর্ক নেই।

joe_public@joe_public-ubuntu-VirtualBox:/media/sf_shared$ id
uid=1000(joe_public) gid=1000(joe_public)   groups=1000(joe_public),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lpadmin),124(sambashare)

ভার্চুয়াল বাক্সের সেটিং -> ভাগ করা ফোল্ডার গুলির সাহায্যে তিনটি মাউন্ট পয়েন্ট তৈরি করা হয়েছে ।

Name      Path              Auto-mount  Access
images    /vdisk/images     Yes         Full
public    /vdisk/pubic      Yes         Read-only
shared    /vdisk/shared     Yes         Full

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

joe_public@joe_public-ubuntu-VirtualBox:~$ mount | grep vboxsf
shared on /media/sf_shared type vboxsf (gid=999,rw)
public on /media/sf_public type vboxsf (gid=999,rw)
images on /media/sf_images type vboxsf (gid=999,rw)

লক্ষ্য করুন যে এর জন্য গিডটি 999 - এটি ভিক্সএসএফ গ্রুপ।

joe_public@joe_public-ubuntu-VirtualBox:~$ grep 999 /etc/group
vboxsf:x:999

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

তবে এটি কার্যকর হয় না (এই মুহুর্তে প্রত্যাশিত - এটিই আমরা সমাধানের চেষ্টা করছি)

joe_public@joe_public-ubuntu-VirtualBox:/$ ls /media/sf_shared
ls: cannot open directory /media/sf_shared: Permission denied

মনে রাখবেন যে এই মুহুর্তে জো_পাবলিক সেই ভিক্সবক্স গ্রুপের সদস্য নয় - এবং আমরা এটি ঠিক না করা পর্যন্ত এটি সমস্যা হতে চলেছে। এফওয়াইআই: এটি তৈরি করা হলে অ্যাকাউন্টে নির্ধারিত ডিফল্ট গোষ্ঠী।

joe_public@joe_public-ubuntu-VirtualBox:/media$ grep joe_public /etc/group
adm:x:4:syslog,joe_public
cdrom:x:24:joe_public
sudo:x:27:joe_public
dip:x:30:joe_public
plugdev:x:46:joe_public
lpadmin:x:108:joe_public
joe_public:x:1000:
sambashare:x:124:joe_public

সুতরাং এই মুহুর্তে আমাদের যা আছে (এটি ঠিক করার জন্য আমরা এখনও কিছু করি নি)

•   On mac,   joe_public gid is 501
•   On linux, joe_public gid is 1000
•   On linux, vboxfs gid is 999
•   On mac,   vboxsf does not exist

ইতিমধ্যে ইনস্টল করা সিস্টেমে গাধাটির ব্যথা হওয়ায় আমরা উভয় দিকে joe_public ব্যবহারকারীর গিড পরিবর্তন করতে চাই না , এবং এটি অন্য ব্যবহারকারীর জন্য সমাধান করে না। সবচেয়ে সহজ সমাধানটি হ'ল ম্যাকের পাশে একটি ম্যাচিং গ্রুপ - vboxsf - তৈরি করা এবং নিশ্চিত করুন যে জো_প্রজাতন্ত্র উভয় পক্ষেরই এর সদস্য।

সুতরাং, এখনও vbox / উবুন্টুতে, জো_প্রজাতিকে 999 ভিবক্সএসএফ গ্রুপের সদস্য করুন

joe_public@joe_public-ubuntu-VirtualBox:/$ sudo usermod -a -G vboxsf joe_public
joe_public@joe_public-ubuntu-VirtualBox:/$ grep 999 /etc/group
vboxsf:x:999:joe_public

আমি মনে করি আমি আমার অ্যাকাউন্ট থেকে লগ আউট করেছি এবং আমি এটি করার পরে আবার এখানে ফিরে এসেছি।

ওএসএক্স: —————

এখন আমাদের ম্যাকের উপর একটি vboxsf গ্রুপ তৈরি করতে হবে । আমি সন্দেহ করি যে নামটি এখানে আসলে একটি পার্থক্য তৈরি করে - এটি গুরুত্বপূর্ণ 999 গ্রুপ আইডি। দয়া করে মনে রাখবেন যে হোস্ট এবং ভিএম অপারেটিং সিস্টেমের মধ্যে ডিরেক্টরি সিস্টেমের নামের জায়গাগুলি (পাশাপাশি ব্যবহারকারীর নাম) আলাদা। তবে কেবল জীবনকে জ্ঞানী করে তোলার জন্য , আমরা সকলেই ম্যাকের উপরে এটি vboxsf বলি । উভয় পক্ষেই জো_পাবলিক একটি ব্যবহারকারীর নাম কেন ব্যবহার করা হচ্ছে একই যুক্তি ।

লিনাক্সের মতো ওএসএক্সের একটি সাধারণ অ্যাড গ্রুপ কমান্ড নেই - তাই একাধিক পদক্ষেপে এটি করতে dscl কমান্ডটি ব্যবহার করুন। এই সম্পর্কে আরও তথ্যের জন্য দয়া করে ম্যাক ওএস ডকুমেন্টেশন দেখুন। লক্ষ্য করুন যে আমরা vboxsf গোষ্ঠীটি তৈরি করেছি এবং এখানে group গোষ্ঠীতে জো_পাবলিক যুক্ত করব।

sudo dscl . -create /Groups/vboxsf
sudo dscl . -create /Groups/vboxsf name vboxsf
sudo dscl . -create /Groups/vboxsf passwd "*”
sudo dscl . -create /Groups/vboxsf gid 999
sudo dscl . -create /Groups/vboxsf GroupMembership joe_public

সুতরাং, এই মুহুর্তে, আমাদের থাকা উচিত

•   On mac, joe_public gid is 501
•   On linux, joe_public gid is 1000
•   On linux, vboxfs gid is 999
•   On mac, vboxsf gid is 999
•   On linux, joe_public is member of vboxsf 
•   On mac, joe_public is member of vboxsf

এখানে যদি প্রমাণ হয় এটি কাজ করে - তাই এটি পরবর্তী পদক্ষেপ

ভিবিক্স: ——————

আমাদের ডিরেক্টরিতে সিডি করুন এবং একটি ফাইল স্পর্শ করুন

joe_public@joe_public-ubuntu-VirtualBox:/$ cd /media/sf_shared
joe_public@joe_public-ubuntu-VirtualBox:/media/sf_shared$ touch foo

পরীক্ষা করুন যে আমরা সফলভাবে একটি ফাইল তৈরি করেছি।

joe_public@joe_public-ubuntu-VirtualBox:/media/sf_shared$ ls -al
total 4
drwxrwx--- 1 root vboxsf  102 Oct  8 00:44 .
drwxr-xr-x 5 root root   4096 Oct  8 00:30 ..
-rwxrwx--- 1 root vboxsf    0 Oct  8 00:44 foo

ওএসএক্স: —————

Joes-MacBook-Pro:shared joe_public$ cd /vdisk/shared
Joes-MacBook-Pro:shared joe_public$ ls -al
total 0
drwxrwxrwx  3 joe_public  vboxsf  102 Oct  8 00:44 .
drwxr-xr-x  6 joe_public  admin   204 Oct  8 00:17 ..
-rw-r--r--  1 joe_public  vboxsf    0 Oct  8 00:44 foo

Joes-MacBook-Pro:shared joe_public$ touch bar
Joes-MacBook-Pro:shared joe_public$ ls -al
total 0
drwxrwxrwx  4 joe_public  vboxsf  136 Oct  8 00:45 .
drwxr-xr-x  6 joe_public  admin   204 Oct  8 00:17 ..
-rw-r--r--  1 joe_public  vboxsf    0 Oct  8 00:45 bar

ভিবিক্স: ——————

joe_public@joe_public-ubuntu-VirtualBox:/media/sf_shared$ ls -al
total 4
drwxrwx--- 1 root vboxsf  136 Oct  8 00:45 .
drwxr-xr-x 5 root root   4096 Oct  8 00:30 ..
-rwxrwx--- 1 root vboxsf    0 Oct  8 00:45 bar
-rwxrwx--- 1 root vboxsf    0 Oct  8 00:44 foo

এটি সমস্ত কাজ করছে বলে মনে হচ্ছে ..

ভিবিক্স: IN শেষ যাচাইকরণ

আমরা এখানে যা যা যাচাই করছি তা হ'ল এই পুরো জিনিসটি ব্যবহারকারী জো_প্রজাতন্ত্রের উপর ভিউক্সএসএফ গ্রুপের সদস্য হওয়ার উপর নির্ভর করে - এবং সবচেয়ে সহজ উপায়টি জো-জনগণকে গ্রুপ থেকে সরিয়ে দিচ্ছে

গোষ্ঠী vboxsf থেকে ব্যবহারকারী জো_পাবলিক অপসারণ করা হচ্ছে

joe_public@joe_public-ubuntu-VirtualBox:~$ sudo gpasswd -d joe_public vboxsf
log out/in ubuntu

আমরা এটি আমাদের ডিরেক্টরি অ্যাক্সেস করতে পারি কিনা তা দেখছি - এবং আমরা পারব না, এবং এটি প্রমাণ করে যে এটি একটি গ্রুপ অনুমতি সমস্যা

joe_public@joe_public-ubuntu-VirtualBox:/$ ls /media/sf_shared
ls: cannot open directory /media/sf_shared: Permission denied

ব্যবহারকারীকে আবার vboxsf এ যুক্ত করুন

joe_public@joe_public-ubuntu-VirtualBox:/$ sudo usermod -a -G vboxsf joe_public
log out/in ubuntu

এটি আবার কাজ করে!

joe_public@joe_public-ubuntu-VirtualBox:~$ ls -al /media/sf_shared
total 4
drwxrwx--- 1 root vboxsf  170 Oct  8 01:48 .
drwxr-xr-x 6 root root   4096 Oct  8 01:25 ..
-rwxrwx--- 1 root vboxsf    0 Oct  8 00:45 bar
-rwxrwx--- 1 root vboxsf    0 Oct  8 00:44 foo

ভিবিক্স: - আরও একটি সমস্যা - ভিবক্সে প্রতীকী লিঙ্কগুলি -------

আপনি যদি / মিডিয়া / sf_shared এ যান তবে আপনি দেখতে পাবেন যে ভাগ করা ডিরেক্টরিতে প্রতীকী লিঙ্কগুলি কেবল কাজ করে না। আপনি যদি একটি ভাগ করে নেওয়া ড্রাইভে একটি সম্পূর্ণ লিনাক্স বিকাশ পরিবেশ স্থাপন করার চেষ্টা করছেন তবে এটি সত্যিই বড় সমস্যা।

joe_public@joe_public-ubuntu-VirtualBox:/media$ cd sf_images
joe_public@joe_public-ubuntu-VirtualBox:/media/sf_images$ ls
joe_public@joe_public-ubuntu-VirtualBox:/media/sf_images$ mkdir test
joe_public@joe_public-ubuntu-VirtualBox:/media/sf_images$ ln -s test test2
ln: failed to create symbolic link ‘test2’: Read-only file system

ডিফল্টরূপে, ভার্চুয়াল বক্স শেয়ারগুলিতে প্রতীকী লিঙ্কগুলি সমর্থিত নয়। ব্যাখ্যা জন্য নীচে দেখুন। মূলত আমি এটি বুঝতে পেরেছি, প্রতীকী লিঙ্কগুলি একটি সুরক্ষা গর্ত যা ভার্চুয়াল বাক্সে 4.1.8 টাইম ফ্রেমে (২০১১) সমর্থন সমর্থন করে তাদের ভার্চুয়াল বক্সে "স্থির" করা হয়েছিল। আমি এখানে ৪.৩.১6 চালাচ্ছি ...

https://www.virtualbox.org/ticket/10085

http://ahtik.com/blog/fixing-your-virtualbox-shared-folder-symlink-error/

ভাগ্যক্রমে হোস্টের ভিবক্সম্যানেজ কমান্ডের মাধ্যমে এটি পুনরায় সক্ষম করার জন্য একটি পিছনের দরজা রয়েছে । সর্বদা মত, দয়া করে এখানে সুরক্ষা গর্তগুলি বুঝতে পারেন যে আপনি সম্ভবত খোলার শুরু করছেন। আমি একা একা ডেভলপমেন্ট মেশিনে আছি, সুতরাং এটি কোনও সমস্যা বলে মনে হচ্ছে না।

ওএসএক্স: ------------

Joes-MacBook-Pro:shared pbradstr$ VBoxManage setextradata Ubuntu VBoxInternal2/SharedFoldersEnableSymlinksCreate/shared 1   

দ্রষ্টব্য: উবুন্টু আমার ভিএম এর নাম, এবং ভাগ করা ডিরেক্টরিটির নাম শেয়ার করা।

আপনি এইভাবে ভিএম নাম পেতে পারেন:

Joes-MacBook-Pro:shared pbradstr$ VBoxManage list vms
"Ubuntu" {8461045a-1cee-4d44-8148-05920a47cee0}
Joes-MacBook-Pro:shared pbradstr$

এবং ভাগ করা ফোল্ডারগুলির নাম, ভার্চুয়াল বক্স গুই এর মাধ্যমে, বা

Joes-MacBook-Pro:shared pbradstr$ VBoxManage showvminfo Ubuntu | grep -A 5 "Shared folders"
Shared folders:  

Name: 'shared', Host path: '/vdisk/shared' (machine mapping), writable
Name: 'public', Host path: '/vdisk/public' (machine mapping), readonly
Name: 'images', Host path: '/vdisk/images' (machine mapping), writable

আমি এখানে পুরো ভার্চুয়াল বক্স সিস্টেমটি পুনরায় বুট করেছি, এটি গ্রহণের সর্বনিম্ন প্রয়োজনীয়তাটি আমি খুঁজে পাইনি।

যাইহোক, এটি পরীক্ষা করতে, আপনার vbox উইন্ডোতে ফিরে যান

ভিবিক্স: ---------

joe_public@joe_public-ubuntu-VirtualBox:/media/sf_images$ ln -s test test2

কোনও ত্রুটি নেই - এবং যাচাই করার জন্য

joe_public@joe_public-ubuntu-VirtualBox:/media/sf_shared$ ls -ald test*
drwxrwx--- 1 root vboxsf 102 Oct  8 11:33 test
lrwxrwx--- 1 root vboxsf   4 Oct  8 13:10 test2 -> test

ওএসএক্স: ----------

এবং ম্যাক দিকে ফিরে - কেবল এটি সমস্ত কাজ প্রমাণ করতে

Joes-MacBook-Pro:shared pbradstr$ ln -s test test3
Joes-MacBook-Pro:shared pbradstr$ ls -ald test*
drwxr-xr-x  4 joe_public  admin  136 Oct  8 13:20 test
lrwxr-xr-x  1 joe_public  admin    4 Oct  8 13:10 test2 -> test
lrwxr-xr-x  1 joe_public  admin    4 Oct  8 13:21 test3 -> test

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

শিক্ষার্থীর জন্য অনুশীলন বাম

উপরে তালিকাভুক্ত পদ্ধতির সুবিধাটি হ'ল এটি কোনও স্ট্যান্ড-বরাবর মেশিনে চালাতে পারে, কোনও নেটওয়ার্ক অ্যাক্সেস ছাড়াই। তবে আপনি যদি এটির বিষয়ে চিন্তা করেন তবে এই নাম-আয়াত-আইডি ইস্যুটি কোনও ভিন্ন ভিন্ন কম্পিউটারের পরিবেশের মধ্যে একটি সাধারণ সমস্যা হয়ে দাঁড়িয়েছে।

এই সমস্যার সমাধান পাওয়া যায় সেখানে আর কী সমাধান পাওয়া যায়? - অ্যাক্টিভ ডিরেক্টরি (একটি মাইক্রোসফ্ট পণ্য) এর মতো জিনিসগুলি এবং এর মতো বিষয়গুলি এটি সমাধান করতে সক্ষম হতে পারে। এই সমাধানগুলির সংগ্রহ সংগ্রহ করা এবং সেখানে বিভিন্ন বৈশিষ্ট্য এবং ট্রেড অফের তুলনা করা আকর্ষণীয় হবে।


3

আমার জন্য আমার যা করা দরকার তা হ'ল:

sudo adduser [username] vboxsf

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

আমার জন্য fstab সমাধান কাজ করে না এবং মেশিনটি সঠিকভাবে বুট না করায়।


3

ভার্চুয়ালবক্স সেটিংসে আপনি একটি ভাগ করা ফোল্ডার তৈরি করার পরে, উবুন্টু পরবর্তী সময় সিস্টেমটি বুট করার সময় এটি স্বয়ংক্রিয়ভাবে আপনার জন্য মাউন্ট করবে (আপনি আপনার ডেস্কটপে একটি আইকন দেখতে পাবেন)।

এখানে চিত্র বর্ণনা লিখুন

তবে আপনি যদি রুট অ্যাকাউন্টটি ব্যবহার না করেন তবে আপনার এটিতে অ্যাক্সেস করার অনুমতি থাকবে না। আপনার যা করা দরকার তা হ'ল 'ভক্সবসফ' নামে একটি ব্যবহারকারী গোষ্ঠীতে আপনার ব্যবহারকারীর অ্যাকাউন্ট যুক্ত করা:

sudo usermod -G vboxsf -a $USER

তারপরে লগআউট করে আবার লগইন করুন। আপনি এখন ভাগ করা ফোল্ডার অ্যাক্সেস করতে পারেন।


3

ভার্চুয়ালবক্স ভি 4.0 এর পর থেকে এই অনুমতিগুলির সমস্যাগুলি সমাধান করা সহজ! আপনি সম্পর্কে চিন্তা করতে হবে না mkdir, mount, chmod, umask, ইত্যাদি আপনার স্বয়ংক্রিয় মাউন্ট যৌথরূপে ব্যবহৃত ফোল্ডার (যা প্রদর্শিত অ্যাক্সেস করতে /mediaসঙ্গে sf_ডিফল্টরূপে উপসর্গ), সেখানে শুধুমাত্র এক জিনিস আপনাকে যা করতে হবে আছে: করতে আপনার ব্যবহারকারীর নাম যোগ করুন vboxsfমাধ্যমে গ্রুপ sudo usermod -a -G vboxsf [username]

সুবিধার জন্য, আপনি আপনার homeফোল্ডারের মধ্যে সেই ভাগ করা ফোল্ডারগুলিতে প্রতীকী লিঙ্কগুলিও তৈরি করতে চাইতে পারেন (যেমন, ln -s /media/sf_Stuff ~/Stuff)।

সূত্র: http://www.virtualbox.org/manual/ch04.html#sf_mount_auto


প্রতীকী লিঙ্কটি সম্পর্কে দুর্দান্ত পয়েন্ট।
শান ডাইচকো

0

আমি এটি খুঁজে পেয়েছি, আমি এটি পরীক্ষা করেছি এবং এটি উবুন্টু এবং জুবুন্টুতে কাজ করেছে, কেবলমাত্র স্বয়ংসম্পূর্ণ বৈশিষ্ট্যটি আমার পক্ষে কাজ করে নি

আই। গেস্ট অ্যাডিশন ইনস্টল করুন

প্রথমত, হোস্ট সিস্টেমে ভার্চুয়ালবক্সের অতিথি সংযোজনগুলি ইনস্টল করা প্রয়োজন:

ভিটুয়ালবক্সের মেনুতে চয়ন করুন: ডিভাইস -> অতিথি সংযোজন ইনস্টল করুন…

এটি হোস্ট সিস্টেমের জন্য একটি নতুন আইএসও মাউন্ট করে। উবুন্টুতে একটি নতুন সিডি উপস্থিত হবে (বা এটি মাউন্ট করুন)। টার্মিনাল উইন্ডোতে VBoxLinuxAdditions-x86.run ইনস্টলেশন স্ক্রিপ্ট (কারণ এটি একটি ইন্টেল ভিত্তিক ম্যাক) মূল হিসাবে চালান:

cd /media/cdrom
sudo VBoxLinuxAdditions-x86.run

সম্ভবত আপনাকে উবুন্টু পুনরায় চালু করতে বলা হবে।

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

২। ভাগ করা ফোল্ডার তৈরি করুন

লক্ষ্যটি হল একটি ভাগ করা ফোল্ডার অ্যাক্সেস করা, এসএসডিডি বা সাম্বা ব্যবহার করার চেয়ে সহজ উপায় কী।

ভিটুয়ালবক্সের মেনুতে চয়ন করুন: ডিভাইস -> ভাগ করা ফোল্ডার ...

  • অ্যাড নতুন ভাগ করা ফোল্ডার বোতামে ক্লিক করুন।
  • একটি ফোল্ডার পাথ চয়ন করুন - আপনার ম্যাক হার্ডড্রাইভের একটি ফোল্ডার, যেমন / ব্যবহারকারী / অনড্রেজ / ছবি।
  • একটি ফোল্ডারের নাম চয়ন করুন - এমন নাম যা উবুন্টুতে (একটি হোস্ট সিস্টেম হিসাবে) এই ভাগ করা ফোল্ডারটি সনাক্ত করে, উদাহরণস্বরূপ ছবি।
  • স্থায়ী করুন নির্বাচন করুন - আপনি যদি এই ভাগ করা ফোল্ডার সংজ্ঞাটি বজায় রাখতে চান।
  • ওকে ক্লিক করুন।
  • ভাগ করা ফোল্ডারগুলির তালিকাটি বন্ধ করতে ওকে ক্লিক করুন।

তৃতীয়। ভাগ করা ফোল্ডার মাউন্ট

তৈরি করা ভাগ করা ফোল্ডারটি আপনার ব্যবহারকারীর অনুমতি নিয়ে কোনও ফোল্ডারে মাউন্ট করুন। উবুন্টুতে একটি টার্মিনাল উইন্ডো খুলুন এবং:

এমন একটি ফোল্ডার তৈরি করুন যেখানে ভাগ করা ফোল্ডার মাউন্ট হবে। (যদি এর জন্য ইতিমধ্যে কোনও ফোল্ডার থাকে তবে এই পদক্ষেপটি এড়িয়ে যান))

mkdir DIR

যেমন (ইন / টিএমপি)

mkdir share

আপনার ব্যবহারকারীকে ইউআইডি করুন:

id

ফলাফলটি এরকম কিছু হবে:

uid=1000(ondrej)gid=1000(ondrej)groups=4(adm),20(dialout),24(cdrom),
46(plugdev),112(lpadmin),119(admin),120(sambashare),1000(ondrej)

আমার ব্যবহারকারীর ইউডিটি 1000 হয়।

sudo mount -t vboxsf -o uid=USER_ID SHARED_FOLDER_NAME MOUNTED_FOLDER

যেমন

sudo mount -t vboxsf -o uid=1000 pictures /tmp/share

ইউআইডি প্যারামিটার নির্দিষ্ট করা আপনার ব্যবহারকারীর জন্য ভাগ করা ফোল্ডারে লিখিত সক্ষম করে। মাউন্ট করা ফোল্ডারটি MOUNTED_FOLDER (যেমন / tmp / share) আপনার ম্যাক হার্ডড্রাইভের ভাগ করা ফোল্ডার থেকে ফাইল ধারণ করে। ভাগ ফোল্ডারে পাশাপাশি লিখতেও এটি সম্ভব। Allyচ্ছিকভাবে, একটি ভাগ করা ফোল্ডারটি ভার্চুয়াল মেশিন শুরুতে স্বয়ংক্রিয়ভাবে মাউন্ট করা যায়। / Etc / fstab ফাইলটিতে নিম্নলিখিত লাইনটি জুড়ুন (মূল হিসাবে যেমন sudo vim / etc / fstab):

SHARED_FOLDER_NAME /PATH/TO/MOUNTED/FOLDER vboxsf uid=1000,gid=1000 0 0

যেমন

pictures /tmp/share vboxsf uid=1000,gid=1000 0 0

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

সূত্র: http://www.valibuk.net/2009/03/accessing-mac-os-x-harddrive-from-ubuntu-in-virtualbox-via-shared-folders/


0

হোস্ট ওএস : ম্যাকোস
ভিএম (অতিথি) ওএস : উবুন্টু সার্ভার 16.04.5 এলটিএস
ভার্চুয়ালবক্স v5.2.18
হোস্ট ওএস এবং অতিথি ওএস উভয়েরই একই ব্যবহারকারী থাকতে হবে ( পাঠ্যর মধ্যে আরও নাম : ব্যবহারকারীর নাম )।

মঞ্চ 1: ভার্চুয়ালবক্স গেস্ট সংযোজনগুলি ইনস্টল করুন :

1.1। ভার্চুয়ালবক্স অতিথি সংযোজনগুলি সনাক্ত করুন,

$ cd /Applications/VirtualBox.app/Contents/MacOS/
$ cp VBoxGuestAdditions.iso ~/Downloads/

1.2। ভিএম শুরু করুন

1.3। নীচে ডান টাস্ক বারের সিডি আইকনটি ক্লিক করুন

1.4। "ডিস্ক চিত্র চয়ন করুন ..." "নির্বাচন করুন এবং VBoxGuestAdditions.iso অনুসন্ধান করুন

1.5। অতিথি টার্মিনালে টাইপ করুন (আপনি যদি এটিতে এসএসএইচ করে থাকেন তবে আপনি হোস্ট টার্মিনাল থেকে এটিও করতে পারেন):

$ sudo su
$ apt update
$ apt upgrade
$ apt-get install dkms build-essential linux-headers-generic gcc make
$ mount /dev/cdrom /mnt
$ cd /mnt
$ sh ./VBoxLinuxAdditions.run
$ reboot

দ্বিতীয় পর্যায়: ভাগ করা ফোল্ডার সেটআপ:

2.1। ভিএম-এ বিধি তৈরি করুন:

  • ভিএম বন্ধ করুন
  • যাও Settings > Shared Folders
  • Add new port forwarding ruleউইন্ডোর উপরের ডানদিকে সবুজ বোতামে ক্লিক করুন ।
  • আপনি যে ফোল্ডারটি ভাগ করতে চান তা অনুসন্ধান করুন এবং নির্বাচন করুন (যেমন: / পাথ / থেকে / ভাগ করা / হোস্ট_ফোল্ডার )
  • বিকল্প Auto-mountএবং নির্বাচন Make Permanentকরুন
  • ভিএম শুরু করুন

2.2। ভাগ করা ফোল্ডারটি মাউন্ট করার জন্য /optআপনাকে অবশ্যই shared_folder_dirসাবফোল্ডার তৈরি করতে হবে এবং এতে উপযুক্ত অনুমতি সেট করতে হবে:

$ sudo mkdir -p /opt/shared_folder_dir
$ sudo chmod ug+w -Rv /opt/shared_folder_dir
$ sudo chown username:username -Rv /opt/shared_folder_dir

2.3। যোগ ব্যবহারকারীর নাম থেকে vboxsf গ্রুপ:

$ sudo adduser username vboxsf
$ sudo usermod -a -G vboxsf username

2.4। পরিবর্তনগুলি প্রয়োগ করতে ভিএম পুনরায় বুট করুন:

$ sudo reboot

পর্যায় 3: স্বয়ংক্রিয়ভাবে এতে মাউন্ট host_folderকরা /opt/shared_folder_dir:

3.1। ভিএম এর /etc/rc.local পরিবর্তন করুন:

$ sudo nano /etc/rc.local

এবং ঠিক উপরে উপরে রাখুন exit 0:

# 'folder_name' = given in the shared folders configuration
# 'path/to/shared/folders' = guest path to access the shared folders from
# 'id' = prints uid/gid
# sudo mount -t vboxsf -o uid={uid},gid={gid} {shared_folder_name} {path/to/shared/folder}
sleep 5
sudo mount -t vboxsf -o uid=1000,gid=1000 host_folder /opt/shared_folder_dir
exit 0
<<< EOF >>>

দ্রষ্টব্য: ভার্চুয়ালবক্স অতিথি সংযোজনগুলি শুরু হওয়ার পরে আমিsleep 5মাউন্ট অপারেশনচালিয়েছি। আপনিকমান্ডদ্বারা এটি পরীক্ষা করতে পারেন।journalctl -b

3.2। পরিবর্তনগুলি প্রয়োগ করতে ভিএম পুনরায় বুট করুন:

$ sudo reboot

আরো দেখুন


আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.