1. 程式人生 > >python修改linux中檔案(資料夾)的許可權屬性

python修改linux中檔案(資料夾)的許可權屬性

今天生成的對流雲團路徑圖片放在linux下,檔案的許可權都是rw,沒有x,後續的別人的程式調用不了,這裡附上對三個屬性的簡單解釋,有不夠的歡迎大家補充

Linux的許可權不是很細緻,只有RWX三種
r(Read,讀取):對檔案而言,具有讀取檔案內容的許可權;對目錄來說,具有瀏覽目錄的許可權。
w(Write,寫入):對檔案而言,具有新增,修改,刪除檔案內容的許可權;對目錄來說,具有新建,刪除,修改,移動目錄內檔案的許可權。
x(eXecute,執行):對檔案而言,具有執行檔案的許可權;對目錄了來說該使用者具有進入目錄的許可權。
1、目錄的只讀訪問不允許使用cd進入目錄,必須要有執行的許可權才能進入。
2、只有執行許可權只能進入目錄,不能看到目錄下的內容,要想看到目錄下的檔名和目錄名,需要可讀許可權。
3、一個檔案能不能被刪除,主要看該檔案所在的目錄對使用者是否具有寫許可權,如果目錄對使用者沒有寫許可權,則該目錄下的所有檔案都不能被刪除,檔案所有者除外
4、目錄的w位不設定,即使你擁有目錄中某檔案的w許可權也不能寫該檔案

好了話歸正題,下面是重點了:

os.chmod(path,mode) 這個方法應該很簡單,只需要2個引數,一個是路徑,一個是說明路徑的模式,下面列出了這個用法中可以使用的一些常用的模式:

stat.S_ISUID: Set user ID on execution. 不常用

stat.S_ISGID: Set group ID on execution. 不常用

stat.S_ENFMT: Record locking enforced. 不常用

stat.S_ISVTX: Save text image after execution. 在執行之後儲存文字和圖片

stat.S_IREAD: Read by owner. 對於擁有者讀的許可權

stat.S_IWRITE: Write by owner. 對於擁有者寫的許可權

stat.S_IEXEC: Execute by owner. 對於擁有者執行的許可權

stat.S_IRWXU: Read, write, and execute by owner. 對於擁有者讀寫執行的許可權

stat.S_IRUSR: Read by owner. 對於擁有者讀的許可權

stat.S_IWUSR: Write by owner. 對於擁有者寫的許可權

stat.S_IXUSR: Execute by owner. 對於擁有者執行的許可權

stat.S_IRWXG: Read, write, and execute by group. 對於同組的人讀寫執行的許可權

stat.S_IRGRP: Read by group. 對於同組讀的許可權

stat.S_IWGRP: Write by group. 對於同組寫的許可權

stat.S_IXGRP: Execute by group. 對於同組執行的許可權

stat.S_IRWXO: Read, write, and execute by others. 對於其他組讀寫執行的許可權

stat.S_IROTH: Read by others. 對於其他組讀的許可權

stat.S_IWOTH: Write by others. 對於其他組寫的許可權

stat.S_IXOTH: Execute by others. 對於其他組執行的許可權 

下面是例子:

import os,stat      
os.chmod('abc',stat.S_IREAD)   
os.chmod('abc',stat.S_IREAD+stat.S_IWOTH)
os.chmod(outputpath,stat.S_IRWXO+stat.S_IRWXG+stat.S_IRWXU)

最後一行當時設定的時候我連寫了三行,每一行分別寫一個引數,得到的結果分別是-------rwx,----rwx---,-rwx------,真是被自己的愚蠢打敗了哈哈哈,用加號就能得到-rwxrwxrwx,就是要把user,group和others分別設定加起來。

相關推薦

python修改linux檔案資料許可權屬性

今天生成的對流雲團路徑圖片放在linux下,檔案的許可權都是rw,沒有x,後續的別人的程式調用不了,這裡附上對三個屬性的簡單解釋,有不夠的歡迎大家補充 Linux的許可權不是很細緻,只有RWX三種 r(Read,讀取):對檔案而言,具有讀取檔案內容的許可權;對目錄來說,具有

Linux 檔案資料獲取 MySQL 許可權(SELinux)

  今天在 Linux 系統上移動 MySQL 的資料庫目錄 配置如下: /etc/my.cnf [mysqld]datadir=/home/mysqlsocket=/var/lib/mysql/mysql.sock 更改完配置檔案重啟MYSQL的時候出現

使用Java修改Linux檔案資料許可權

