web-dev-qa-db-ja.com

cp-通常のファイルを作成できません:許可が拒否されました

/lib/udevにコピーしたいがエラーが発生する

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

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

私はルートですが、理解できません。私に何ができる ?

19
user278122

あなたが本当にスーパーユーザーであるかどうかを確認してください:

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を編集します。

23
girardengo

この目的のためにrootになる必要があるたびにその必要はありません。したがって、rootユーザーでそれを行いたい場合は問題ありませんが、rootなしでやりたい場合は、2つのオプションがあります。

  1. ファイルの許可を確認してください。読み取り許可が必要です
  2. 同じ名前のファイルまたはリンクが宛先ディレクトリに存在しないことを確認してください。宛先ディレクトリに同じ名前のリンクが存在する場合、それを行うことができず、同じ名前のリンクが存在することを警告しないため
3
Kailas Andhale

/lib/udevが存在しない場合は、最初にディレクトリを作成する必要があります

mkdir -p /lib/udev
1
Farid Movsumov

Rootユーザーでcp /tmp/ok_pcscd_hotplug.sh /lib/udev/を試してください。

1
Sambit

最初に「ls -l」を実行し、このディレクトリの権限を確認します。 -rw-r--r--のようなものが表示された場合、所有者は読み取り/書き込み、ユーザーグループは読み取りのみ、ワールドは読み取りのみが可能であることを意味します。この場合、次のコマンドを入力します: "chmod 766"。これにより、そのファイルで読み取り/書き込み操作を実行できます。次に、そのファイルを同じ方法でコピーしてみてください。うまくいくはず

0
passerBy