cp – 无法创建常规文件:权限被拒绝
我想复制到/lib/udev
但给出错误
cp -f /tmp/ok_pcscd_hotplug.sh /lib/udev cp:cannot create regular file /lib/udev/ok_pcscd_hotplug : Permission denied
我是根,但我无法理解。 我能做什么 ?
检查您是否真的是超级用户:
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
上的不可变标志 - 再次在文件或目录上添加不可变标志
chattr +i
如果您处于后一种情况,请编辑文件/etc/fstab
。
为了这个目的,每次你需要root都没有必要所以如果你想用root用户做它很好,但是如果你想在没有root的情况下这样做,那么你有两个选择:
- 检查文件的权限。 您必须具有读取权限
- 检查目标目录中是否存在具有相同名称的文件或链接。 因为如果目标目录中有相同名称的链接,它将不允许您这样做,也不会警告存在具有相同名称的链接
在root用户中尝试cp /tmp/ok_pcscd_hotplug.sh /lib/udev/
。
如果/lib/udev
不存在,则应首先创建目录
mkdir -p /lib/udev