अनुमति से इनकार कर दिया गया है, लेकिन समूह की अनुमति रेडहैट पर अच्छी लगती है


11

मेरे पास एक उपयोगकर्ता फुटपैड है:

-bash-3.2$ id ftpadmin
uid=10001(ftpadmin) gid=2525(fsg) groups=2525(fsg),10005(git)

नोट करने के लिए महत्वपूर्ण समूह "git" है

फिर मेरे पास मेरा भंडार है:

ls -al
drwxrwxr-x   7 git      git          4096 Apr 20 14:17 fsg

इसलिए ftpadmin git का सदस्य है, और git ने समूह में लोगों को सभी अनुमतियां दी हैं। जब मैं ftpadmin के रूप में लॉगिन करता हूं तो मुझे यह क्यों दिखाई देता है:

-bash-3.2$ ls -al /home/git/
ls: /home/git/fsg: Permission denied
...

लगता है कि मुझे अनुमति होनी चाहिए ...

अपडेट / घर / गेट पर अनुमतियाँ हैं

drwxrw-rw-   6 git      git          4096 Apr 26 09:20 git

अभी भी अच्छा लग रहा है ...

अद्यतन नई अनुमतियाँ / घर / git हैं:

drwxrwxrw-   6 git      git          4096 Apr 26 09:20 git

/ घर / git / fsg पर अनुमतियाँ हैं:

drwxrwxr-x   7 git      git          4096 Apr 20 14:17 fsg

हालाँकि, मैं अभी भी मिलता है

ls: /home/git/fsg: Permission denied
ls: /home/git/fsg: Permission denied

1
अनुमतियाँ किस पर हैं /home/git?
ज़ॉडेचे

drwxrw-rw- 6 git git 4096 Apr 26 09:20 git
टोनी

drwxrwxr-xयदि आप चाहते हैं कि यह केवल गैर-समूह के सदस्यों के लिए ही पढ़ा जाए, लेकिन समूह के सदस्यों द्वारा परिवर्तनीय होना चाहिए ; drwxrwx---यदि आप केवल समूह के सदस्यों को इसमें रहना चाहते हैं तो होना चाहिए ।
एवरी पायने

4
आपको समूह खोजों की अनुमति देने के लिए निर्देशिका में समूह "x" बिट सेट की आवश्यकता है । "Rw-" अनुमतियाँ किसी फ़ाइल को उसका नाम (r) खोलने या फ़ाइल (w) बनाने की अनुमति देती हैं, लेकिन फ़ाइलों (x) को सूचीबद्ध या खोज नहीं करती हैं।
mpez0

काम नहीं किया। मेरा नवीनतम अपडेट देखें
टोनी

जवाबों:


9

Mpez0 +1 को विशेष रूप से देना चाहते थे, उनके उत्तर के लिए "आपको समूह" x "बिट की आवश्यकता है, जो समूह खोजों की अनुमति देने के लिए निर्देशिका में सेट है।" rw- "अनुमतियाँ किसी फ़ाइल को उसका नाम (r) खोलने या फ़ाइल बनाने की अनुमति देती हैं (w), लेकिन फाइलों (x) को सूचीबद्ध या खोजना नहीं। "

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

एवरी एवरीथिंग ने पैसे पर सही कहा था, काश मैं फिर से आपको एक +1 दे पाता।

एक और विस्तृत उदाहरण चित्र में मदद कर सकते हैं नए लिनक्स उपयोगकर्ताओं ( किसी भी क्रेडिट की तलाश नहीं, सिर्फ स्पष्टता के लिए एक और उदाहरण प्रदान करना )। अपने स्वयं के पीसी पर मैं एक विशिष्ट विकास परियोजना के लिए एक अतिरिक्त उपयोगकर्ता बनाना चाहता था। मेरी मशीन और वेब पर सह-स्थित सर्वर के बीच कुछ SSH, SFTP मुद्दों का परीक्षण कर रहा था। सब कुछ सेट करने के बाद एक ही "अनुमति अस्वीकृत" त्रुटि मिली ... और हाँ यह सही था कि mpez0 ने बताया कि अन्य के लिए अनुमतियों के आधार पर खोज के मुद्दे को छोड़कर।

नोट: नए लिनक्स उपयोगकर्ताओं के लिए, अनुमतियाँ क्रमशः उपयोगकर्ता, समूह, अन्य या rwx, rwx, rwx हैं और इस तरह दिखेंगी

drwxr-xr--   

user has read + write + execute, rwx 
group has only read and execute, r-x
other has only read acces r--

