Kiểm tra quyền truy cập file sử dụng os.access


  • administrators

    Phương thức access() được sử dụng để kiểm tra quyền truy cập vào một file dựa trên uid/gid của user hiện tại. Kết quả trả về True hoặc False.

    Cú pháp: os.access(math,mode)
    path: Đường dẫn tới file
    mode:
    os.F_OK: Kiểm tra sự tồn tại của file
    os.R_OK: Kiểm tra quyền đọc
    os.W_OK: Kiểm tra quyền ghi
    os.X_OK: Kiểm tra quyền thực thi
    Ví dụ:

    #!/usr/local/bin/python2.7
    import os,sys
    # Kiểm tra file testaccess.txt có tồn tại hay không
    test = os.access("testaccess.txt",os.F_OK)
    print "F_OK - File ton tai hay khong: %s" %test
    # Kiểm tra file testaccess.txt có quyền được đọc hay không
    test = os.access("testaccess.txt",os.R_OK)
    print "R_OK - Duoc doc file hay khong: %s" %test
    # Kiểm tra file testaccess.txt có quyền được ghi hay không
    test = os.access("testaccess.txt",os.W_OK)
    print "W_OK - Duoc ghi vao file hay khong: %s" %test
    # Kiểm tra file testaccess.txt có quyền thực thi hay không
    test = os.access("testaccess.txt",os.X_OK)
    print "X_OK - Duoc thuc thi file hay khong %s" %test
    
    

    Do file testaccess.txt chưa được tạo ra nên lần đầu tiên chạy script sẽ output ra như sau:

    mxh@mangxahoi.vn [~]# ./osaccess.py
    F_OK - File ton tai hay khong: False
    R_OK - Duoc doc file hay khong: False
    W_OK - Duoc ghi vao file hay khong: False
    X_OK - Duoc thuc thi file hay khong: False
    

    Tạo file và kiểm tra quyền hiện tại của file

    mxh@mangxahoi.vn [~]# touch testaccess.txt
    mxh@mangxahoi.vn [~]# ll
    -rw-rw-r--  1 mxh  mxh      0 May  5 09:05 testaccess.txt
    

    Kiểm tra lại xem script chạy có đúng không

    mxh@mangxahoi.vn [~]# ./osaccess.py
    F_OK - File ton tai hay khong: True
    R_OK - Duoc doc file hay khong: True
    W_OK - Duoc ghi vao file hay khong: True
    X_OK - Duoc thuc thi file hay khong: False
    
    

    Loại bỏ quyền đọc của file testaccess.txt

    mxh@mangxahoi.vn [~]# chmod 300 testaccess.txt
    mxh@mangxahoi.vn [~]# ll
    --wx------  1 mxh  mxh      0 May  5 09:05 testaccess.txt*
    

    Kiểm tra lại:

    mxh@mangxahoi.vn [~]# cat testaccess.txt
    cat: testaccess.txt: Permission denied
    mxh@mangxahoi.vn [~]# ./osaccess.py
    F_OK - File ton tai hay khong: True
    R_OK - Duoc doc file hay khong: False
    W_OK - Duoc ghi vao file hay khong: True
    X_OK - Duoc thuc thi file hay khong: True
    

Hãy đăng nhập để trả lời
 

Có vẻ như bạn đã mất kết nối tới Cộng đồng Python Việt Nam, vui lòng đợi một lúc để chúng tôi thử kết nối lại.