আমি কীভাবে লিনাক্সের সমস্ত ব্যবহারকারীকে একটি ফোল্ডারের লিখন-অ্যাক্সেস দিতে পারি?


191

আমি এখনই উবুন্টুতে অ্যাপাচি 2 ইনস্টল করেছি এবং লক্ষ্য করেছি যে / var / www ফোল্ডারটি সুরক্ষিত। আমি কেবল sudoসবকিছু করতে পারি তবে আমি কেবল এটি লেখার অ্যাক্সেস দিতে চাই।

কিভাবে আমি এটি করতে পারব?

আমি চেষ্টা করেছি sudo chmod 7777 /var/wwwকিন্তু কাজ হয়নি।


এটি কি সর্বজনীনভাবে অ্যাক্সেসযোগ্য সার্ভার, বা এটির ইন্টারনেটের সাথে কোনও সরাসরি সংযোগ নেই? যদি পূর্বেরটি গুরুত্বপূর্ণ হয় তবে আপনি সুরক্ষা সংক্রান্ত সিদ্ধান্তগুলি বিবেচনা করুন - ইন্টারনেটে সার্ভারগুলি ক্রমাগত আক্রমণের শিকার হয় (আপনার / var / লগ / বার্তাগুলি বা সমমানের দিকে নজর দিন)।
Kwutchak

এটি কেবল আমার ল্যাপটপ, এটি ইন্টারনেট থেকে অ্যাক্সেসযোগ্য নয়।
কারসন

উত্তর:


321

একাধিক ব্যবহারকারী যারা লিখতে সক্ষম হবেন তাদের সাথে সেরা ভাগ করে নেওয়ার জন্য /var/www, এটিকে একটি সাধারণ গ্রুপ অর্পণ করা উচিত। উদাহরণস্বরূপ উবুন্টু এবং ডেবিয়ানের ওয়েব সামগ্রীর জন্য ডিফল্ট গোষ্ঠী www-data। নিশ্চিত হয়ে নিন যে সমস্ত ব্যবহারকারীদের লেখার অ্যাক্সেস প্রয়োজন /var/wwwতারা এই গ্রুপে রয়েছেন।

sudo usermod -a -G www-data <some_user>

তারপরে / var / www এ সঠিক অনুমতি সেট করুন।

sudo chgrp -R www-data /var/www
sudo chmod -R g+w /var/www

অতিরিক্তভাবে, আপনার নীচের ডিরেক্টরি এবং সমস্ত ডিরেক্টরিগুলি "GID সেট করুন" তৈরি করা উচিত, যাতে এর অধীনে তৈরি করা সমস্ত নতুন ফাইল এবং ডিরেক্টরিগুলি গ্রুপের /var/wwwমালিকানাধীন থাকে www-data

sudo find /var/www -type d -exec chmod 2775 {} \;    

সমস্ত ফাইল এতে সন্ধান করুন /var/wwwএবং মালিক এবং গোষ্ঠীর জন্য পড়ার এবং লেখার অনুমতি যুক্ত করুন:

sudo find /var/www -type f -exec chmod ug+rw {} \;

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


2
এটি বেশ ক্লান্তিকর ... আমি ব্যবহারকারীদের কেবল এটির অ্যাক্সেস দিতে পারছি না, মনে হচ্ছে এটি অন্য কোনও ফোল্ডার ছিল?
কারসন মায়ার্স

9
যে হয় আপনি কিভাবে এটি অ্যাক্সেস দিন। একই কাজটি করার জন্য কোনও জিইউআই ফাইল ম্যানেজারের ডায়ালগগুলির মাধ্যমে নেভিগেট করার চেষ্টা করার চেয়ে কমান্ডগুলি অনুলিপি করা এবং আটকানো দ্রুত হয়। আপনি যদি chmod এবং chgrp এর ম্যানুয়াল পৃষ্ঠাগুলি কমপক্ষে ("man chmod") পড়েন তবে দীর্ঘমেয়াদী এটি আপনাকে সহায়তা করে।
jtimberman

আমি প্রথমবার পড়ার পরে কমান্ডগুলি বুঝতে পারি নি এবং আপনার সম্পাদনা এটিকে আরও স্পষ্ট করে তুলেছে।
কারসন মায়ার্স

1
অ্যাপাচি অনুমতিগুলি বাধ্য করার জন্য গাইডের জন্য +1। ভাল 027. কিছু দরকার হয় তাহলে এর umask সাথে কাজ করে এক্সেস লিখেছেন, এটা W Dir যেমন chmod G + মতই সহজ /
LiraNuna

1
আপনার গ্রুপ অনুমতি কমান্ড sudo chmod -R g+wএবং না g+rwবা g+rwXকেন?
স্পষ্টভাবে

31

এটি করার একটি সহজ উপায় আছে, এই আদেশটি করার চেষ্টা করুন।

sudo chmod -R 757 /var/www

মূলত, chmodকমান্ড অনুমতি -Rপরিবর্তন করে এবং স্যুইচ সমস্ত ব্যবহারকারীকে প্রভাবিত করে। তারপরে এটি কেবল সঠিকভাবে ব্যবহারের অনুমতি দিচ্ছে।