'अन्य' के लिए हमें इसकी पर्याप्त याद दिलाई जाती है ताकि निर्देशिका को खोजा जा सके, इस प्रकार त्रुटि संदेश मिल सके।

यहाँ मैंने क्या किया, (चरण 6 में त्रुटि संदेश का सामना किया)

1) एक उपयोगकर्ता बनाया, hoiuser (उपयोगकर्ता जानकारी देखने के लिए, आप उंगली cmd, "उंगली hoiuser" का उपयोग कर सकते हैं या 'बिल्ली / आदि / पासवार्ड' फ़ाइल पढ़ सकते हैं)

2) एक समूह बनाया, hoidevs (उपयोगकर्ता जोड़ा "hoiuser" समूह के लिए)

root@zareason-breeze:/etc# cat group | grep hoidevs 
hoidevs:x:1010:userz,hoiuser 

याद रखें कि आपको खाता आईडी से जुड़ी नई "समूह" अनुमतियों के लिए लॉग इन और फिर से लॉग इन करना होगा।

3) chgrp hoidevs के लिए निर्देशिका / घर / userz / डेटा / साइट / होई और फ़ाइलों के लिए एक जगह बनाई

hoiuser@zareason-breeze:/home/userz/data/Sites/hoi$ ls -alF
total 16
drwxr-xr-x  4 userz hoidevs  4096 2012-02-27 13:34 ./
drwxr-xr-x  2 userz userz 4096 2012-02-29 17:00 odt/
drwxrwxr-x  2 userz hoidevs  4096 2012-02-27 13:34 html/

4) एक टर्मिनल विंडो खोला, उपयोगकर्ता userz सक्रिय था

5) su - hoiuser (उपयोगकर्ता hoiuser पर स्विच किया गया)

6) cd / home / userz / data / Sites का प्रयास किया

hoiuser@zareason-breeze:/home/userz/data$ cd Sites
-su: cd: Sites: Permission denied    (voila, the problem)


userz@zareason-breeze:~/data/Sites$ ls -alF
total 60
drwxr-xr--  11 userz userz  4096 2012-02-24 16:20 ./
drwxr-xr-x   4 userz hoidevs   4096 2012-02-27 13:34 hoi/

7) साइटों के लिए अनुमतियाँ बदल दीं

userz@zareason-breeze:~/data/Sites$ chmod 755 .
userz@zareason-breeze:~/data/Sites$ ls -alF
total 60
drwxr-xr-x  11 userz userz  4096 2012-02-24 16:20 ./

और आवाज की समस्या तय .... यहाँ सबूत है

hoiuser@zareason-breeze:/home/userz/data$ id
uid=1009(hoiuser) gid=1009(hoiuser) groups=1009(hoiuser),1010(hoidevs)

hoiuser@zareason-breeze:/home/userz/data$ cd Sites        (<- yea no error message)
hoiuser@zareason-breeze:/home/userz/data/Sites$ cd hoi
hoiuser@zareason-breeze:/home/userz/data/Sites/hoi$ ls -alF
total 16
drwxr-xr-x  4 userz hoidevs  4096 2012-02-27 13:34 ./
drwxr-xr-x 11 userz userz 4096 2012-02-24 16:20 ../
drwxr-xr-x  2 userz userz 4096 2012-02-29 17:00 odt/
drwxrwxr-x  2 userz hoidevs  4096 2012-02-27 13:34 html/

यहां तक ​​कि हमें अनुभवी लिनक्स / यूनिक्स उपयोगकर्ताओं को अब और फिर से एक अनुस्मारक की आवश्यकता है।

जैसा कि बताया गया था, यह केवल उस निर्देशिका को सही अनुमति देने के लिए पर्याप्त नहीं है जहां फाइलें हैं, आपको यह भी सुनिश्चित करने की आवश्यकता है कि उस निर्देशिका तक जाने वाले सभी निर्देशिकाओं में सही अनुमतियाँ हैं, विशेष रूप से "अन्य" के लिए क्षमता "खोज" और निर्देशिका और फ़ाइलों की तलाश करें। जब एक्स का अर्थ होता है, तो ठीक से सहज ज्ञान युक्त।

मेरी उपनिर्देशिका संरचना थी: / घर / उपयोगकर्ता / डेटा / साइटें / होई / html /

घर से शुरू कर रहे हैं

userz@zareason-breeze:~$ pwd
/home

यह मेरी निर्देशिका संरचना थी चामोर से आगे

