Berechtigung für Composer in /usr/local/bin/ verweigert
Lesezeit: 5 Minuten
Ich habe mich an die Dokumentation gehalten https://getcomposer.org/doc/00-intro.md#global Composer global auf Arch Linux installieren. Wenn ich es tue composer self-updatebekomme ich diese Meldung:
Ich habe es auch versucht sudo composer self-update aber es hat nicht so gut funktioniert und ist möglicherweise nicht der richtige Weg. (?). Was könnte ich noch versuchen, damit das funktioniert?
Sie sollten die Berechtigungen der überprüfen Verzeichnis/usr/local/bin/, nicht die Datei darin. Der Prozess muss in das Verzeichnis schreiben, das gewährt werden muss. Und abgesehen davon ein Hinweis: nicht immer alles auf 777 stellen. Dafür gibt es keinen Grund und es macht Ihr System angreifbar.
– Arkascha
20. Juni 2015 um 16:40 Uhr
ok, soll ich chown das Verzeichnis /usr/local/bin für meinen Benutzer (mich) ? Es sieht aus wie das : drwxr-xr-x 2 root root 4096 30. Mai 18:08 bin Es sieht so aus, als ob es nur root gehören sollte, nicht einem Benutzer. (?)
– haheute
20. Juni 2015 um 17:19 Uhr
Anstatt hier einen Kommentarfluss zu starten, habe ich unten eine Antwort gepostet.
– Arkascha
20. Juni 2015 um 18:02 Uhr
Chef COTIGA
Auf Ubuntu-Server >= 16.04
ERSTE
sudo rm /usr/local/bin/composer
UND
cd ~/.cache/composer
chmod 755 composer-temp.phar
sudo mv composer-temp.phar /usr/local/bin/composer
cd ~/.cache/composer sollte sein cd ~/.composer/cache
– Oliver Tappin
23. Mai 2018 um 14:10 Uhr
Dies hat bei mir in der Amazon ec2-Instanz funktioniert. Natürlich müssen Sie die von Oliver Tappin vorgeschlagene Änderung durchführen.
– Deepak Daniel
7. Februar 2019 um 8:18 Uhr
~/.cache/composer ODER ~/.composer/cache hängen davon ab, wie der Composer installiert wurde. Auf meinen Installationen sind Standorte ~/.cache/composer Ich installiere Composer so: curl -sS https://getcomposer.org/installer | php
– Chef COTIGA
8. Februar 2019 um 10:56 Uhr
Dies ist meine bevorzugte Antwort. Sie müssen keine Berechtigungen oder ähnliches ändern.
– Michael Käfer
23. März 2019 um 8:33 Uhr
sollte es nicht sein sudo cp ... immer eine temporäre Kopie behalten?
– Fayçal Borsali
26. November 2020 um 13:27 Uhr
Dies könnte der Fall sein, wenn Sie heruntergeladen haben composer.phar direkt ,
aber nicht durch Laufen php composer-setup.php
machen composer.phar ausführbar mit dem folgenden Befehl, bevor Sie es verschieben /usr/local/bin/composer oder nach Umzug
sudo chmod 755 composer.phar
composer-setup.php wird diese Änderung standardmäßig für uns vornehmen
Ich tat dies und es funktionierte für mich. Ich bin mir nicht sicher, ob es den chmod gemacht hat, bevor es in /usr/local/bin verschoben wurde, oder einfach nur Composer neu installiert hat. Macht keinen Sinn, da es bereits die richtigen Berechtigungen hatte, aber es funktioniert jetzt ohne Fehler.
– Cnizzardini
22. Juni 2017 um 2:31 Uhr
Darf ich wissen, wo der Pfad /usa/local/bin @Raaghu ist
– Juwel
28. November 2018 um 4:52 Uhr
@Gem Dies ist ein Verzeichnispfad im Linux-Betriebssystem.
– Raaghu
28. November 2018 um 11:28 Uhr
@Raaghu Wie kann ich auf der Windows-Plattform laufen? Ich verwende Composer.
– Juwel
28. November 2018 um 11:34 Uhr
@Gem Klicken Sie einfach mit der rechten Maustaste auf die cmd-Konsole und klicken Sie auf “Als Administrator ausführen”. Dann können Sie den Selbstaktualisierungsbefehl ausführen. Es ist so ähnlich wie das Ausführen von “sudo” unter Linux.
– NKol
31. Mai 2021 um 10:54 Uhr
Sie sollten die Berechtigungen des Verzeichnisses /usr/local/bin/ überprüfen, nicht nur die Datei darin. Der Prozess muss sowohl in die Datei als auch in das Verzeichnis schreiben, die beide gewährt werden müssen.
Ansonsten ein genereller Hinweis: Stellen Sie nicht immer alles auf 777. Das hat keinen Grund und macht Ihr System angreifbar.
Laut der Zeile, die Sie im letzten Kommentar gepostet haben, ist das Verzeichnis derzeit beschreibbar nur für den Root-Benutzer selbst. Das würde den Fehler erklären, den du bekommst. Du solltest nicht Machen Sie Ihr eigenes Benutzerkonto zum Eigentümer, Linux-Systeme sind Mehrbenutzerumgebungen. Denken Sie stattdessen über einen dieser Ansätze nach:
Fügen Sie das Konto hinzu, das ausgeführt werden soll composer zum Gruppenstamm (ein Benutzerkonto kann mehreren Gruppen angehören) und die Verzeichnisgruppe beschreibbar machen
Ändern Sie den Gruppenbesitz des Verzeichnisses in eine Gruppe, der das Konto angehört, und machen Sie die Verzeichnisgruppe beschreibbar
benutze die sudo Dienstprogramm zum Installieren und Aktualisieren der composer Dienstprogramm
Die letzte Option ist die in der Regel gewählte und bevorzugte. Es belässt Berechtigungen wie sie sind (konservativ) und verwendet nur erhöhte Berechtigungen für Systemwartungsaufgaben wie Installation und Upgrade.
Wie kann ich die Schritte ausführen, die Sie in Aufzählungszeichen beschreiben? Linux-Befehle sind nicht meine Expertise
– ltdev
24. Januar 2018 um 11:19 Uhr
1. Finden Sie Ihren Benutzer [whoami] 2. Benutzer zur Stammgruppe hinzufügen [sudo adduser yourusername root] 3. Terminal neu starten
– Winnipass
5. März 2019 um 14:44 Uhr
Linux-Befehle wären besser gewesen-
– Albuquerque-Webdesign
18. Juni um 4:33
Verwenden Sie den Befehl sudo für jeden Befehl, der in die Stammdateien des Ordners schreibt. Es hat für mich funktioniert.
Verwenden Sie sudo “Ihr Befehl”
Auch nach dem Verschieben der Datei per sudo mv composer.phar /usr/local/bin/composer Ich habe einen Berechtigungsfehler erhalten, als ich versuchte, die auszuführen composer Befehl. sudo chmod 755 /usr/local/bin/composer feste Dinge für mich.
Sergej Radist
Sie könnten Ihrem Arbeitsbenutzer vorübergehend die Rechte hinzufügen, dann den Composer ohne Fehler aktualisieren und dann die Rechte zurückerhalten.
Sie sollten die Berechtigungen der überprüfen Verzeichnis
/usr/local/bin/
, nicht die Datei darin. Der Prozess muss in das Verzeichnis schreiben, das gewährt werden muss. Und abgesehen davon ein Hinweis: nicht immer alles auf 777 stellen. Dafür gibt es keinen Grund und es macht Ihr System angreifbar.– Arkascha
20. Juni 2015 um 16:40 Uhr
ok, soll ich
chown
das Verzeichnis/usr/local/bin
für meinen Benutzer (mich) ? Es sieht aus wie das :drwxr-xr-x 2 root root 4096 30. Mai 18:08 bin
Es sieht so aus, als ob es nur root gehören sollte, nicht einem Benutzer. (?)– haheute
20. Juni 2015 um 17:19 Uhr
Anstatt hier einen Kommentarfluss zu starten, habe ich unten eine Antwort gepostet.
– Arkascha
20. Juni 2015 um 18:02 Uhr