Linuxサーバーでシェルスクリプトの名前を変更し、WinScpなどのFTPツールを介して新しいファイルをアップロードしました。
これで端末を介してファイルを実行しようとしましたが、許可が拒否されました間違い。
この問題を解決するために私は実行しました。触れるコマンドを実行しましたが、まだ同じ問題があります。同じユーザーアカウントで端末にログインしてファイルをアップロードしました。
私のユーザーアカウントにファイルをアップロードする権限がないように、これは権限の問題ですか?
答え1
ファイルを実行可能にする必要があります。このtouch
コマンドはこれを実行せず、chmod
次のことを行います。
chmod a+x some_new_file.sh
または、GUI を使用してファイルの実行権限を設定します。
スクリプトをアップロードする場合は、ファイルをテキストモードで転送する必要があることを忘れないでください。いいえバイナリモードで。それ以外の場合は、次のステップ(実行中)で失敗します。
答え2
ファイルの権限を表示するには、次を実行します。
ls -l yourfile
次の出力が表示されます。
$ ls -l newfile
-rw-rw-r--. 1 ira ira 0 Dec 11 09:41 newfile
その中に「-rw-rw-r--」があります。一部は、ユーザー、グループ、およびその他のユーザーに対する読み取り/書き込み/実行権限です。 「ira ira」部分はユーザーで、次はユーザーが属するグループです。
詳しくはジョンそしてchmodバラよりこの方法のドキュメント