今天做功能碰到了一個情況: 需要在程式中自動在linux的根目錄建立一個路徑,並往裡存圖片。 開始只是簡單的將圖片移動到指定的路徑中,竟然無法訪問。竟分析後發現是因為資料夾和檔案的許可權不夠導致。 以下程式碼是將資料夾和檔案的許可權進行修改的: /** * 圖片上傳* @p

Mac 終端 刪除 檔案資料

我花錢(錢的來源正規)購買了一個電腦,然後再Gitbook上寫一些東西,後來檔案刪除不了,先解除安裝GitBook,再刪除也不管用,後來,我把資料夾子移動到一個目錄中,刪除! 刪除命令 rm -r -f filename 如果不行,那就加上 sudo sudo rm -r -f

Windows下一個複製和刪除檔案資料的bat指令碼

:: 指令碼建立時最好選擇GB2312編碼 :: @echo off 表示不回顯執行的命令 @echo off ::設定源路徑和目的路徑,使用該變數時需要用一對%包起來 set SRC_PATH=..

Linux 檢視以及修改檔案資料許可權

1. linux下修改檔案使用者組 chgrp: change group的簡寫,修改檔案所屬的使用者組。 chgrp users test.log 修改後檢視 ls -l -rwxrwx— 1 work users 0 Jun 8 15:46 test.log

linux檢視檔案資料大小方法

檢視磁碟的佔用情況: $ sudo df -h udev 3.8G 0 3.8G 0% /dev tmpfs 771M 9.4M 762M 2% /run /dev/sda9 57G 5.1G 49

Linux檢視各資料大小命令du -h --max-depth=1

du [-abcDhHklmsSx] [-L <符號連線>][-X <檔案>][--block-size][--exclude=<目錄或檔案>] [--max-depth=<目錄層數>][--help][--

File-用遞迴刪除某資料資料下可能有檔案資料

利用遞迴演算法刪除某資料夾(包括其所有的子檔案及資料夾) import java.io.File; public class Dem01 { public static void main(String[] args) { File file = new F

Ubuntu下如何修改檔案或者資料許可權

Ubuntu下如何修改檔案或者資料夾的許可權------chmod的親身測試     具體原理如下:  Linux系統下如何修改文件及資料夾(含子資料夾)許可權,我們來看一下。    &nbs

【C++】C++讀取特定路徑下所有檔案//*資料下的所有圖片、文件等

內容:主要有兩種,一是藉助相關結構體,二是針對檔名排練有序。 一、藉助結構體 1.引用標頭檔案 #include <io.h> #include < fstream> #include < string> 2.適用範圍 沒有限制。

python連線sftp下載檔案資料

# coding=utf-8 import paramiko import os def DownLoadFile(sftp,LocalFile,RemoteFile): # 下載當個檔案

Go實戰--golang檔案以及資料路徑相關操作

生命不止,繼續 go go go!!! 之前介紹過golang的標準庫:path/filepath, os 今天就跟大家分享幾個關於檔案以及資料夾的相關操作。 獲取目錄中所有檔案 使用包: io/ioutil 使用方法: ioutil.Re

電腦檔案資料提示檔案或目錄損壞且無法讀取怎麼辦

檔案或目錄損壞且無法讀取怎麼辦 推薦使用chkdsk工具修復 點開始,執行,輸入Chkdsk,回車或按確定後即開始檢查磁碟狀態,後面可以加上D:或E:等對相應磁碟進行檢測。在檢測到錯誤時自動修復錯誤,如:Chkdsk D: /F

linux中將檔案或者資料許可權分配給某個使用者

現有個使用者tom,他是可以對 /home/tom 資料夾下的任何檔案進行任何操作的,如果想給他分配 /opt/test 資料夾的許可權,需要 1:chown -R tom /opt/test 此命令是指定test資料夾的所有者是tom,-R是遞迴。如果test是檔案就去掉

一道Java面試題之實現複製、刪除、剪下檔案資料的實現的snippet

Java面試題是叫寫出檔案複製、刪除和剪下的,所以昨天晚上就花了大概一個小時寫出這個完整的snippet(當然如果只要思路的話就好辦了)。 這個snippet中的刪除檔案(資料夾)部分有點意思,一般在Windows下目錄過長的話,目錄就刪除不了。而這個程式可以解決這個因

設定SVN忽略檔案和目錄資料

在多數專案中你總會有檔案和目錄不需要進行版本控制。這可能包括一些由編譯器生成的檔案,*.obj,*.lst,或許是一個用於存放可執行程式的輸出資料夾。只要你提交修改,TortoiseSVN 就會在提交對話方塊的檔案列表中顯示出未版本控制檔案。當然你可以關閉這個顯示,不過你可

linuxinit.d資料的說明

一、簡單說明  /etc/init.d 是 /etc/rc.d/init.d 的軟連結(soft link)。可以通過 ll 命令檢視。ls -ld /etc/init.d lrwxrwxrwx. 1 root root 11 Aug 30 2015 /etc/init.d

python基礎語法-python對目錄資料的操作

這裡只介紹基礎的常用操作,更多操作可以檢視官方參考文件。 資料夾操作需要引入標註庫的os模組。 1.建立目錄 os.makedirs(path) 其中的path之路徑,可以絕對路徑(指定碟符,每一步資料夾),相對路徑(當前工作目錄)。 import os path

linux檢視檔案資料大小

當磁碟大小超過標準時會有報警提示,這時如果掌握df和du命令是非常明智的選擇。     df可以檢視一級資料夾大小、使用比例、檔案系統及其掛入點,但對檔案卻無能為力。     du可以檢視檔案及資料夾的大小。     兩者配合使用,非常有效。比如用df檢視哪個一級目錄