গ্রুপ অনুমতিতে কোনও ফাইলের মালিকের অনুমতিগুলি অনুলিপি করুন


25

আমি কীভাবে কোনও গ্রুপের অনুমতিতে কোনও ফাইলের ব্যবহারকারী / মালিকের অনুমতিগুলি অনুলিপি করতে পারি?

উদাহরণস্বরূপ অনুমতিগুলি 755 হলে আমি সেগুলি 775 হয়ে উঠতে চাই।

স্পষ্টতা: 755 -> 775 123 -> 113 এবিসি -> এ্যাক

বোনাস যদি আমি একটি ডিরেক্টরিতে সমস্ত ফাইলের জন্য এটি পুনরাবৃত্তভাবে করতে পারি।

(এটি, প্রতিটি ফাইলের জন্য ওয়ান্ডার অনুমতিগুলি গ্রুপের অনুমতিগুলিতে অনুলিপি করা হয় file প্রতিটি ফাইলের আলাদা আলাদা অনুমতি থাকতে পারে))


আমি বুঝতে পারছি না। আপনি মালিক / গ্রুপের অনুমতি হিসাবে ডিরেক্টরি / ফাইলগুলিতে অনুমতি পরিবর্তন করতে চান? যদি তা হয় তবে কেবল chmod নিয়ে ঘুরে দেখি আপনি চাইলে আমি আমার উত্তরে আরও স্পষ্ট উদাহরণ প্রদর্শন করতে পারি।
আনারকো_বিউজানাউস

আপনার উত্তরে এটি সমস্ত ফাইলকে 757575 হিসাবে পরিবর্তন করে। যদি কোনও ফাইলে মূলত 123 এর অনুমতি থাকে তবে কী হবে? তারপরে এটি অবশ্যই 113 এ পরিবর্তন করতে হবে এবং 775 নয়। প্রশ্নটিতে আমি যে অনুমতিটি ব্যবহার করেছি (755) এটি কেবলমাত্র একটি উদাহরণ, আসল অনুমতি কিছু হতে পারে। আমি এই অগ্রগতিমূলক করতে চাই।
আনান

chmod এর পরে সংখ্যাটি কেবল সংখ্যাগত অনুমতি। আপনি যদি একটি এলএস-এল করেন এবং 452 অনুমতি হিসাবে পান তবে কেবল chmod 442 / you_directory / এ যান। উইকিপিডিয়া পৃষ্ঠায় আমার উত্তরের সাথে সংযুক্ত সমস্ত কিছুর ব্যাখ্যা করা হয়েছে (বেশ ভাল)।
আনারকো_বিউজুনাউস

উত্তর:


54

আপনি g=uগোষ্ঠীটিকে অনুমতি হিসাবে ব্যবহারকারীর অনুমতি হিসাবে তৈরি করতে ব্যবহার করতে পারেন

ls -l file
-rw------- 1 user users 0 Jun 27 13:47 file

chmod g=u file

ls -l file
-rw-rw---- 1 user users 0 Jun 27 13:47 file

এবং পুনরাবৃত্তি

chmod -R g=u *

অথবা কিছু ফাইলস্পেকের জন্য

find /patch/to/change/perms -name '*.txt' -exec chmod g=u {} +

chmod র manpage আপনার বন্ধু।


এটি করার ভাল উপায়! আমি এই কৌশলটি প্রতিবার xD ভুলে গেছি
আনার্কো_বিজাউনার্স

এই কৌশল সম্পর্কে কখনও শুনিনি! ব্যবহারযোগ্য একটি।
স্কিনপ

এই g=uকৌশলটি আমাকে কেবল ক্লান্তিকর ব্যবস্থাপনার কয়েক ঘন্টা বাঁচিয়েছিল। সেখানে একটি +1 ;-) রয়েছে
এডুরন

আমার কাছে আমার ব্যবহারকারীর মালিকানাধীন একগুচ্ছ ফাইল ছিল যা আমি সমস্ত ব্যবহারকারীর সাথে ভাগ করতে চেয়েছিলাম। তাই আমিও করেছিchmod -R ag=u ${path_to_directory}
ট্রেভর বয়েড স্মিথ

2

লোকেরা যেমন বলেছে, ফাইলের অনুমতি পরিবর্তন করা বিপজ্জনক হতে পারে। দুর্দান্ত শক্তির সাথে আসে মহান দায়বদ্ধতা এবং সমস্ত শিজা as এটি আমার উত্তর:

ফাইল / ইউএসআর / বিন / ওটোগ:

#!/bin/sh

