cp-无法创建常规文件:权限被拒绝

cp-无法创建常规文件:权限被拒绝

我想复制到/lib/udev但出现错误

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

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

我是 root,但我不明白。我该怎么办?

答案1

使用以下命令检查您是否确实是超级用户:

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(或mountcat /etc/mtab

    并检查输出,目录是否以只读方式安装。

如果是第一种情况,请使用chattr;更改目录属性。

  • 删除文件或目录上的不可变标志chattr -i <file/dir>
  • 再次在文件或目录上添加不可变标志chattr +i <file/dir>

如果属于后一种情况,请编辑文件/etc/fstab

答案2

每次为了这个目的你都不需要以 root 身份执行此操作,因此,如果您想以 root 用户身份执行此操作,那么是可以的,但如果您想在没有 root 的情况下执行此操作,那么您有 2 个选择:

  1. 检查文件的权限。您必须具有该文件的读取权限
  2. 检查目标目录中是否存在同名文件或链接。因为如果目标目录中存在同名链接,它将不允许您这样做,也不会警告存在同名链接

答案3

/lib/udev如果不存在,你应该先创建目录

mkdir -p /lib/udev

答案4

首先执行“ ls -l ”并检查此目录的权限。如果您看到类似 -rw-r--r-- 的内容,则表示所有者可以读写,用户组只能读取,所有人只能读取。如果是这种情况,请输入以下命令:“ chmod 766 ”。这将允许您对该文件执行读写操作。现在尝试以相同的方式复制该文件。它应该有效

相关内容