cp - невозможно создать обычный файл: разрешено отклонение

10

Я хочу скопировать /lib/udev , но дает ошибку

cp -f /tmp/ok_pcscd_hotplug.sh /lib/udev

cp:cannot create regular file /lib/udev/ok_pcscd_hotplug : Permission denied

Я - корень, но я не могу понять. что я могу сделать?

    
задан user278122 07.05.2014 в 09:24
источник

4 ответа

14

Проверьте, действительно ли вы являетесь суперпользователем:

whoami

, если выход root , тогда вы являетесь суперпользователем, и вы можете сделать копию файла с помощью:

cp -f /tmp/ok_pcscd_hotplug.sh /lib/udev/.

в противном случае вы должны использовать sudo :

sudo cp -f /tmp/ok_pcscd_hotplug.sh /lib/udev/.

Если вы все еще не можете писать в каталог, возможно, что:

  1. В каталоге включен неизменяемый флаг. проверьте с помощью lsattr .
  2. каталог монтируется с разрешениями только для чтения: введите терминал:

    cat /proc/mounts (или mount или cat /etc/mtab )

    и проверьте вывод, если каталог установлен только для чтения.

Если вы в первом случае, измените атрибуты каталога с помощью chattr ;

  • удалить неизменяемый флаг в файле или каталоге chattr -i <file/dir>
  • добавление неизменяемого флага в файл или каталог снова chattr +i <file/dir>

Если вы в последнем случае, отредактируйте файл /etc/fstab .

    
ответ дан girardengo 07.05.2014 в 11:03
3

Это не обязательно каждый раз, когда вам нужно быть root для этой цели Поэтому, если вы хотите сделать это с правами пользователя root, но если вы хотите сделать это без root, тогда у вас есть 2 варианта:

  1. Проверьте разрешения файла. У вас должны быть права на чтение для этого
  2. Убедитесь, что файл или ссылка с таким же именем отсутствует в каталоге назначения. Потому что если ссылка с таким же именем находится в каталоге назначения, она не позволит вам это сделать, а также не будет предупреждать, что ссылка с тем же именем присутствует
ответ дан Kailas Andhale 17.07.2014 в 05:31
1

Попробуйте cp /tmp/ok_pcscd_hotplug.sh /lib/udev/ у пользователя root.

    
ответ дан Sambit 07.05.2014 в 09:28
1

Сначала вы должны создать каталог, если /lib/udev не существует

mkdir -p /lib/udev
    
ответ дан Farid Movsumov 27.11.2015 в 09:06