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 12

나는 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

내 답변을 편집하고 귀하의 질문에 게시 한 결과 mountlsattr /lib/
girardengo

mount / lib /-mount : / etc / fstab 또는 / etc / mtab에서 / lib /를 찾을 수 없음 lsattr / lib /-모든 파일의 lib / filename 출력에서 ​​플래그를 읽는 동안 장치에 부적절한 ioctl
user278122

3

이 목적을 위해 루트가 될 때마다 필요하지는 않으므로 루트 사용자와 함께하고 싶다면 루트없이 수행하려면 두 가지 옵션이 있습니다.

  1. 파일의 권한을 확인하십시오. 그것에 대한 읽기 권한이 있어야합니다
  2. 동일한 이름의 파일 또는 링크가 대상 디렉토리에 없는지 확인하십시오. 동일한 이름의 링크가 대상 디렉토리에 있으면 그렇게 할 수 없으며 동일한 이름의 링크가 있음을 경고하지 않습니다

1

cp /tmp/ok_pcscd_hotplug.sh /lib/udev/루트 사용자로 시도하십시오 .


변경하지 않음, 오류가 다시 발생 함-root @ atrust-00351A : / lib # ls-l drwxrwxrwx 4 루트 루트 324 2009-05-22 11:40 udev
user278122

출력을 게시하시기 바랍니다 whoamils -al /tmp/ok_pcscd_hotplug.sh
Sambit

whoami-출력 루트 ls -al /tmp/ok_pcscd_hotplug.sh-출력 -rwxr-xr-x 1 루트 루트 229
user278122

그런 다음 ok_pcscd_hotplug.sh손상되지 않았으며 /lib/udev/시스템에 존재 하는지 확인하십시오 .
Sambit

시스템에서 ok_pcscd_hot_plug.sh 또는 / lib / udev 사용 가능
user278122

1

디렉토리 /lib/udev가 없으면 먼저 디렉토리를 작성해야 합니다

mkdir -p /lib/udev

0

먼저 "ls -l"을 수행하고이 디렉토리에 대한 권한을 확인하십시오. -rw-r--r--와 같은 내용이 표시되면 소유자가 읽기 / 쓰기가 가능하고 사용자 그룹은 읽기만하고 World는 읽기만 할 수 있다는 의미입니다. "chmod 766"인 경우 다음 명령을 입력하십시오. 이를 통해 해당 파일에 대한 읽기 / 쓰기 작업을 수행 할 수 있습니다. 이제 같은 방식으로 해당 파일을 복사 해보십시오. 작동해야합니다


* chmod 766 <파일 / 디렉토리>
지나 가기

1
여전히 답변을 편집하고 추가 할 수 있습니다. 그리고 사용자에게 모든 권한을 부여하는 것을 믿지 않습니다. 대신 폴더 / 파일을 만들려면 권한이있는 사용자로 로그인하십시오. 감사. :-)
Kulfy
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.