Chmod फ़ाइलों को उपयोगकर्ता के रूप में समूह की एक ही अनुमति देने के लिए


16

क्या समूह को वही अनुमतियाँ देने के लिए एक यूनिक्स कमांड है जो उपयोगकर्ता के पास वर्तमान में फाइल-बाय-फाइल के आधार पर एक निर्देशिका ट्री के लिए पुनरावर्ती है? यानी अगर कोई फाइल यूजर राइट करने योग्य है, तो उसे ग्रुप राइटेबल होना चाहिए, नहीं तो वह ग्रुप राइटिंग वगैरह नहीं होनी चाहिए।

chmod 

जवाबों:


25

हमें जी = यू दिखाने के लिए कुदोस को जामेसन। मेरे सिस्टम पर, यह काम करने लगता है:

chmod -R g=u dir

1
यह निर्देशिकाओं की अनुमतियों को भी बदलता है। मूल प्रश्न निर्दिष्ट फ़ाइलें।
जैमेसन

@jamessan, कौन सी निर्देशिका हैं।
माइक ग्राहम

@ माइक, सिर्फ इसलिए कि * निक्स आपको एक फ़ाइल के रूप में बहुत अधिक सब कुछ व्यवहार करने की अनुमति देता है, इसका मतलब यह नहीं है कि निर्देशिका वास्तव में फाइलें हैं। यहां तक ​​कि अगर किसी को माना जाता है कि वे समान हैं, तो एक निर्देशिका ट्री में सभी फ़ाइलों की अनुमतियों को बदलने और एक निर्देशिका ट्री में सभी फ़ाइलों और निर्देशिकाओं की अनुमतियों को बदलने के बीच एक अलग कार्यात्मक अंतर है।
जैमेसन

एक बार फिर मेरी समस्या का सीधा समाधान है। मुझे हैरानी क्यों नहीं हुई?
rzetterberg


0

मैं मौजूदा कमांड के साथ ऐसा करने का आसान तरीका नहीं सोच सकता। शायद इस तरह से एक स्क्रिप्ट में मदद मिलेगी:

#!/bin/bash

DIR="$1"

find "$DIR" -ls | while read a b perm c d e f g h i file; do
   uperm=${perm:1:3}
   uperm=$(echo "$uperm" | tr -d '-')
   chmod g=$uperm "$file"
done

इसके अलावा, ध्यान रखें कि उपयोगकर्ताओं के लिए कुछ परमिट समूहों पर लागू नहीं हो सकते हैं, और इसके विपरीत।


0

मुझे नहीं पता कि ऐसा कोई आदेश मौजूद है, लेकिन
उदाहरण के लिए, जो आप करने की कोशिश कर रहे हैं, उसे प्राप्त करने और इसे प्राप्त करने के लिए कुछ समय का उपयोग करना।

उदाहरण के लिए:
% find . -type f -perm -u+w -and ! -perm -g+w -exec chmod g+w {} \;

उपरोक्त कमांड वर्तमान निर्देशिका को ट्रेस करती है "।", उन सभी फाइलों को खोजती है, जिनके पास उपयोगकर्ता के लिए लिखित अनुमति है
, लेकिन समूह के लिए कोई लेखन अनुमति नहीं है और वहां परिवर्तन को समूह योग्य बनाने की अनुमति है।

इसी तरह आप समूह के लिए फ़ाइल पढ़ने और निष्पादित करने के लिए फ़ाइल अनुमतियों को बदलने के लिए आह्वान के ऊपर संस्करण का उपयोग करते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.