내가 소유한 파일을 루트 디렉터리로 변경하려고 하는데 내 컴퓨터에서 허용되지 않는다고 합니다. 나는 그것을 검색하여 chown이 루트 전용 명령이라는 몇 가지 주제를 찾았습니다. 그러나 다른 사람들은 그것이 사실이 아니라고 말합니다. 내가 뭐 잘못 했어요?
pi@raspberrypi /media/usb1 $ whoami
pi
pi@raspberrypi /media/usb1 $ ls -laxo
total 8
drwxr-x--- 2 pi 4096 Jul 30 09:39 .
drwxr-xr-x 10 root 4096 Jul 29 12:52 ..
-rwxr-x--- 1 pi 0 Jul 30 09:29 lol
pi@raspberrypi /media/usb1 $ chown root lol
chown: changing ownership of `lol': Operation not permitted
답변1
일부 오래된 유닉스에서는 파일 소유권을 "포기"하는 것을 허용했지만, 이는 오랫동안 포기되었습니다. 수백 명의 사용자가 터미널을 통해 UNIX 시스템에 연결되는 진정한 다중 사용자 시스템 시대에 사람들은 디스크 할당량을 피하기 위해 이를 남용하는 방법을 배웠습니다. 또한 파일 유출은 부주의한 사용자가 속아서 악성 프로그램을 실행할 수 있다는 점에서 사회 공학의 한 형태입니다. 따라서 수퍼유저가 아닌 사용자에게 chown을 허용하는 것은 이를 사용하는 것보다 더 번거롭고 더 이상 제공되지 않습니다.
따라서 chown을 호출하려면 수퍼유저여야 합니다.
하지만 잠깐만 기다려 보세요. 시스템이 (Linux처럼) POSIX 기능을 지원한다면 슈퍼유저가 될 필요는 없고 CAP_CHOWN 기능만 있으면 됩니다.