একই সাথে কোনও ফাইলের অনুমতি এবং গ্রুপ-মালিক কীভাবে পরিবর্তন করবেন


9

ফাইল অনুমতি পরিবর্তন করার জন্য, আমি জানি যে আমি chmod ব্যবহার করতে পারি। গ্রুপ-মালিক পরিবর্তনের জন্য, আমি chgrp ব্যবহার করতে পারি। তবে, আমি যদি একই সাথে অনুমতি এবং মালিক উভয়কেই পরিবর্তন করতে চাই, তবে লিনাক্সে আমি যে কোনও আদেশ ব্যবহার করতে পারি?

উদাহরণস্বরূপ, এই অনুমতি এবং মালিক সহ একটি ফাইল রয়েছে:

-rw-r--r--+  1 raymondtau  staff    0 May  8 16:38 WantToChangeThisFile

এবং এখন আমি এটিকে পরিবর্তন করতে চাই:

---x-w--wx+  1 raymondtau  admin    0 May  8 16:38 WantToChangeThisFile

আমি জানি আমি এই কমান্ডটি ব্যবহার করতে পারি: chmod 123 WantToChangeThisFile && chgrp admin WantToChangeThisFileতবে এটি করার কোনও পরিষ্কার উপায় আছে কিনা তা জানতে চাই।

উত্তর:


9

"ইউনিক্স-ওয়ে" নামে পরিচিত ধারণা রয়েছে। প্রতিটি সরঞ্জামের একটি সাধারণ ফাংশন করা উচিত। কারও যদি আরও জটিল ফাংশন প্রয়োজন হয় তবে তিনি ছোট সরঞ্জামগুলি একত্রিত করতে পারেন।

বিপরীতটি হল মনোলিটিক ডিজাইন যখন সমস্ত কার্যকারিতা এক বিশাল সরঞ্জামের মধ্যে একত্রিত হয়।

যদি আপনি জটিল কিছু করতে চান - কেবল একটি স্ক্রিপ্ট লিখুন, সহজ সরঞ্জামগুলি চাওয়া।


এখানে আমি লিখেছি এমন একটি স্ক্রিপ্ট যা এই সরঞ্জামগুলিকে একটি শেল ফাংশনে সংযুক্ত করে ch,।
কিথ

2
এর কোনও উপায় নেই, এর উত্তর নেই, তিনি যা বলেছিলেন তা ইতিমধ্যে বিদ্যমান বেশিরভাগ সরঞ্জাম যেমন আরএসসিএন-এর সাথে অর্জন করা যেতে পারে এবং যদিও লিনাক্স একটি সরঞ্জাম / এক ফাংশন পছন্দ করে তবে এর মানে এই নয় যে একাধিক স্টাফ করার সরঞ্জামগুলি বিদ্যমান নেই
কিউই

@ কিউই কিছু কিছু লিনাক্স সরঞ্জাম ইউনিক্স-ওয়ে নীতিমালা অনুসরণ করে না এবং বিভিন্ন প্রকৃতির বিভিন্ন ফাংশনকে একত্রিত করে। উদাহরণস্বরূপ systemd পছন্দ করুন।
কনডিবাস

1
@ কনডিবাস "ঝোঁক" বাক্যটির গুরুত্বপূর্ণ অংশ। বিধি ব্যতিক্রম উপস্থিত আছে। তবুও আপনার উত্তর আমার কাছে সত্যিই খারাপ।
কিউই

9

আপনি যা চান তা যদি ফাইলটি কোথাও অনুলিপি করা হয় (এর চূড়ান্ত গন্তব্যের মতো), আপনি installকমান্ডটি একবার দেখতে চান :

install -m 0777 -o root $sourcefile $destinationfile


1

* নিক্সে কাজের জন্য সঠিক সরঞ্জামটি ব্যবহার করা গুরুত্বপূর্ণ, তবে প্রতিটি চেইন কমান্ডে একই পথে পুনরাবৃত্তি করা নির্বোধ মনে হয় ly পরিবর্তে, আপনার সত্যই বাশ ভেরিয়েবলগুলি ব্যবহার করা উচিত এবং ছোট স্ক্রিপ্টগুলিতে বিশেষত ব্যবহার করা উচিত $_

আপনার আদেশ হ'ল:

