GNU/Linux >> Belajar Linux >  >> Linux

izin ditolak untuk komposer di /usr/local/bin/

ini mungkin terjadi jika Anda telah mengunduh composer.phar langsung ,

tetapi tidak dengan menjalankan php composer-setup.php

buat composer.phar dapat dieksekusi dengan perintah berikut sebelum memindahkannya ke /usr/local/bin/composer atau setelah pindah

sudo chmod 755 composer.phar

composer-setup.php akan membuat perubahan ini untuk kita secara default


Di server Ubuntu>=16,04

PERTAMA

sudo rm /usr/local/bin/composer

DAN

cd ~/.cache/composer
chmod 755 composer-temp.phar
sudo mv composer-temp.phar /usr/local/bin/composer

Anda harus memeriksa izin direktori /usr/local/bin/, bukan hanya file di dalamnya. Prosesnya harus menulis keduanya, file dan ke direktori yang keduanya harus diberikan.

Selain itu, petunjuk umum:jangan selalu menyetel semuanya ke 777. Tidak ada alasan untuk itu dan itu membuat sistem Anda rentan.

Menurut baris yang Anda posting di komentar terakhir, direktori saat ini hanya dapat ditulisi untuk pengguna root itu sendiri. Itu akan menjelaskan kesalahan yang Anda dapatkan. Anda harus tidak jadikan akun pengguna Anda sendiri sebagai pemilik, sistem Linux adalah lingkungan multi pengguna. Alih-alih pikirkan tentang salah satu dari pendekatan ini:

  • tambahkan akun yang dimaksudkan untuk mengeksekusi composer ke root grup (akun pengguna dapat menjadi milik beberapa grup) dan membuat grup direktori dapat ditulisi
  • mengubah kepemilikan grup dari direktori menjadi grup yang akunnya menjadi anggotanya dan membuat grup direktori dapat ditulisi
  • gunakan sudo utilitas untuk menginstal dan memperbarui composer utilitas

Opsi terakhir adalah yang biasanya dipilih dan disukai. Itu meninggalkan izin sebagaimana adanya (konservatif) dan hanya menggunakan hak istimewa yang ditinggikan untuk pekerjaan pemeliharaan sistem seperti instalasi dan pemutakhiran.


Linux
  1. /usr/bin Vs /usr/local/bin Di Linux?

  2. Perbedaan Antara /opt Dan /usr/local?

  3. Mengapa /bin/sh Menunjuk Ke /bin/dash Dan Bukan /bin/bash??

  1. Kubuntu Menunjukkan Kesalahan Saat Masuk (file:///usr/share/sddm//themes/breeze/main.qml:no File Atau Direktori Tersebut)?

  2. Instal binari ke /bin, /sbin, /usr/bin dan /usr/sbin, interaksi dengan --prefix dan DESTDIR

  3. Ubah direktori dan jalankan file dalam satu perintah

  1. Apa perbedaan antara #!/usr/bin/env bash dan #!/usr/bin/bash?

  2. cmake --version menunjuk ke /usr/bin/cmake sementara cmake menunjuk ke /usr/local/bin

  3. Kapan saya harus menggunakan /dev/shm/ dan kapan saya harus menggunakan /tmp/?