Puncte:0

De ce `Permisiunea refuzată` pentru `ls` și `touch` când folderul are permisiuni `r` și `w` pentru toată lumea?

drapel ec

am citit rm: nu se poate elimina directorul/: Permisiune refuzată, a notat răspunsuri la întrebarea în care permisiunile pentru director nu au fost furnizate ratate bit director restricționat caz, așa că am decis să învăț mai profund și am dat peste următoarele pentru care nu am reușit să găsesc răspuns prin căutarea pe web:

atingeți /media/drive/1/2
atingeți: nu se poate atinge „/media/drive/1/2”: permisiunea refuzată
ls /media/drive/1
ls: nu poate accesa „/media/drive/1/1”: Permisiune refuzată

sudo ls -la /media/drive/1
total 0
drw-rw-rw- 2 alex alex 60 Oct 5 08:36 .
drwxrwxrwx 4 rădăcină rădăcină 80 Oct 5 08:36 ..
-rw-rw-r-- 1 alex alex 0 Oct 5 08:36 1

BTW: de ce total 0?

Pagina de informații (info „(coreutils) Permisiuni pentru fișiere”):

  1. permisiunea de a citi fișierul. Pentru directoare, asta înseamnă permisiunea de a lista conținutul directorului.
  2. permisiunea de a scrie (modifica) fișierul. Pentru directoare, asta înseamnă permisiunea de a crea și elimina fișiere din director.
  3. permisiunea de a executa fișierul (rulați-l ca program). Pentru directoare, aceasta înseamnă permisiunea de a accesa fișierele din director.

Căutarea pe internet spune în esență același lucru. Pliant 1 are atât citit cât și scriere, de ce operațiunile eșuează? Pentru X permisiunea de acces ce acces înseamnă aici?

Martian2020 avatar
drapel ec
@mook765, răspunde pentru comportamentele reale, dar nu de ce este necesar `x`, în ciuda documentelor care spun altfel și a comentariilor care îmi spuneau în UNIX anterior că `x` era necesar pentru `cd`, nu `ls`.
Martian2020 avatar
drapel ec
@muru, vă rugăm să vedeți comentariul către mook765
Martian2020 avatar
drapel ec
@muru, mi se pare acum (Ubuntu 20) `x` este redundant, deoarece nu adaugă nicio permisiune de la sine (pentru director).
muru avatar
drapel us
@Martian2020 Da. Chiar și în Ubuntu 20.04. `x` trebuie să intre efectiv în director și să acceseze orice în el. Comanda dvs. `ls` este probabil un alias care rulează de fapt `ls -l`, care încearcă să examineze fiecare intrare din director, care nu poate funcționa fără permisiunea `x` decât dacă sunteți root.
Martian2020 avatar
drapel ec
@muru, poate nu m-am lamurit. Permiteți-mi să reformulez: orice caz de utilizare pentru -x + r/w? Sau invers +x -rw?
muru avatar
drapel us
`x +r/w`, nu prea folosește practic. `+x, -rw` este destul de comun atunci când doriți să oferiți unui utilizator acces la un anumit fișier sau subdirector, dar altfel nu vedeți sau modificați alte lucruri din director.
vanadium avatar
drapel cn
folderul `1` nu apare ca folder în ieșirea ls. Probabil că este timpul să verificați temeinic sistemul de fișiere.
Martian2020 avatar
drapel ec
@muru, multumesc. Citirea despre ce conține inodul de director (doar numele și indicatorul) a ajutat și, aș vrea ca pagina de informații/man să fie puțin mai informativă despre astfel de lucruri.O problemă mă nedumerește: am încercat să „mv” un fișier în folder cu „+rw -x”, „perm denied” - dar am scris în director, sistemul ar fi putut scrie indicatorul inode al fișierului împreună cu numele în director. Vreun motiv pentru care nu funcționează așa? Cazul de utilizare ar fi că puteți arunca fișierul în director, dar nu îl puteți accesa/modifica mai târziu.
muru avatar
drapel us
Gândiți-vă la `mv foo bar/` ca la `mv foo bar/foo` => fără `x` pe `bar`, `bar/foo` nu poate fi accesat (chiar dacă nu există în prezent), și așadar operațiunea nu poate fi permisă.
Martian2020 avatar
drapel ec
@muru, deci depinde de implementare? Pentru că vizualizarea sistemului „citește” poate verifica dacă există fișiere deja existente cu același nume.
muru avatar
drapel us
Nu, nu cunosc vreo implementare care să permită asta. Sigur că puteți verifica dacă fișierul există, dar tot nu puteți accesa calea `bar/foo` fără `x` pe bară.

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.