chmod 123 WantToChangeThisFile && chgrp admin $_

ALT +। আপনার বর্তমান শেলটিতে সর্বশেষ ব্যবহৃত তর্কটি টানানোর অনুরূপ কাজ করে।


0

Rsync এই ক্ষেত্রে দরকারী:

ফাইন ম্যানুয়াল (টিএম) থেকে

--chown = ব্যবহারকারী: GROUP সাধারণ ব্যবহারকারীর নাম / গোষ্ঠীর নাম ম্যাপিং

--chmod = CHMOD ফাইল এবং / অথবা ডিরেক্টরি অনুমতিগুলিকে প্রভাবিত করে

সুতরাং, উদাহরণস্বরূপ, আপনি chmod / mnt / lala / lala4000 / "ugo = rX" এবং chown "foo.bar" করতে চান

আরএসআইএনসি - কেচমোড = উগো = আরএক্স - শাউন = ফু: বার -আরভিটপলঘ / এমএনটি / লালা / লালা 4000 / / এমএনটি / লালা / লালা 4000 /

এটি পুনরাবৃত্তভাবে chir এবং dir chmod হবে।


0

আপনি দীর্ঘ rsyncকমান্ড দিয়ে একটি লক্ষ্য অর্জন করতে পারে

rsync -a --chown=root:root --chmod=F755 filename filename

আমি এটি পাই না
পিয়ের.ভ্রিয়েন্স

এটি অনিরাপদ: এটি নির্দিষ্ট ডিরেক্টরি এবং উপ-ডিরেক্টরিগুলির সমস্ত মিলে যাওয়া ফাইলগুলিকে প্রভাবিত করবে, কেবলমাত্র একটি ফাইল যার দিকে ইঙ্গিত করেছে।
telcoM

-1

আপনি chown username:groupname file ...উভয় একই সাথে পরিবর্তন করতে পারেন । এটি একই (ইনোড) কাঠামোর দুটি ক্ষেত্র পরিবর্তন করছে সুতরাং এটি সংযুক্ত করে দুটি সিস্টেম কল সাশ্রয় হয় (একটি বর্তমান মানগুলি পড়ার জন্য এবং একটি পরিবর্তিত ভলস সেট করার জন্য)।


chownশুধুমাত্র মালিকদের পরিবর্তন করে। ওপি অনুরোধের সাথে সাথে এই অনুমতিগুলি কীভাবে পরিবর্তন করবে? দ্রষ্টব্য ওপি-র উদাহরণটিতেও রয়েছে chmod
jscott

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

-3
#!/bin/bash

# Setting the Variables for execution
LOGDIR=$HOME
CURRENTTIME=$(date +"%Y%m%d%s%H%M%S")
LOGFILE=${LOGDIR}/chgpermission_${CURRENTTIME}.log
MASTERFILE=$1
INDEX=0

# Checking the number of Parameters passed
if [ "$#" -ne 1 ]; then
    echo "Master file name is mandatory parameter" > ${LOGFILE}
    exit 1
fi

# Loading the Master file into an Array 
echo "Loading the Master file ${MASTERFILE} into an array" >> ${LOGFILE}
while read line
do
#echo $line  
MASTERARRAY[$INDEX]=$HOME/$line 
INDEX=$(expr $INDEX + 1) 
done < ${MASTERFILE}

echo "Number of parameters in an master array ${MASTERARRAY[@]}" >> ${LOGFILE}

# Changing the permission of the file 
echo "Changing the permission of the file in master file ${MASTERFILE}" >> ${LOGFILE} 
index=0
for index in "${MASTERARRAY[@]}"
do
    if [ -f "$index" ] 
    then
       echo "$index file exist"
       echo  "$index file exist" >> ${LOGFILE}
       chmod 755 "$index" 
       chown workstation "$index"
       chgrp workstation "$index" 
    else
      echo "$index file does not extst"
      echo "$index file does not exist" >> ${LOGFILE}  
    fi 
done 

2
আপনি কমপক্ষে এটি কীভাবে কাজ করে এবং কীভাবে এটি ব্যবহার করা হয় তা
অনুমানের

2
দয়া করে উত্তর হিসাবে কিছু কোড পেস্ট করবেন না।
কনরাড গাজিউস্কি

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