drwxr-xr-x  13 root root     4096 2012-02-29 14:51 home/
drwxr-xr-x 88 userz userz 4096 2012-02-29 17:07 userz/
drwxr-xr-x 476 userz userz    20480 2012-02-26 16:08 data/
drwxr-xr--  11 userz userz     4096 2012-02-24 16:20 Sites/    (<-- Do you see it, other is r--)
drwxr-xr-x   4 userz hoidevs   4096 2012-02-27 13:34 hoi/
drwxrwxr-x  2 userz hoidevs  4096 2012-02-27 13:34 html/

यह मेरी निर्देशिका संरचना थी चामड़ के बाद

drwxr-xr-x  13 root root     4096 2012-02-29 14:51 home/
drwxr-xr-x 88 userz userz 4096 2012-02-29 17:07 userz/
drwxr-xr-x 476 userz userz    20480 2012-02-26 16:08 data/
drwxr-xr-x  11 userz userz     4096 2012-02-24 16:20 Sites/      (<-- Fixed by the chmod > 755 ., now r-x)
drwxr-xr-x   4 userz hoidevs   4096 2012-02-27 13:34 hoi/
drwxrwxr-x  2 userz hoidevs  4096 2012-02-27 13:34 html/

ध्यान दें कि केवल परिवर्तन 'निर्देशिका' साइटों के लिए 'अन्य' के लिए आरएक्स अनुमतियाँ थीं। आशा है कि यह दूसरों की मदद करता है, यह मेरे लिए एक अच्छा रिफ्रेशर था।


3
मुझे FreeBSD और OpenBSD पर समान समस्या थी। मेरे लिए कुंजी यह हिस्सा था: याद रखें कि आपको लॉग इन करना होगा और खाता आईडी के साथ जुड़े नए "समूह" अनुमतियों के लिए फिर से लॉग इन करना होगा। निश्चित रूप से पर्याप्त है, FreeBSD प्रलेखन में कहा गया है: `-G ग्रूपिस्ट ... समूह सदस्यता परिवर्तन वर्तमान उपयोगकर्ता लॉगिन सत्रों के लिए प्रभावी नहीं होते हैं, उपयोगकर्ता को परिवर्तनों से प्रभावित होने के लिए फिर से कनेक्ट करने की आवश्यकता होती है।
iboisver

6

आपके पास उस निर्देशिका पर अनुमति होनी चाहिए जिसमें फ़ाइल प्राप्त करने के लिए फ़ाइल है। / घर / गेट पर अनुमतियाँ क्या हैं? (हाँ, Zoredache, मैंने आपको उस ओर इशारा करने के लिए +1 दिया)


फॉलो-अप: आपको उस समूह के लिए निर्देशिका में प्रवेश करने के लिए समूह के लिए निष्पादित (x) बिट सेट की आवश्यकता है। इसे विंडोज़ "ट्रैवर्स डायरेक्टरी" सेटिंग के रफ एनालॉग के रूप में सोचें। इसके बिना, समूह के लिए पहुंच से वंचित कर दिया जाएगा। यदि आप हताश हैं, तो आप कर सकते हैं:

chmod g+x /home/git
chmod g+x /home/git/fsg

निम्नलिखित का प्रयास करें और प्रत्येक से संदेश पोस्ट करें:

cd /home
cd /home/git
cd /home/git/fsg

उनमें से हर एक को सुलभ होना चाहिए ftpadminयदि उनमें से कोई एक नहीं है , तो यह आपको अंदर जाने से रोकेगा /home/git/fsg


drwxrw-rw- 6 git git 4096 Apr 26 09:20 git
टोनी

समझ में आता है, मुझे अभी भी / होम / git / fsg पर अनुमति से वंचित रखा गया है जो drwxrwxr-x 7 git git 4096 Apr 20 14:17 fsg
टोनी

और उस अंतिम "अनुमति से वंचित", समूह-निष्पादित बिट सेट है? यदि माता-पिता के पास भी अनुमति न हो तो बच्चे के लिए आपके पास अनुमति नहीं है।
एवरी पायने

मेरे नवीनतम अद्यतन की जाँच करें। मैंने अनुमतियाँ वहां रखीं और समूह-निष्पादन बिट सेट है
टोनी

मैं देख रहा हूँ कि आपके पास परिणाम हैं /home/gitऔर /home/git/fsgक्या परिणाम हैं /home?
अवनी पायने

4

रूट एक्सेस के माध्यम से एक उपयोगकर्ता एक्स के समूहों को बदलने के बाद, आपको लॉग आउट करना होगा और उस उपयोगकर्ता एक्स के साथ फिर से लॉग इन करना होगा, अन्यथा नए समूहों को ध्यान में नहीं रखा जाएगा।


3

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

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