私が所有しているファイルをルートディレクトリに変更しようとしていますが、私のコンピュータでは許可されていません。私はそれを検索し、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では、ファイルの所有権を「放棄」することができましたが、これは長い間放棄されました。何百人ものユーザーが端末を介してUNIXシステムに接続する真のマルチユーザーシステムの時代に、人々はディスククォータを避けるために悪用する方法を学びました。また、ファイルの漏洩は、不注意なユーザーがだまされて悪意のあるプログラムを実行する可能性があるという点で社会工学の一形態です。したがって、スーパーユーザー以外のユーザーにチャウンを許可することは、それを使用するよりも面倒であり、提供されなくなりました。
したがって、chownを呼び出すにはスーパーユーザーである必要があります。
しかし、しばらくお待ちください。システムが(Linuxのように)POSIX機能をサポートしている場合は、スーパーユーザーになる必要はなく、CAP_CHOWN機能だけで済みます。