777 ফোল্ডারে অনুমতি অস্বীকার করা হয়েছে


17
john@ubuntu01:~$ sudo ls -l /var/opt/gitlab/git-data/repositories/GL/www.git
total 25068
drwxr-xr-x  2 git  git      4096 aug 14 19:58 branches
-rw-r--r--  1 git  git        66 aug 14 19:58 config
drwxrwxrwx  2 root root     4096 aug 15 14:56 custom_hooks
-rw-r--r--  1 git  git        73 aug 14 19:58 description
-rw-r--r--  1 git  git        23 aug 14 19:58 HEAD
lrwxrwxrwx  1 git  git        47 aug 14 19:58 hooks -> /opt/gitlab/embedded/service/gitlab-shell/hooks
drwxr-xr-x  2 git  git      4096 aug 14 19:58 hooks.old.1471193907
-rw-r--r--  1 git  git      1329 aug 15 14:48 index
drwxr-xr-x  2 git  git      4096 aug 15 13:58 info
drwxr-xr-x 71 git  git      4096 aug 15 14:55 objects
-rw-r--r--  1 git  git        98 aug 15 13:58 packed-refs
-rw-r--r--  1 git  git  25618530 aug 15 14:03 post-receive.log
drwxr-xr-x  5 git  git      4096 aug 14 20:31 refs
john@ubuntu01:~$ ls -l /var/opt/gitlab/git-data/repositories/GL/www.git
ls: cannot access '/var/opt/gitlab/git-data/repositories/GL/www.git': Permission denied

এখানে এসিএল রয়েছে

john@ubuntu01:~$ sudo lsattr /var/opt/gitlab/git-data/repositories/GL/www.git/custom_hooks
-------------e-- /var/opt/gitlab/git-data/repositories/GL/www.git/custom_hooks/post-receive

আমি এর আগে কখনও দেখিনি। এমনকি 777 দিয়ে এলএসের অনুমতি নেই? আরও সুবিধাজনক বিকাশের জন্য আমার এই ফোল্ডারটি ভাগ করে নেওয়া দরকার। আমি কিভাবে এটা সমাধান করতে পারে? ধন্যবাদ.

সম্পাদিত: (এখানে আপনার অনুরোধগুলি রয়েছে)

john@ubuntu01:~$ sudo ls -ld /var/opt/gitlab/git-data/repositories/GL/www.git
drwxrwxrwx 8 git git 4096 aug 15 14:48 /var/opt/gitlab/git-data/repositories/GL/www.git
john@ubuntu01:~$ sudo ls -ld /var/opt/gitlab/git-data/repositories/GL/www.git/custom_hooks
drwxrwxrwx 2 root root 4096 aug 15 14:56 /var/opt/gitlab/git-data/repositories/GL/www.git/custom_hooks

আরও সম্পাদনা করুন

sudo ls -ld /var/opt/gitlab/git-‌​data/repositories/GL/‌​www.git
ls: cannot access '/var/opt/gitlab/git-‌​data/repositories/GL/‌​www.git': No such file or directory

হুমমম ... এই কি?


1
আপনি যে ডিরেক্টরিটির lsতালিকাভুক্ত করছেন তার অনুমতিগুলি প্রদর্শিত হয় না?
Zanna

কাস্টম_হুকস এবং ড্রওএক্সআরওএক্সআরডক্স 2 টি মূল মূল রয়েছে, উপরে দেখুন
ব্যবহারকারী 1797147

1
ls: cannot access '/var/opt/gitlab/git-data/repositories/GL/www.git': Permission deniedসুতরাং আপনি কী হবে তা আমাদের দেখানls -ld /var/opt/gitlab/git-data/repositories/GL/www.git
Zanna

1
আপনি কি দয়া করে আমাকে জিজ্ঞাসা করতে পারেন? যদি আপনার প্যারেন্ট ডিরেক্টরীতে অনুমতি কার্যকর না করে থাকে তবে তার পরে 777 আপনাকে সাহায্য করবে না
Zanna

2
সম্ভবত আপনার সমস্যাটি তখন গাছের ওপরে বেশি। কোনও স্তরের দিকে যান এবং অনুমতিগুলি পরীক্ষা করে দেখুন, এবং আপনি দেখতে পাবেন যে তাদের মধ্যে drwxr-x---
একটিরও ওয়ের

উত্তর:


21

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

উদাহরণ:

$ ls -l cake
drwxr-xr-x 2 zanna zanna 4096 Jul 12 11:43 brownies
$ chmod 666 cake
$ ls -l cake/brownies
ls: cannot access 'cake/brownies': Permission Denied

যদিও আমি 'ব্রাউনিজ' ডিরেক্টরিটির মালিক এবং সমস্ত ব্যবহারকারীর কাছে এটি পড়ার এবং প্রবেশের অনুমতি রয়েছে, যদিও এর পিতামহিত ডিরেক্টরিটির কোনও কার্যকর করার অনুমতি না থাকলে আমি এটি অ্যাক্সেস করতে পারি না can't

ডিরেক্টরিগুলি 777 অনুমতি দেওয়ার চেয়ে অনুমতিগুলি পরিচালনা করার জন্য গ্রুপগুলি ব্যবহার করা ভাল । আপনি কি এটি করা নিশ্চিত?

কীভাবে সমস্যাটিকে আরও সুরক্ষিত উপায়ে সমাধান করবেন:

চলুন /var/opt/gitlabডিরেক্টরিটি ধরে নেওয়া যাক আপনার এর মতো কিছু রয়েছে:

drwxr-x--- 5 git git 4096 aug 14 17:30 gitlab

নিজেকে এবং অন্যান্য সমস্ত ব্যবহারকারীদের যুক্ত করুন যাদের গিট গ্রুপে অনুমতি প্রয়োজন, উদাহরণস্বরূপ:

sudo usermod -a -G john git

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

chmod 775 /var/opt/gitlab/git‌​-data/repositories/GL‌​/www.git/custom_hooks

অথবা

chmod o-w /var/opt/gitlab/git‌​-data/repositories/GL‌​/www.git/custom_hooks

1
আবারও ধন্যবাদ, না, আমি কিছু স্ক্রিপ্ট পরীক্ষা করছিলাম। প্রারম্ভিক গেডিটের চেয়ে উইন্ডোগুলিতে এন ++ দিয়ে সম্পাদনা করতে অনেক বেশি স্বাচ্ছন্দ্য বোধ করেন। এছাড়াও প্রাথমিক নটিলাস যা কোনও কিছু কাটতে সক্ষম হয় না তারপরে একই সময়ে একটি নতুন ফোল্ডার তৈরি করে পেস্ট করুন ... বা ডান ক্লিক করুন -> নতুন ফোল্ডার।
ব্যবহারকারী 1797147
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.