İzin reddedildi, ancak grup izinleri redhat'te iyi görünüyor


11

Bir kullanıcı ftpadmin var:

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

Dikkat edilmesi gereken önemli grup "git"

Sonra git depom var:

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

Yani ftpadmin git üyesidir ve git gruptaki kişilere tüm izinleri vermiştir. Ftpadmin olarak giriş yaptığımda bunu neden görüyorum:

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

İzin almalıyım gibi görünüyor ...

Güncelle / home / git izinleri

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

hala iyi görünüyor ...

Güncelleme / home / git üzerindeki yeni izinler:

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

/ Home / git / fsg üzerindeki izinler:

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

Ancak yine de

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

1
İzinleri nelerdir /home/git?
Zoredache

drwxrw-rw- 6 git git 4096 Nisan 26 09:20 git
Tony

olmalı drwxrwxr-xbunu salt okunur grup üyeleri tarafından Grup-dışı-üyeler için değil makinemizde isterseniz; olmalı drwxrwx---sadece grup üyeleri yalnız onun içinde olmak istiyorum.
Avery Payne

4
Grup aramalarına izin vermek için dizinde "x" grup bitine ayarlanmış olmanız gerekir . "Rw-" izinleri, adı (r) verilen bir dosyayı açmaya veya bir dosya (w) oluşturmaya izin verir, ancak dosyaları listelemeye veya aramaya (x) izin vermez.
mpez0

işe yaramadı. en son güncellememi görün
Tony

Yanıtlar:


9

Mpez0 'a özel olarak +1 vermek istedim, "Grup aramalarına izin vermek için dizinde ayarlanmış" x "grubuna ihtiyacınız var." Rw- "izinleri adı (r) verilen bir dosyanın açılmasına veya bir dosya oluşturulmasına (w), ancak dosyaları listelemiyor veya aramıyor (x). "

Unutması çok kolay ve çözümü ortada gömülü . Bu kesinlikle yeni Linux kullanıcıları için kullanıcılar ve gruplar için dosya / dizin izinleri açısından bir sorundur.

Avery'nin söylediği her şey doğru paraydı, yine sana +1 de verebilirim.

Daha ayrıntılı bir örnek, yeni Linux kullanıcılarına yardımcı olabilir ( herhangi bir kredi aramamak, sadece netlik için başka bir örnek sunmak ). Kendi bilgisayarımda belirli bir geliştirme projesi için ek bir kullanıcı oluşturmak istedim. Makinem ve web'de ortak bir sunucu arasında bazı SSH, SFTP sorunlarını test ediyordum. Her şeyi ayarladıktan sonra aynı "İzin reddedildi" hatasını aldım ... ve evet mpez0'ın işaret ettiği diğer izinlere dayalı arama sorunu dışında doğru görünüyordu.

Not: Yeni Linux kullanıcıları için izinler sırasıyla kullanıcı, grup, diğer veya rwx, rwx, rwx'dir ve şöyle görünür

drwxr-xr--   

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

'Diğer' için dizini bulmak / aramak için yeterli DEĞİL, böylece hata mesajı hatırlatılır.

Yaptığım şey, (6. adımdaki hata mesajıyla karşılaştı)

1) bir kullanıcı, hoiuser oluşturdu (kullanıcı bilgilerini görmek için, parmak cmd, "parmak hoiuser" kullanabilirsiniz veya 'cat / etc / passwd' dosyasını okuyabilirsiniz)

2) bir grup oluşturdu, hoidevs (gruba "hoiuser" kullanıcısı eklendi)

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

Yeni "grup" izinlerinin Hesap Kimliği ile ilişkilendirilmesi için oturumu kapatıp tekrar giriş yapmanız gerektiğini unutmayın.

3) dizin / home / userz / data / Sites / hoi için chgrp hoidevs ve dosyalar için bir yer yarattı

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) Bir Terminal Penceresi açıldı, userz aktif

5) su - hoiuser (kullanıcı hoiuser'a geçer)

6) cd / home / userz / data / Sites'a giriş

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) Sitelerin izinlerini değiştirdi

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 ./

Ve voila sorunu düzeltildi .... İşte kanıt

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/

Deneyimli Linux / Unix kullanıcılarının bile tekrar tekrar hatırlatma yapması gerekiyor.

Belirtildiği gibi, dosyaların bulunduğu dizine doğru izinleri vermek yeterli değildir, ayrıca bu dizine giden tüm dizinlerin doğru izinlere sahip olduğundan emin olmanız gerekir, özellikle "diğer" "arama" yapın ve dizini ve dosyaları arayın. X yürütme anlamına geldiği zaman sezgisel değil, doğru.

Alt dizin yapım: / home / userz / data / Sites / hoi / html /

Evden başlayarak

userz@zareason-breeze:~$ pwd
/home

Bu benim chmod ÖNCE dizin yapıydı

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/

Bu chmod SONRASI dizin yapıydı

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/

Tek değişikliğin 'Siteler' dizini için 'diğer' için rx izinleri olduğunu unutmayın. Umarım bu başkalarına yardımcı olur, benim için iyi bir tazeleme idi.


3
FreeBSD ve OpenBSD'de de benzer bir sorun yaşıyordum. Benim için önemli olan bu kısımdı: Yeni "grup" izinlerinin Hesap Kimliği ile ilişkilendirilmesi için oturumu kapatıp tekrar giriş yapmanız gerektiğini unutmayın. Elbette, FreeBSD belgelerinde şunlar belirtilir: `-G grup
iboisver

6

Dosyayı almak için dosyayı içeren dizinde izinlerinizin olması gerekir. / Home / git üzerindeki izinler nelerdir? (evet, Zoredache, bunu işaret ettiğiniz için size +1 verdim)


Takip: O grubun dizine girmesi için grup için yürütme (x) biti ayarlanmış olmalıdır. Bunu Windows "Traverse Directory" ayarına kaba bir analog olarak düşünün. Bu olmadan, grup için erişim reddedilir. Çaresizseniz şunları yapabilirsiniz:

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

Aşağıdakileri deneyin ve her birinden mesaj gönderin:

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

Bunların her birine erişilebilir olmalıdır ftpadmin. Bunlardan herhangi biri değilse , içeri girmenizi engelleyecektir /home/git/fsg.


drwxrw-rw- 6 git git 4096 Nisan 26 09:20 git
Tony

mantıklı, ben hala / ev / git / fsg üzerinde bir izin reddedildi drwxrwxr-x 7 git git 4096 Nisan 20 14:17 fsg
Tony

ve son "izin reddedildi" durumunda, grup yürütme biti ayarlandı mı? Ebeveynin de izni yoksa çocuk için izniniz olup olmadığı önemli olmayacaktır.
Avery Payne

En son güncellememe göz atın. İzinleri oraya koydum ve grup yürütme biti ayarlandı
Tony

Ne için sonuçlar bakınız /home/gitve /home/git/fsgfakat sonuçları nelerdi /home?
Avery Payne

4

Bir kullanıcı X'in kök erişimi yoluyla gruplarını değiştirdikten sonra, bu X kullanıcısı ile oturumu kapatıp tekrar oturum açmalısınız, aksi takdirde yeni gruplar dikkate alınmaz


3

Tekrar oturum açmayı veya su - ftpadmingeçerli kabukta oturum açmak için çalıştırmayı deneyin . Giriş yaptığınızda gruplar ayarlandığından, bir gruba böyle eklediniz, ancak eski grup ayarları hala kullanılıyor olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.