Puncte:0

Nu se poate cd în director, chiar dacă grupul are permisiuni

drapel cn

Sunt conștient că există și alte întrebări similare, dar nimic nu a rezolvat problema mea.

gitlab-runner@my-machine:~$ grupuri
gitlab-runner utilizatorul meu

gitlab-runner@my-machine:~$ sudo ls -l /home
total 16
drwxrwsr-x+ 16 utilizatorul meu utilizatorul meu 4096 13 februarie 09:22 utilizatorul meu
# ... casele altor utilizatori au fost omise...

gitlab-runner@my-machine:~$ sudo ls -l /home/my-user
total 528
drwsrws---+ 4 my-user my-user 4096 7 iunie 2020 my-dir
# ... fișiere irelevante omise...

gitlab-runner@my-machine:~$ sudo ls -l /home/my-user/my-dir
total 48
drwxrwsr-x+ 7 my-user my-user 4096 12 august 2021 my-dir
drwxrwsr-x+ 6 utilizatorul meu utilizatorul meu 4096 7 iunie 2020 venv

gitlab-runner@my-machine:~$ cd /home/my-user/my-dir
-bash: cd: /home/my-user/my-dir: Permisiune refuzată

Utilizatorul este membru al grupului, grupul are permisiuni de citire și executare pentru folderul țintă și home în care este conținut și totuși utilizatorul nu poate CD în ea. am incercat si eu deconectare și apoi sudo - gitlab-runner din nou, dar tot nu merge. De ce?

Nu sunt sigur de ce X biți arată s și nu găsesc nicăieri o explicație. Poate că este relevant, dar nu știu ce înseamnă și nici cum să-l schimb, de vreme ce sudo chmod g+x nu o schimba.

drapel cn
Ray
`s` este bitul SetUID, SetGID etc. Puteți citi despre el în multe locuri, cum ar fi linkul [acest](https://www.geeksforgeeks.org/setuid-setgid-and-sticky-bits-in-linux-file-permissions). Cât despre problema ta, de ce nu o iei pe rând? `cd` în `/home`, apoi `/home/my-user`, etc. Să vedem unde ajunge. De asemenea, de ce faci `sudo - gitlab-runner`? Utilizatorul respectiv nu are o parolă cu care să te poți autentifica?
raj avatar
drapel cn
raj
Există un semn `+` după câmpul de permisiuni afișat pentru fiecare dintre directoare, ceea ce înseamnă că permisiunile suplimentare sunt setate folosind ACL-uri. Acestea pot suprascrie permisiunile „de bază”. Verificați cu `sudo getfacl pathname` pentru fiecare director. În ceea ce privește bitul `s` pe grup, înseamnă că fișierele/subdir-urile create în director vor avea grupul setat la grupul directorului, indiferent de cine le creează. Puteți elimina acest lucru cu `sudo chmod g-s pathname`.
theberzi avatar
drapel cn
@Ray mă refeream la `su - gitlab-runner`, nu la `sudo`. Greșeala mea.
Puncte:1
drapel cn

Se pare că aveam ACL-uri setate pentru acel folder, așa cum a subliniat corect @raj în comentarii.

Am avut impresia greșită că permisiunile ACL vor fi OR la ​​biții de permisiune, în timp ce, în schimb, le suprascriu în întregime. ACL-ul meu pentru director a avut rw- permisiunile, X lipsea bit, așa că nu aveam permisiuni CD acolo cu acel utilizator.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.