2016-07-30 11 views
2

エラーが表示されたシェルスクリプトを作成しようとしているとき、何が必要ですか?chmod: 'my_script.sh'の権限を変更しています:操作が許可されていません

[[email protected] bin]$ sudo vi my_script.sh 

[sudo] password for rehamadel: [[email protected] bin]$ ls -l my_script.sh

-rw-r--r--. 1 root root 52 Jul 30 19:25 my_script.sh 
[[email protected] bin]$ chmod u+x my_script.sh 
chmod: changing permissions of ‘my_script.sh’: Operation not permitted 
+0

スクリプトを 'root'として実行する必要がない場合は、* owner *と* group *を所有者とグループに変更します。 'sudo chown youruser:yourgoup my_script.sh'を実行し、実行可能であることを確認します。 'chmod 0754 my_script.sh'です。その後、スクリプトを実行することができます。 (または単に 'bash my_script.sh'(または' su -c "bash my_script.sh" '' root''が所有している場合)としてbashを呼び出す) –

+0

あなたの役に立つ答えをありがとう:) –

+0

答えがあればあなたの問題を解決するには、それの横にある大きなチェックマーク(✓)をクリックして、それを受け入れてください(任意で投票をするには少なくとも15の評判ポイントが必要です)。 他の回答が有益だった場合は、投票してください。受諾およびアップ投票は将来の読者に役立ちます。関連するヘルプセンターの記事(http://stackoverflow.com/help/someone-answers)を参照してください。質問にまだ完全に回答していない場合は、フィードバックを提供してください。 – mklement0

答えて

3

操作許可されていないエラーの解決:

sudo chmod u+x my_script.sh 

あなたは経由でファイルを作成:

sudo vi my_script.sh 
# editing 

これは、ファイルの所有者とグループがrootであることを意味します。デフォルトでは、ファイルの変更は許可されていません。許可を変更するか(chmod does it)、所有者を変更する必要があります。

sudo chown you:yourgroup my_script.sh 

これはそれを行う必要があります。 sudoでファイルを作成することなく、問題を解決してください。 (あなたがsudo使用しているため)

+0

便利な答えをありがとう: –

1

あなたが自分として許可を変更することを許可していない理由である、所有者としてルートユーザーとのファイルmy_script.shを作成しました。

したがって、sudo chmod u+x my_script.shを使用してください。ただし、ルートユーザーに対してのみファイルを実行可能にします。

誰にでもファイルを実行可能にするには、sudo chmod a+x my_script.shを使用してください。

+1

ありがとう助け:) –

関連する問題