web-dev-qa-db-ja.com

sudoを使用してもChromebookで許可が拒否されました

ChromebookのシェルでC++コードをコンパイルすると、エラーbash: ./a.out: Permission deniedが発生します。これは、Sudo:Sudo: unable to execute ./a.out: Permission deniedで実行した場合でも発生します。なぜこれが起こるのですか?

3
Michael Kolber

問題は、おそらくセキュリティ上の理由から、ファイルシステムがnoexecフラグでマウントされたことでした。これを回避するには、

  1. Sudo mount -o remount,rw -o exec PATH/TO/YOUR/FILEを実行します。ここで、PATH/TO/YOUR/FILEは、ファイルを実行しようとしているディレクトリです。
  2. mount: /home/chronos/user/Downloads not mounted or bad optionのようなエラーが発生した場合は、コマンドから最後のディレクトリ(この場合は/ Downloads)を削除して、再試行してください。それが機能するまで削除し続けます。
  3. When remounting eCryptfs, you need to pass the mount utility the -i parameter to avoid calling the mount helperのようなエラーが発生した場合は、Sudo mount -o remount,rw -io exec PATH/TO/YOUR/を実行してください。

これで、ファイルを実行できるようになります。

5
Michael Kolber