क्या रूट एक्सेस के बिना किसी फ़ाइल का स्वामित्व बदलना संभव है?


21

यदि कोई उपयोगकर्ता A फ़ाइल का मालिक है। तो, क्या उपयोगकर्ता A रूट एक्सेस के बिना फ़ाइल का स्वामित्व उपयोगकर्ता B में बदल सकता है? जब मैं उपयोगकर्ता A के रूप में एक chown B फ़ाइल को चलाता हूं, तो मुझे एक ऑपरेशन की अनुमति है जो त्रुटि की अनुमति नहीं देता है। यह मुझे लगता है कि चूंकि उपयोगकर्ता ए फ़ाइल का मालिक है, इसलिए उन्हें स्वामित्व बदलने में सक्षम होना चाहिए, लेकिन मुझे ऐसा करने का कोई तरीका नहीं दिखता है। सहायता के लिए धन्यवाद!


4
आप एक फ़ाइल में incriminating डेटा डाल सकते हैं और किसी को फ़्रेम करने के लिए इसके स्वामित्व को बदल सकते हैं :) मुझे लगता है कि यह एक तर्क है कि आप क्या सुझाव देते हैं।
रोडमेयर

1
छोटा जोड़: AFAIU आप एक फ़ाइल के मालिक समूह को बदल सकते हैं जो आपके पास है, बशर्ते कि आप उस समूह के सदस्य हों जिसे आप बदल रहे हैं
Matthijs Kooijman

जवाबों:


7

यदि उपयोगकर्ता A का मालिक है file.txt, तो वह file.txtबिना रूट एक्सेस / sudo अनुमति के स्वामित्व को बदल नहीं सकता है । यह एक सुविधा है और बग नहीं है। और कई कारणों में से एक में बुजुर्गों ने इस सुविधा को क्यों चुना, आपके प्रश्न के बारे में रोडमैप द्वारा बताया गया है

नीचे-पंक्ति:chmod यदि आप रूट / sudo अनुमतियों के बिना उस फ़ाइल के स्वामी हैं, तो आप फ़ाइल के अनुमतियों को बदल सकते हैं, लेकिन आप फ़ाइल के स्वामी, उपयोगकर्ता या समूह ( chownया तो का उपयोग करके chgrp) को बदल नहीं सकते , भले ही आप हैं रूट / sudo अनुमतियों के बिना फ़ाइल का स्वामी। यह एक सुविधा है और बग नहीं है।


2
इस गलत का हिस्सा। गैर-रूट उपयोगकर्ता उस समूह के अन्य समूहों को बदल सकते हैं, जिनके वे सदस्य हैं। प्रयास करें touch t; ls -l t; chgrp lpadmin t; ls -l t(मान लें कि आप lpadmin समूह में हैं)। मेरा उत्तर और जुड़ा हुआ प्रश्न भी देखें।
मार्क स्टोसबर्ग

1
बुजुर्गों को यह गलत लगा। यदि im उपयोगकर्ता A और im उपयोगकर्ता B भी है, तो मुझे A से B में स्वामित्व बदलने में सक्षम होना चाहिए, यदि im ने A के रूप में लॉग इन किया है और मेरे पास B या इसके विपरीत का पासवर्ड भी है।
आयुषी

@ ऐशू आप सिद्धांत रूप में कर सकते हैं कि फाइल को बी के रूप में कॉपी करके फिर ए के रूप में हटा दिया जाए। हालांकि बड़ी फ़ाइलों के लिए बहुत व्यावहारिक नहीं है।
होल्गर बॉन्के

4

नहीं, आप बिना पहुंच के स्वामी को फ़ाइल नहीं बदल सकते, लेकिन यदि आप फ़ाइल के मालिक हैं, तो आप फ़ाइल की अनुमतियों को chmodबदल सकते हैं और समूह chgrpको किसी अन्य समूह के साथ बदल सकते हैं जिसका आप सदस्य हैं।

संबंधित प्रश्न: गैर रूट उपयोगकर्ता को chown की अनुमति है?


2

यदि आपके पास उपयोगकर्ता बी तक पहुंच है, तो आप बी के रूप में लॉग इन करते समय फ़ाइल को कॉपी कर सकते हैं। यदि आपके पास उपयोगकर्ता ए तक भी पहुंच है, तो आप फिर लॉग इन कर सकते हैं और मूल फ़ाइल को हटा सकते हैं। और अंत में प्रतिलिपि की गई फ़ाइल का नाम बदलकर मूल नाम (फिर से बी) के रूप में, आपको अनिवार्य रूप से एक ही फ़ाइल के साथ छोड़कर, एक अलग उपयोगकर्ता के स्वामित्व में है।

स्पष्ट रूप से एसएएमई फ़ाइल नहीं है, लेकिन अगर आपने केवल फ़ाइल की सामग्री के बारे में परवाह की है, तो यह चाल है


1

आप सुडो के बिना किसी फ़ाइल या फ़ोल्डर के स्वामित्व को बदल सकते हैं, इसलिए जब तक आपने चीज़ पर अनुमतियाँ पढ़ / लिख ली हों, और आप केवल स्वामी को ही बदल सकते हैं, एक मनमाने उपयोगकर्ता को नहीं। ट्रिक बस यह है कि जो भी है उसे कॉपी करें, मूल को हटा दें और फिर अपनी कॉपी को उसके स्थान पर ले जाएं। यह, दुर्भाग्य से, हर चीज की एक पूर्ण-प्रतिलिपि बनाना शामिल है, लेकिन आप क्या करते हैं।

उदा। chuser.sh:

#!/bin/bash

TMP="some_temporary_filename_this_is_dumb"

RECURSIVE=""
POSITIONAL=()
while [[ $# -gt 0 ]]
do
key="$1"

case $key in
    -r|--recursive)
    RECURSIVE="-r"
    shift # past argument
    ;;
    *)    # unknown option
    POSITIONAL+=("$1") # save it in an array for later
    shift # past argument
    ;;
esac
done
set -- "${POSITIONAL[@]}" # restore positional parameters

cp -d --preserve=all $RECURSIVE $1 $TMP || exit 1
rm $RECURSIVE $1
mv $TMP $1
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.