f=$1
p=`stat -c "%a" $f`
chmod ${p:0:1}${p:0:1}${p:2:1} $f

ব্যবহারের উদাহরণ:

find . -exec otog {} \;

সংখ্যাগত অনুমতি পেতে স্ট্যাট ব্যবহার করে , অনুমতি পরিবর্তন করতে chmod ব্যবহার করে ।

PS: এটি করার আরও ভাল পদ্ধতির জন্য দয়া করে আয়েনের উত্তরটি দেখুন!


1
এটি কি $ {পি: 0: 1} $ {পি: 0: 1} $ {পি: 2: 1 be হওয়া উচিত নয়?
minaev

হ্যাঁ, আপনার অধিকার। এটি অদ্ভুতভাবে আমার পথেও কাজ করেছিল।
আনান

কেউ দয়া করে ডাউনটাতে ব্যাখ্যা করবেন?
আনান

আমি না, তবে আমি ক্ষতিপূরণ দিতে চাই। এটি একটি ভাল সমাধান যা কাজ করে।
minaev

1
আমি বলব স্ক্রিপ্টগুলিতে ম্যানুয়ালি এর চেয়ে বিপজ্জনক কমান্ড ব্যবহার করা নিরাপদ। ভাল পরীক্ষিত স্ক্রিপ্টগুলিতে, এটি :)। অন্যদিকে chmod, সত্যই সত্যই বিপজ্জনক আদেশ হতে দূরে। তুলনা করে rm, আমি বলতে চাইছি rsync --deleteবা অন্য কেউ।
minaev

1

প্রথমত, আপনাকে আপনার অধিকার তালিকা করতে হবে।

ls -l /your_directory/
-rwxr-xr-x  1   57 Jul  3 10:13  file1
-rwxr-xr-x  1   57 Jul  3 10:13  file2

সংখ্যার অনুমতিতে ফলাফল অনুবাদ করতে এটি ব্যবহার করুন: আর = 4, ডাব্লু = 2, এক্স = 1।

সুতরাং এই 2 ফাইলের অনুমতি 755 হয়।

আপনার অধিকার পাওয়ার পরে আপনার chmod কমান্ডটি আপনার পছন্দ মতো সঠিকভাবে পরিবর্তন করতে হবে:

chmod 775 /your_directory/

এই কমান্ডটি কেবল ডিরেক্টরিতে ডানদিকে পরিবর্তিত হবে, তবে ভিতরে থাকা ফাইলটিতে নয়।

আপনি যদি ডানদিকেও পরিবর্তন করতে চান তবে এই আদেশটি করুন:

chmod 775 /your_directory/ -fR

-FR পুনরাবৃত্তি বাধ্য করবে। (আপনি কেবলমাত্র প্রয়োগ করতে চান সে বিষয়ে এবং ডিরেক্টরিতে থাকা ফাইলের বিষয়ে নিশ্চিত হয়ে থাকলে এটি ব্যবহার করুন))

আপনি যদি কেবল ফাইল 1 এ ডানটি পরিবর্তন করতে চান তবে:

chmod 775 /your_directory/file1

এবং কুকিরা যেভাবে ভেঙে পড়ে!

/! Care সাবধান থাকুন, এই আদেশের অপব্যবহার আপনার সমস্ত ওএস অনুমতিগুলি ধ্বংস করতে পারে এবং এটির ত্রুটির কারণ হতে পারে। /! \

PS: দেখুন সেখানে আউট chmod সম্পর্কে আরও তথ্য পেতে হবে।

আশা করি এটা তোমাকে সাহায্য করবে।


আমি প্রশ্নের সাথে কিছু স্পষ্টতা যুক্ত করেছি। ফাইলগুলির একই মালিকের অনুমতি নাও থাকতে পারে, তাই chmod যদি ব্যবহার করতে হয় তবে chmod এ যাওয়ার আগে মালিকের অনুমতিগুলি বের করার কোনও উপায় থাকতে হবে?
আনান

এটি মুশকিল, তবে ls -l কমান্ড অবশ্যই আপনাকে অনুমতি দেবে, তবে এটি এই রূপে থাকবে - rw-rw-r--। সমস্যাটি হল আপনি chmod এর সাথে কাজ করার জন্য কোনও স্ক্রিপ্ট ব্যবহার করবেন না! আপনাকে প্রথমে ফাইলটি বন্ধ করে নিতে হবে। তারপর chmod গ্রুপের জন্য ভাল অধিকার আছে। একটি উদাহরণ দেখানোর জন্য আমি আমার উত্তরটি সম্পাদনা করব।
আনারকো_বিউজাউন্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.