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


23

コピーしたい/lib/udevがエラーが出る

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

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

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


私の場合、exFATに何かをコピーする必要があるとき、「|」を持つ各ファイルで失敗しました そのファイル名です。
-neverMind9

回答:


24

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

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


whoamiを-出力ルートは、私が試したのcp -fとsudoのcpは-fが、再びエラーを与える
user278122

私は答えに小さな変更を加えました:あなたの質問からコマンドをコピーしましたが、エラーがあります:あなたが書いたコマンドは、udevを上書き/.します、ファイルをコピーするにはコマンドの最後に追加する必要がありますディレクトリ
girardengo

私は試しました:cp -f /tmp/ok_pcscd_hotplug.sh / lib / udev /。CP -f /tmp/ok_pcscd_hotplug.sh / libに/ udevの/ CP /tmp/ok_pcscd_hotplug.sh / libに/ udevに私は理解していない、私はルートだが、問題がどこにあるコピーされません
user278122

私の出力も、あなたの質問に私の答えは、ポスト編集mountしてlsattr /lib/
girardengo

mount / lib /-mount:/ etc / fstabまたは/ etc / mtabで/ lib /が見つからないlsattr / lib /-すべてのファイルのlib / filename出力でフラグを読み取り中にデバイスの不適切なioctl
user278122

3

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

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

1

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


変更しないで、再度エラーを表示-root @ atrust-00351A:/ lib#ls-l drwxrwxrwx 4 root root 324 2009-05-22 11:40 udev
user278122

出力whoamiを投稿してくださいls -al /tmp/ok_pcscd_hotplug.sh
サンビット

whoami-出力ルートls -al /tmp/ok_pcscd_hotplug.sh-出力-rwxr-xr-x 1ルートルート229
user278122

次に、それok_pcscd_hotplug.shが破損しておらず/lib/udev/、システムに存在することを確認します。
サンビット

システムで利用可能なok_pcscd_hot_plug.shまたは/ lib / udevのいずれか
user278122


0

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


*はchmod 766 <ファイル/ディレクトリ>
通行人

1
それでも回答を編集して追加できます。そして、ユーザーにすべての許可を与えることは信じていません。代わりに、フォルダ/ファイルを特権を持つユーザーとしてログインする場合。ありがとう。:-)
Kulfy
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.