現在のアクセス権に別なアクセス権を追加するPython

はじめに

アクセス権を付与するのはos.chmod()で行えます。

しかし、現在あるアクセス権に対してWrite権限のみを追加するなどはできません。

そこで、アクセス権を追加するスクリプトを作成しました。

コード

add_mod(<ファイル>, <追加するアクセス権>)

で<ファイル>にアクセス権を追加します。

0x100が実行、0x200がWrite、0x400がReadのアクセス権を付けます(ユーザのみ)。

import os

def add_mod(filepath, a, other=0o044):
    base = 0o000
    if os.access(filepath, os.R_OK):
        base = base | 0o400
    if os.access(filepath, os.W_OK):
        base = base | 0o200
    if os.access(filepath, os.X_OK):
        base = base | 0o100
    base = base | a
    os.chmod(filepath, base | other)

filepath = "hoge.txt"
add_mod(filepath, 0o200)

まとめ

アクセス権を追加するスクリプトです。

コメント

タイトルとURLをコピーしました