Acasă
» MAC OS X
»
Cum se remediază eroarea „Fișierul nu a putut fi executat deoarece nu aveți privilegiile de acces corespunzătoare” pe macOS
Cum se remediază eroarea „Fișierul nu a putut fi executat deoarece nu aveți privilegiile de acces corespunzătoare” pe macOS
Dacă un .commandscript de încredere declanșează eroarea „Fișierul nu a putut fi executat deoarece nu aveți privilegiile de acces corespunzătoare”, de obicei, acesta necesită permisiunea de execuție. În Terminal, adăugați acea permisiune pentru contul dvs. cu chmod u+x, apoi rulați din nou scriptul. Aceasta modifică bitul de permisiune al fișierului; nu verifică scriptul și nu ocolește verificările de securitate macOS, așa că inspectați fișierul și acordați încredere sursei sale înainte de a-l rula.
Înainte de a schimba permisiunile, verificați fișierul
Asigurați-vă că fișierul se termină cu „și” .commandși că știți de unde provine. Un script de comandă poate rula comenzi Terminal cu accesul contului dvs. Dacă nu vă așteptați la fișier sau nu puteți verifica sursa acestuia, nu îl rulați. Deschideți-l într-un editor de text pentru a-i revizui conținutul sau obțineți o copie curată de la dezvoltator.
Fereastra „Obține informații” din Finder este utilă pentru verificarea numelui unui fișier și a permisiunilor generale de partajare, dar nu oferă un control simplu pentru adăugarea bitului de execuție shell la un script. Apple documentează chmodmetoda Terminal pentru executarea unui script shell în Ghidul utilizatorului Terminal .
Exemplu de vizualizare Finder a unui script .command în Descărcări.
Corectează permisiunea de execuție
Deschide Terminalul. Folosește Spotlight sau deschide Aplicații > Utilitare > Terminal.
Acordați permisiunea de execuție contului dvs. Pentru un script din Descărcări numit script.command, introduceți această comandă și apăsați Enter:
chmod u+x "$HOME/Downloads/script.command"
Înlocuiți locația și numele fișierului exemplu cu calea reală. Păstrați calea între ghilimele, mai ales dacă un folder sau un nume de fișier conține spații. De asemenea, puteți tasta chmod u+x (inclusiv spațiul final) și trage fișierul din Finder în fereastra Terminal pentru a insera calea sa. Nu tastați cuvintele „cale către fișier” literal.
Comanda chmod u+x adaugă permisiunea de execuție pentru proprietarul fișierului.
Comanda revine în mod normal la o solicitare fără a afișa un mesaj de succes. uînseamnă proprietarul fișierului și +xadaugă permisiunea de a-l executa. Aceasta este o opțiune mai restrânsă decât a face scriptul executabil pentru fiecare cont de pe Mac. Nu ar trebui să necesite o parolă de administrator atunci când dețineți fișierul și îi puteți modifica permisiunile.
Rulați scriptul. Dacă se află în Descărcări, introduceți:
cd "$HOME/Downloads"
./script.command
De asemenea, poți face dublu clic pe fișier în Finder după ce i-ai modificat permisiunea. Executarea acestuia din Terminal este utilă deoarece poți citi orice mesaj de eroare sau rezultat. Dacă macOS afișează un avertisment atunci când lipești o comandă în Terminal, citește avertismentul înainte de a continua.
Exemplu de sesiune Terminal după rularea scriptului din folderul său.
Verificați permisiunea dacă eroarea persistă
Pentru a vedea permisiunile fișierului, executați:
ls -l "$HOME/Downloads/script.command"
Când fișierul este deținut de contul curent și este setată permisiunea de executare, primul grup de permisiuni ar trebui să includă un x, cum ar fi -rwx. Ghidul de permisiuni Mac de la Apple explică modul în care accesul la fișiere și foldere diferă între utilizatori.
Folosește ls -l pentru a confirma că șirul de permisiuni al proprietarului include x.
Comanda spune „Nu există un astfel de fișier sau director”. Calea sau numele fișierului nu se potrivește. În Finder, confirmați numele și locația, apoi repetați comanda cu calea corectă.
Scrie „Operațiune nepermisă” sau „Permisiune refuzată”. Este posibil să nu dețineți fișierul sau un folder părinte să nu permită accesul. Mutați o copie într-un folder pe care îl dețineți, cum ar fi Descărcări, sau solicitați proprietarului fișierului sau administratorului Mac-ului dvs. să corecteze accesul. Evitați adăugarea sudoca prim pas.
Fișierul are un bit de execuție, dar tot nu rulează. Verificați dacă fișierul este un script valid și dacă prima linie denumește un interpretor disponibil. Dacă mesajul se referă la o aplicație pe care Apple nu o poate verifica, la un dezvoltator neidentificat sau la un program malware, acesta este un avertisment separat de tip Gatekeeper sau malware, nu o eroare de permisiune de execuție.
Nu slăbi securitatea macOS pentru a remedia o permisiune de fișier
Nu utilizați comanda chmod a+xdecât dacă doriți în mod intenționat ca alte conturi locale să aibă permisiune de execuție și evitați comenzile generale, cum ar fi chmod -Rsau modificarea permisiunilor în folderele de sistem. Pentru a anula bitul de execuție adăugat pentru contul dvs., executați comanda chmod u-x "$HOME/Downloads/script.command".