web-dev-qa-db-ja.com

OSError:[エラー1]操作は許可されていません

ポストリンカーによって作成されたバイナリファイル(xFiles.bin.addr_patched)を使用するpythonスクリプトを実行しようとしていますが、このエラーが発生します。

File "abc.py", line 74, in ParseCmd
shutil.copy(gOptions.inputX, gWorkingXFile)
File "/usr/lib/python2.6/shutil.py", line 89, in copy
copymode(src, dst)
File "/usr/lib/python2.6/shutil.py", line 66, in copymode
os.chmod(dst, mode)

OSError: [Errno 1] Operation not permitted: 'myPath/xFiles.bin.addr_patched'

このxFiles.binのアクセス許可をls-lで確認すると、次のように表示されます。

-rwxrwxrwx 1 nobody  nogroup 

エラーは、このファイルが他のアプリケーションによって作成されたためだと思います。実行中のpythonスクリプトはアクセスできません。私はubuntuの初心者なので、よくわかりません。これを修正する方法これを修正する方法についての提案はありますか?

解決済み:

回答の1つとして提案:chown username:groupnameファイル名はこの問題を修正します

5
user1357576

あなたは試すことができます(コマンドラインからですが、Pythonには構文があると確信しています):

Sudo chown your_username:your_groupname filename

注:グループは通常、ユーザー名だけです。しかし、それらの権限に何か問題があるように感じます。全員の読み取り/書き込み実行がオフになっているようです。このファイルはどのように作成されましたか?ユーザーnobodyがどのようにして作成したのですか?

10
Linuxios

権限を変更するPythonコード:

from getpwnam import pwd
from getgrnam import grp
import os

uid = getpwnam("YOUR_USERNAME")[2]
gid = grp.getgrnam("YOUR_GROUPNAME")[2]
os.chown("myPath/xFiles.bin.addr_patched", uid, gid)

Sudoを使用してスクリプトを実行すると、完了です。

3
Fatih Arslan

私の推測では、代わりにmyPathフォルダーのアクセス許可を確認する必要があります。あなたがそれに書くことができないように思われる、それ故に問題。 ls -l myPath/..を試して、myPathの権限を確認してください。それが問題である場合は、chmodを使用してフォルダーのアクセス許可を変更してください。

P.S.また、 Linuxファイルのアクセス許可 に関するGoogleの上位の結果を参照してください。

1
Lev Levitsky

/Users/xxx/Pictures/Photos Library.photoslibraryにアクセスしようとしてMac(10.14 Mojave)でpythonスクリプトを実行すると、この問題が発生しました。完全な解決策は http:// osxdaily .com/2018/10/09/fix-operation-not-permitted-terminal-error-macos /

概要:[システム環境設定]> [セキュリティとプライバシー]> [プライバシー]> [フルディスクアクセス]に移動し、IDEまたはpythonインタープリターをリストに追加します。

0
Federico