3
কমান্ডটি ওপি-র জন্য কী করে তা আপনি কিছুটা অন্তর্দৃষ্টি দিতে পারেন?
n0pe

11
ব্যাখ্যার অভাবে -১। তদ্ব্যতীত, chmod $permissions -R $fileবৈধ নয় ...
ব্ল্যাকলাইট শাইনিং

1
এটি বিকল্পগুলি তখন অন্যদিকে অনুমতি না দিয়ে অনুমতি দেয়
মোতাজ এলমাস্রি

2
sudo chmod -R 757 /var/www
বুওয়াইস

দয়া করে অভিজ্ঞ কেউ এই সম্পর্কে সংক্ষিপ্ত ব্যাখ্যা সহ একটি সম্পাদনার পরামর্শ দিন।
আদি প্রসত্যও

29

পড়ুন + + লিখুন:

sudo chmod -R a+rw /var/www

পড়ুন + + লিখুন + + সম্পাদন:

sudo chmod -R a+rwx /var/www

7

অ্যাক্সেস নিয়ন্ত্রণ তালিকাগুলি ব্যবহার করে জিটিমারম্যানের পরামর্শ অনুসারে আপনি প্রতিলিপি করতে পারেন । Setfacl কমান্ড একটি বিদ্যমান ACL এর প্রতিস্থাপন বা সেটি সংশোধন করতে -m করার -s গ্রহণ; ডিরেক্টরি এসিএলগুলি পুনরাবৃত্তি করতে; এবং -d নির্দিষ্ট সেটিংসটিকে ডিফল্ট করতে, যা আপনি যদি আসন্ন ব্যবহারকারী অ্যাকাউন্টগুলির প্রত্যাশা করে থাকেন তবে তা কার্যকর is

এগুলি কেবল ব্যবহারকারীর, গোষ্ঠী, অন্যান্য, এবং মুখোশ ব্যবহার করে আপনার মুখোশের জন্য যেমন অনুমতিগুলি সেট করেছে:

setfacl -m u::rwx, g::r-x, o::---, m:rwx DIRECTORY

এবং এটি কোনও নির্দিষ্ট ব্যবহারকারী বা তার / তার গোষ্ঠীর জন্য আপনি এটি কীভাবে করতে পারেন তা হতে পারে:

setfacl -m u:USERNAME:rwx, g:USERNAME:r-x DIRECTORY

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

getfacl DIRECTORY

এবং আপনি উপ-ডিরেক্টরিগুলির জন্য এসিএলগুলি দেখতে -আর বা ডিফল্টগুলি দেখতে -d নির্দিষ্ট করতে পারেন।


2

দ্রুত এবং সহজ উত্তর -

ক। (যোগ করুন -a ) আপনার ব্যবহারকারী ( USER_NAME ) গ্রুপ (থেকে -G ) WWW-ডেটা

sudo usermod -a -G www-data user_name

B ইংরেজী বর্ণমালার দ্বিতীয় অক্ষর. গোষ্ঠী ( ) কে / var / www পুনরাবৃত্তি ( -আর ) এর নিজস্ব ব্যবহারকারী ( ইউ ) হিসাবে একই ( = ) অনুমতি দিন ।

sudo chmod -R g=u /var/www

ব্যাখ্যা: ডেবিয়ান / উবুন্টুতে অ্যাপাচি 2 ব্যবহারকারী / গোষ্ঠী www-ডেটা / var / www এর মালিক হিসাবে সেট করে । ব্যবহারকারীর জন্য ডিফল্ট অনুমতিগুলি হ'ল "সামগ্রী দেখুন ও সংশোধন করুন" তবে গ্রুপটি কেবল "সামগ্রী দেখতে পারে"। সুতরাং নিজেকে www- ডেটা গ্রুপে যুক্ত করা এবং wwwW- ডেটা ব্যবহারকারীর মতো একই অনুমতি প্রদান করা বিকাশ লাভের একটি দ্রুত এবং সহজ উপায়। আমি আমার সমস্ত লোকালহোস্ট (পিসি / ল্যাপটপ) ওয়েব বিকাশ পরিবেশের জন্য এটি করি।


1

আমি typicall ব্যবহার

chmod g+w /folder/ -R

এটি প্রায় স্ব-ব্যাখ্যা।

এটা সবাই যোগ gএর roup /folder/আছে wআচার অ্যাক্সেস ( +w), -Rউপ-ফোল্ডার জন্য পুনরাবৃত্তির জন্য।


-3

আপনি কি শুধু চেষ্টা করতে পারেন chmod 0777 /var/www?

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


সুতরাং কেন এটি সমাধান হিসাবে অফার করবেন, এবং তারপরে তত্ক্ষণাত এটিকে অপমান করবেন? -১ ভোট
তিশাচ

-3

প্রথমে আপনি নির্দিষ্ট ফোল্ডারের পাথ প্রবেশ করুন, তারপরে এই কমান্ডটি ব্যবহার করুন ...

chmod -R 777 foldername
chown username:username foldername 

7
বাহ, এটা খারাপ! আপনি একটি -আর দিয়ে একটি 777 দেবেন না - বিশেষত যদি প্রশ্ন জিজ্ঞাসা করা ব্যক্তি নবাগত এবং ঝুঁকিগুলি বুঝতে না পারে।
22:38 এ 12:38

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