অন্য ব্যবহারকারীদের হোম ডিরেক্টরিতে রুট এমকেডির ব্যবহার করে


27

অন্য ব্যবহারকারীর ফোল্ডারের অধীনে একটি ফোল্ডার তৈরি করার চেষ্টা করার জন্য বেশ কিছুটা কঠিন সময় কাটানো /home/devuser1/pubic_html। আমি sudoবিকল্প ব্যবহার এবং এড়াতে এড়ানোর চেষ্টা করছি । উল্লিখিত ফোল্ডারে থাকা অনুমতিগুলি এতে পড়বে:

drwxr-s--- 2 devuser1  www-data 4096 Apr 28 19:40 public_html

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

chown -vR devuser1:www-data /home/devuser1/public_html/$vhost

উত্তর:


31

এর মাধ্যমে installআপনি একটি নির্দিষ্ট মালিক, গোষ্ঠী এবং মোডের সাহায্যে একটি ডিরেক্টরি তৈরি করতে পারেন:

install -d -o <user> -g <group> -m <mode> <path>

29

sudo -u [username] mkdir /home/[username]/public_html/[folder_name] ঠিকভাবে কাজ করে.

আমি যে অনুমতিগুলি এবং মালিকানা দেখতে পাচ্ছি তা থেকে যদি আমি একই ব্যবহারকারীরূপে লগইন করতে পারি এবং এর অধীন ফোল্ডারটি তৈরি করতে পারি public_html

আপনি কল করতে পারেন su -c "mkdir /home/[username]/public_html/[folder_name]" [username]


2
আপনি যখন চালনা করবেন sudo -u USERNAME mkdir DIRNAME, আপনি mkdirব্যবহারকারী হিসাবে কমান্ডটি কার্যকর করছেন USERNAME। এটি ঠিক যেমন লগ ইন করার সমতুল্য নয় USERNAME, কারণ লগ ইন করা পরিবেশের ভেরিয়েবলগুলি নির্ধারণ করে এবং এগুলি বোঝায়, তবে এটি সেই অংশ যা গুরুত্বপূর্ণ ব্যবহারকারী হিসাবে কোনও প্রক্রিয়া চালায়।
গিলস 'তাই মন্দ হওয়া বন্ধ করুন'

1
এছাড়াও সেই ব্যবহারকারীর অনুমতি নাও থাকতে পারে।
মাহেমফ

1

এই অনুমতিগুলি দেওয়া, কেবলমাত্র ডিরেক্টরি মালিক বা সুপার ব্যবহারকারী সাব ডিরেক্টরিটি তৈরি করতে পারেন।

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


হ্যাঁ, এই এক কঠিন। এটি একটি নির্বোধ প্রশ্ন, তবে আমার বিকল্পগুলি কী?
maGz

(রুট হিসাবে) কী হিসাবে ব্যবহারকারীর কমান্ডটি চালাবেন ?: sudo -u devuser1 mkdir /home/devuser1/public_html/test। এটি ফোল্ডার তৈরির মতো নয় তাই sudo? ls -alপ্রকাশিত:drwxr-sr-x 2 devuser1 www-data 4096 Apr 28 23:49 test
maGz

সম্ভবত আমি নির্বোধ হয়ে যাচ্ছি, তবে sudoযতক্ষণ না আপনি তার পরে মালিকানা পরিবর্তন করবেন ততক্ষণ কোনও ফোল্ডার তৈরি করার ক্ষেত্রে আমি কোনও মন্দ দেখতে পাচ্ছি না ।
আরএসফালকন 7

lsব্যবহারকারীর বিষয়বস্তুতে যা প্রকাশিত হয় তা থেকে public_htmlএটি প্রদর্শিত হয় যদিও মালিকানা পরিবর্তনের প্রয়োজন নেই, যদিও অনুমতিগুলিও রয়েছে।
maGz

আমি মনে করি আমি এটি ভাবতেও নিখুঁত হয়েছি: আমি ফোল্ডারটি তৈরি করছি না su, তার পরিবর্তে আমি ফোল্ডারটি তৈরি করতে যাচ্ছি এমন ব্যবহারকারী হিসাবে নিজেকে প্রমাণ করার জন্য এটি ব্যবহার করছি ... এর অর্থ কী?
maGz

0

আমি কিছু করার চেষ্টা করেছি mkdir -p /srv/postgres/data/mydirকারণ

drwxr-xr-x 3 root root 4.0K Apr 7 08:26 srv মালিক আছে root

না install -d -o <user> -g <group> -m <mode> <path> @ ব্যবহারকারী 2313838

বা @magzsudo -u postgres mkdir -p /srv/postgres/data/mydir কাজ করে না

সুতরাং আমি এটিকে দুটি কমান্ডে বিভক্ত করেছি:

sudo mkdir -p /srv/postgres/data/mydir
sudo chown postgres:postgres /srv/postgres -R
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.