我想复制到/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/.
如果您仍然无法写入该目录,则可能是因为:
- 该目录已启用不可变标志。请检查
lsattr
。 该目录以只读权限挂载:在终端中输入:
cat /proc/mounts
(或mount
或cat /etc/mtab
)并检查输出,目录是否以只读方式安装。
如果是第一种情况,请使用chattr
;更改目录属性。
- 删除文件或目录上的不可变标志
chattr -i <file/dir>
- 再次在文件或目录上添加不可变标志
chattr +i <file/dir>
如果属于后一种情况,请编辑文件/etc/fstab
。
答案2
每次为了这个目的你都不需要以 root 身份执行此操作,因此,如果您想以 root 用户身份执行此操作,那么是可以的,但如果您想在没有 root 的情况下执行此操作,那么您有 2 个选择:
- 检查文件的权限。您必须具有该文件的读取权限
- 检查目标目录中是否存在同名文件或链接。因为如果目标目录中存在同名链接,它将不允许您这样做,也不会警告存在同名链接
答案3
/lib/udev
如果不存在,你应该先创建目录
mkdir -p /lib/udev
答案4
首先执行“ ls -l ”并检查此目录的权限。如果您看到类似 -rw-r--r-- 的内容,则表示所有者可以读写,用户组只能读取,所有人只能读取。如果是这种情况,请输入以下命令:“ chmod 766 ”。这将允许您对该文件执行读写操作。现在尝试以相同的方式复制该文件。它应该有效