何らかの理由で、コマンドにSudo
を付加しないと、ホームフォルダーにあるchmod +x
ファイルを使用できません。最近の例:monitor-off.sh
という名前の~/Documents
というファイルがあります。ターミナルでこのコマンドを使用しようとしましたが、次のメッセージを受け取りました。
david@my-pc:~/Documents$ chmod +x ./monitor-off.sh
chmod: changing permissions of `./monitor-off.sh': Operation not permitted
ただし、Sudo
を先頭に追加すると、うまくいきました。
david@my-pc:~/Documents$ Sudo chmod +x ./monitor-off.sh
david@my-pc:~/Documents$ ls -lh
total 28K
... (files) ...
-rwxr-xr-x 1 root root 44 Aug 8 15:32 monitor-off.sh
... (files) ...
Sudo
をこのように使いすぎてはならないことを知っているので、chmod
をSudo
なしで使用できるように修正する方法
許可の問題のようです。出力から、ファイルがroot
によって所有されていることがわかります。ファイルの権限を変更できるのは、root
アカウント(ただしSudo
を含む)からのみです。ファイルの所有権を変更する必要があります。ターミナルで次のコマンドを実行して、ホームディレクトリ内のファイルのallの所有権を取得します。
Sudo chown -R $USER:$USER $HOME