[解決済み】Ubuntuが「bash: ./program Permission denied」と表示される [閉店]。
質問
私は、コンピュータ1とコンピュータ2でUbuntuを実行しています。コンピュータ1でC++のプログラムをコンパイルし、ターミナルから以下の方法で実行できます。
./program_name
. 正常に動作しています。
ところが、これをパソコン2でやろうとすると、こうなる。
bash: ./program_name: permission denied
何が問題で、どうしたらいいのでしょうか?
解決方法は?
chmod u+x program_name
. そして実行します。
それでもうまくいかない場合は、USBデバイスからシステム上のネイティブボリュームにプログラムをコピーしてください。その後
chmod u+x program_name
をローカルにコピーし、それを実行します。
UnixおよびUnixライクなシステムでは、一般的に実行権限が付与されていないプログラムは実行されません。あるシステムから別のシステムへファイルをコピーした(あるいは外部ボリュームをマウントした)方法は、(安全機能として)実行許可をオフにしているかもしれません。コマンド
chmod u+x name
は、そのファイルを所有するユーザーに対して実行許可を追加します。
このコマンドは、ファイルに関連するパーミッションを変更するだけで、ボリューム全体に関連するセキュリティ コントロールを変更するものではありません。実行を妨害しているのがボリューム上のセキュリティ制御である場合 (たとえば
noexec
オプションは、ボリュームに対して Unix の
fstab
ファイルで、ボリューム上のファイルに対して実行許可を与えないというものです)、実行を許可するオプションを付けてボリュームを再マウントすることができます。しかし、ファイルをローカル・ボリュームにコピーすることが、より迅速で簡単な解決策となる場合があります。
関連
-
[解決済み] パイプと二重パイプのどちらの OR 演算子を使うか?
-
[解決済み] Bashスクリプトのソースディレクトリをスクリプト自体から取得するにはどうすればよいですか?
-
[解決済み] プログラムの実行やシステムコマンドの呼び出しはどのように行うのですか?
-
[解決済み] Bashシェルスクリプトでディレクトリが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで通常のファイルが存在しないかどうかを判断する方法を教えてください。
-
[解決済み] Bashで文字列変数を連結する方法
-
[解決済み] Bashで文字列が部分文字列を含むかどうかをチェックする方法
-
[解決済み] Bash prints リテラルの改行をエコーする \n
-
[解決済み] Bashスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?
-
[解決済み] Bashで文字列をデリミターで分割するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】シェルスクリプトで整数式が期待されるエラーが発生する
-
[解決済み] 部分的にコピーされたファイルでscpを再開する方法は?[クローズド]です。
-
[解決済み] Bashで文字列から改行を削除する方法
-
[解決済み] etc/profileでVISIBLE=NOWを設定するのはなぜですか?
-
[解決済み] Bashスクリプトで引数を反復処理する方法
-
[解決済み] Curl:応答を待たない[重複]。
-
[解決済み] bashスクリプトで変数の束縛を解除
-
解決策:bash: /root/.bashrc: パーミッションが拒否されました
-
[解決済み] bashでのDiffコマンド
-
[解決済み] ターミナルでbashスクリプトを実行するにはどうすればよいですか?