linux存儲文件許可權
A. linux文件許可權一共10位第三段表示linux文件許可權
Linux掛載文件的許可權?
需要管理員用戶才能mount,文件許可權為-rwx-r-x-r-x
linux如何給文件授權?
答具體方法如下
需求1:新建除了root之外的新用戶,並且新用戶具有root用戶的相關功能
1.首先修改/etc/sudoers文件具有寫入的許可權
chmod777/etc/sudoers
2.修改/etc/sudoers
vim/etc/sudoers,定位到如下行:
##
rootALL=(ALL)ALL
復制並增加一行,將root改為自定義的用戶名,然後保存關閉文件
3.執行以下命令使文件生效
chmod440/etc/sudoers
4.切換到新用戶進行其它操作
su-xxxx
#################################################分割線############################################################
需求2:切換到新用戶之後,在/opt系統目錄下創建新目錄,並且將目錄的擁有權授權給新用戶
1.創建目錄folder1
sudomkdirfolder1
2.創建成功後將folder1的所有這及所屬分組分配給新用戶
sudochown用戶名:密碼folder1/
3.之後ll命令查看當前目錄的歸屬
linux文件許可權第三段表示什麼?
答,第三段3位表示所在組許可權(xxx)分別表示讀(4)寫(2)執行(1)
第一段1位表示文件類型
第二段3位表示所有者許可權(xxx)分別表示讀(4)寫(2)執行(1)
第三段3位表示所在組許可權(xxx)分別表示讀(4)寫(2)執行(1)
第四段4位表示其他用戶許可權(xxx)分別表示讀(4)寫(2)執行(1)
Linux系統中,預設的情況下,系統中所有的帳號與一般身份使用者,以及root的相關信息,都是記錄在/etc/passwd文件中。每個人的密碼則是記錄在/etc/shadow文件下。此外,所有的組群名稱記錄在/etc/group內。
(1)linux存儲文件許可權擴展閱讀:
在Linux文件系統中,作為一種特殊類型/proc文件系統只存在內存當中,而不佔用外存空間。它以文件系統的方式為訪問系統內核數據的操作提供介面。/proc文件系統是一個偽文件系統,用戶和應用程序可以通過/proc得到系統的信息,並可以改變內核的某些參數。
linux下載文件無許可權?
文件被設置了許可權管理,linux軟體版本可能沒有該文件的使用許可權。
unix/linux系統中如何讀取一個文件的存儲許可權?
unix/linux通過命令ls-a來讀取一個文件的存儲許可權,通過命令chown來修改文件的存儲許可權。
B. Linux學習筆記三許可權管理文件目錄許可權用戶許可權
文件及目錄的許可權管理
上篇簡單介紹了下文件和目錄的一些簡單的操作,接下來介紹用戶和文件許可權的管理。首先了解用戶和組賬號的配置文件,然後是管理用戶和組賬號,最後要會設置文件和目錄許可權和歸屬。
Linux基於用戶身份對資源訪問進行控制。用戶賬號分為超級用戶root(相當於windows下的Administrator),然後是普通用戶。Linux中是不建議使用root登錄系統執行管理任務的,因為這很不安全。要是誤刪了系統中某個重要的文件,那就玩完了。
用戶賬號文件——passwd
用於保存用戶的賬號的基本信息,文件位置:/etc/passwd,每一行對應一個用戶的賬號記錄,下面是取出最後兩行記錄的賬號信息,然後來分析它每個欄位的含義(欄位之間用冒號分隔)。
欄位1 jzhou:用戶賬號的名字;
欄位2 x :密碼佔位符
欄位3 500:用戶賬號的UID號(RedHat和CentOS中默認從500開始)
欄位4 500:用戶所屬主賬號的GID號(也是默認從500開始)
欄位5zhoujie:用戶全名
欄位6 /home/jzhou :用戶的宿主目錄,即家目錄
欄位7 /bin/bash :登錄shell信息
基於系統運行和管理需要,所有用戶都可以訪問passwd文件中的內容,但只有root用戶才能更改
用戶密碼文件——shadow
用於保存密碼串、密碼有效期等信息,文件位置:/etc/shadow,每一行對應一個用戶的密碼記錄。下面列出最後兩行記錄並解釋每個欄位的含義:
欄位1 :用戶賬號的名稱
欄位2 :加密的密碼字串信息(採用MD5加密)
欄位3 :上次修改密碼的時間
欄位4:密碼的最短有效天數,默認值為 0
欄位5:密碼的最長有效天數,默認值為 99999
欄位6:提前多少天警告用戶口令將要過期,默認值為 7
欄位7:在密碼過期後多少天禁用此用戶(默認為空)
欄位8:賬號失效時間(默認為空)
欄位9 :保留欄位(未使用)
默認只要root用戶能夠讀取該文件中的內容,並且不允許root直接編輯該文件中的內容。那麼添加用戶時如何來指定選項以實現這些功能呢?下面將簡單介紹如何添加用戶、組。
添加用戶賬號——useradd
用戶賬號的初始配置文件
文件來源——新建用戶賬號時,從/etc/skel目錄中復制而來
主要的用戶初始配置文件有 :
復制代碼代碼如下:~/.bash_profile:用戶每次登錄時執行
~/.bashrc:每次進入新的Bash環境時執行,默認設置了一些命令的別名
~/.bash_logout:用戶每次退出登錄時執行
可通過cat命令查看上述文件的內容。
設置/更改用戶口令——passwd
一般我不會也沒有必要解釋每個命令的帶的參數,但是passwd我會介紹它的參數含義及用法,因為我覺得在系統維護中會常用到。
復制代碼代碼如下:[jzhou@localhost ~]$ su - root
口令:
[root@localhost ~]# passwd -l jzhou ==>鎖定用戶jzhou的賬號
Locking password for user jzhou.
passwd: Success
[root@localhost ~]# passwd -S jzhou ==>查看用戶狀態
jzhou LK 2013-02-03 0 99999 7 -1 (Password locked.) ==>為鎖定狀態
[root@localhost ~]# tail -2 /etc/shadow ==>賬號鎖定後,有木有發現密碼位前面多了兩個!!,表示密碼不可用
jzhou:!!$1$XRmjIBM9$SgXA00pPfvhjvxt/9..Lh.:15739:0:99999:7:::
user1:!!:15771:0:99999:7:::
[root@localhost ~]# passwd -u jzhou ==>為賬號jzhou解鎖
Unlocking password for user jzhou. ==>已被成功解鎖
passwd: Success.
[root@localhost ~]# passwd -S jzhou ==>再次查看用戶狀態
jzhou PS 2013-02-03 0 99999 7 -1 (Password set, MD5 crypt.)
[root@localhost ~]# tail -2 /etc/shadow ==>觀察密碼位變化,沒有了兩個!!,表示密碼可用
jzhou:$1$XRmjIBM9$SgXA00pPfvhjvxt/9..Lh.:15739:0:99999:7:::
user1:!!:15771:0:99999:7:::
[root@localhost ~]# passwd -d jzhou ==>清楚用戶jzhou的密碼
Removing password for user jzhou. ==>密碼已被成功清除
passwd: Success
[root@localhost ~]# tail -2 /etc/shadow ==>查看密碼位有什麼變化
jzhou::15771:0:99999:7::: ==>密碼位變空了。。。
user1:!!:15771:0:99999:7:::
[root@localhost ~]# passwd jzhou ==>為用戶重新設定密碼
Changing password for user jzhou.
New UNIX password:
BAD PASSWORD: it is based on a dictionary word
Retype new UNIX password:
passwd: all authentication tokens updated successfully. ==>OK,密碼已經設置成功了
[root@localhost ~]#
注意,「未設置密碼」的用戶賬號尚未完成初始化,處於不可登錄狀態,與「空密碼」的情況不同,普通用戶可以使用passwd命令,但只能更改自己的密碼。另外,被鎖定的賬號也不能登錄系統。
修改用戶賬號的屬性——usermod
它的命令有幾個功能和passwd是一樣的,比如L和U參數就是鎖定和解鎖賬戶的,不過要大寫。其他選項和useradd的中的一樣,就是更改uid,gid等。
刪除用戶賬號——userdel
刪除賬號時直接用」userdel 用戶名「就行了,但是這樣刪除的話,用戶的家目錄依然存在,這時你若要再建立一個與剛才同名的賬號那是不行的,所以我習慣帶上-r選項,刪的徹底點,即連同家目錄一起刪除,反正刪除賬號後家目錄也沒什麼用了。
還有兩個域組賬號相關的文件,即/etc/group 和/etc/gshadow,不太常用,尤其是後者,知道下應該就行了。
添加組賬號——groupadd
添加一個組賬號,在新建用戶時,若要指定用戶的gid和組名稱,則必須先保證這個組要存在,所以要先建立組,簡單的操作如下:
復制代碼代碼如下:[root@localhost ~]#groupadd -g 1000 test ==>創建一個組gid為1000
[root@localhost ~]#tail -3 /etc/group
jzhou:x:500:
user1:x:504:
test:x:1000:
[root@localhost ~]#
刪除組賬號——groupdel
很簡單,直接接用戶名作為參數,刪除組賬號後,從/etc/group文件中將查不到相應的記錄。
用戶和組賬號查詢:
id命令——查詢用戶身份標識
groups命令——查詢用戶所屬的組
finger命令——查詢用戶的詳細信息
users、w、who命令查詢已登錄到主機的用戶信息
文件/目錄的許可權和歸屬
將ls帶上參數l或直接打ll命令,則可以查看用戶對文件的使用權。
第一列許可權位由10位(比如d rwx rwx r-x)組成,其中第一位表示文件類型,d表示目錄,l表示鏈接文件,b表示塊文件,c表示字元文件,-表示普通文件。關於rwx-分別表示讀、寫、執行、無許可權,r w x - 四個許可權字元分別可表示為8進制數字4,2,1,0,即 rwx rwx r-x許可權也可表示為775,其中前三位rwx(7)表示文件所有者(owner)對該文件的許可權,中間3位rwx(7)表示文件所在的組(group)對該文件的許可權,最後三位r-x(5)表示其他用戶(other)對該文件的許可權,也即ugo許可權。
設置文件/目錄的許可權——chmod
復制代碼代碼如下:[jzhou@localhost dirtest]$ ll
總計 36
drwxrwxr-x 2 jzhou jzhou 4096 03-05 22:43 dirtest1
lrwxrwxrwx 1 jzhou jzhou 8 03-05 22:45 linkfile -> testfile
-rw-rw-r-- 1 jzhou jzhou 67 03-05 22:40 testfile
[jzhou@localhost dirtest]$ chmod g-w,o+x testfile ==>設置文件testfile的組許可權和其他人許可權,注意許可權變化
[jzhou@localhost dirtest]$ ls -l
總計 36
drwxrwxr-x 2 jzhou jzhou 4096 03-05 22:43 dirtest1
lrwxrwxrwx 1 jzhou jzhou 8 03-05 22:45 linkfile -> testfile
-rw-r--r-x 1 jzhou jzhou 67 03-05 22:40 testfile ==>看,許可權變化了
[jzhou@localhost dirtest]$ chmod 644 dirtest1/ ==>改變目錄dirtest1的許可權,即讀寫|讀|讀
[jzhou@localhost dirtest]$ ll
總計 36
drw-r--r-- 2 jzhou jzhou 4096 03-05 22:43 dirtest1 ==>發現它的變化了沒
lrwxrwxrwx 1 jzhou jzhou 8 03-05 22:45 linkfile -> testfile
-rw-r--r-x 1 jzhou jzhou 67 03-05 22:40 testfile
[jzhou@localhost dirtest]$ chown jzhou:root testfile ==>普通用戶沒有許可權更改
chown: 正在更改 「testfile」 的所有者: 不允許的操作
[jzhou@localhost dirtest]$ su root ==>切換到root用戶
口令:
[root@localhost dirtest]# ll
總計 36
drw-r--r-- 2 jzhou jzhou 4096 03-05 22:43 dirtest1
lrwxrwxrwx 1 jzhou jzhou 8 03-05 22:45 linkfile -> testfile
-rw-r--r-x 1 jzhou jzhou 67 03-05 22:40 testfile
[root@localhost dirtest]# chown root:root testfile ==>將文件testfile的擁有者和屬組都改為root
[root@localhost dirtest]# ll
總計 36
drw-r--r-- 2 jzhou jzhou 4096 03-05 22:43 dirtest1
lrwxrwxrwx 1 jzhou jzhou 8 03-05 22:45 linkfile -> testfile
-rw-r--r-x 1 root root 67 03-05 22:40 testfile ==>看,它的文件擁有者和所屬組都變為root了
[root@localhost dirtest]#
修改目錄的許可權和所屬組時可以指定-R選項以實現目錄里的文件或者目錄也可以遞歸變化。若只修改文件/目錄所有者只需指定前者,即chown root testfile,若只修改文件/目錄所屬組的許可權,前面的用戶可不寫,即chown :root testfile。
附加許可權位
普通用戶並沒有許可權修改「/etc/shadow」文件,那為什麼可以修改自己的登錄密碼呢?因為passwd命令程序被設置了SUID許可權,普通用戶在執行該命令時臨時獲得相當於屬主用戶(root)的許可權。
set位許可權的主要用途:
為可執行(有 x 許可權的)文件設置,許可權字元為「s」;
其他用戶執行該文件時,將擁有屬主或屬組用戶的許可權。
set位許可權類型:
SUID:表示對屬主用戶增加SET位許可權;
SGID:表示對屬組內的用戶增加SET位許可權。
[root@localhost ~]# ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 19876 2006-07-17 /usr/bin/passwd
==>普通用戶以root用戶的身份,間接更新了shadow文件中自己的密碼
注意:不要輕易為可執行文件設置SET位許可權,特別是對於那些屬主、屬組是root的執行程序,使用SET位許可權時更應該慎重。例如,若為vim編輯器程序設置SUID許可權,將導致普通用戶也可以使用vim編輯器修改系統中的任何配置文件
粘滯位(Sticky)
主要用途:
為公共目錄(例如,許可權為777的)設置,許可權字元為「t」
用戶不能刪除該目錄中其他用戶的文件
由於系統及服務程序運行的需要, Linux提供了/tmp、/var/tmp等臨時目錄,允許任意用戶、程序寫入數據,然而試想一下,若任意一個普通用戶都能夠刪除系統服務運行中使用的臨時文件,將造成什麼後果?設置粘滯位以後,正好可以保持一種動態的平衡:允許各用戶在目錄中任意寫入、刪除數據,但是禁止隨意刪除其他用戶的數據 。
[root@localhost ~]# ls -ld /tmp /var/tmp
drwxrwxrwt 8 root root 4096 09-09 15:07 /tmp ==>就是將t位代替執行位x
drwxrwxrwt 2 root root 4096 09-09 07:00 /var/tmp
其實這些特殊許可權位用的不多,我認為只不過是為那幾種特殊的文件作個解釋罷了,不用深究的,知道派什麼用的就行了吧。
使用附加許可權
設置SET位、粘滯位許可權
使用許可權字元
chmod ug±s 可執行文件...
chmod o±t 目錄名...
使用許可權數字:
復制代碼代碼如下:
chmod mnnn 可執行文件...
m為4時,對應SUID,2對應SGID,1對應粘滯位,可疊加
SET位標記字元為「s」,若使用8進制數字形式,則SUID對應為「4」、SGID對應為「2」;在許可權模式中可採用「nnnn」的形式時,如「4755」表示設置SUID許可權、「6755」表示同時設置SUID、SGID許可權。
C. linux下文件夾許可權設置
1、Linux許可權說明
linux的文件夾也有三種許可權分別是:
r(Read 讀取):對文件有讀取文件內容的許可權(cat指令);對目錄有查看目錄下內容的許可權(ls命令)。
x(eXecute 執行):對文件有執行文件的許可權(./指令);對目錄該有進入目錄的許可權(cd命令)。
w(Write 寫入):對文件有增加、刪除、修改文件內容的許可權;對目錄有增加、刪除、修改目錄下內容的許可權。w 是可以在目錄下創建、修改、刪除文件,不僅可以修改自己的文件也可以修改別人的文件,因此增加了一個t 許可權對 x 許可權進行了限制,表示只可以修改自己的文件。
umask 命令可以設置系統的許可權掩碼,即可以控制文件夾、文件生成時的默認許可權。文件夾的默認許可權是755、文件的許可權644.root 帳號的umask是022,而普通用戶的umask是002,這代表root用戶的文件對於其他用戶來說默認的許可權更少。文件的默認許可權是用666減umask,而文件夾的默認許可權是用777減umask,這樣的話相當於無論何時生成的文件的默認許可權都是不可能有運行的許可權。umask的設置可以在配置文件 /etc/bashrc 中進行設置、更改。
2、改變許可權
改變擁有者chown(change owner):
chown yly tmp //改變文件tmp的擁有者為yly用戶
chown -R yly:yly tmp //改變tmp文件及其下的文件和子目錄的許可權為yly用戶:yly組
說明:要改變的文件擁有者,也就是用戶名必須存在於/etc/passwd文件中,否則就會顯示錯誤。另外用戶密碼
是保存在/etc/shadow文件夾中的。
改變群組chgrp(change group):
chgrp yly tmp //改變tmp文件的群組為yly組
說明:要改變的目標群組名稱必須在於/etc/group文件中存在,否則就會顯示錯誤。
注意:當使用cp指令復制文件時,被復制的文件擁有者和群組仍沒有改變,此時需要使用以上指令進行設置。
改變文件許可權chmod
D. linux緇欑敤鎴鋒枃浠舵潈闄愬懡浠linux緇欑敤鎴鋒枃浠舵潈闄
linux浠涔堝懡浠や慨鏀規枃浠舵潈闄愶紵
Linux淇鏀規枃浠跺拰鏂囦歡澶圭殑鏉冮檺鐢╟hmod鍛戒護錛宑hmod鍛戒護鏍煎紡涓猴細
chmodxyz瑕佷慨鏀規潈闄愮殑鏂囦歡鎴栫洰褰
鍏朵腑x鏄鏂囦歡鎴栫洰褰曠殑鎵鏈夎呯殑rwx鏉冮檺鐩稿姞錛寉鏄鏂囦歡鎴栫洰褰曠殑鎵灞炵敤鎴風粍鐨剅wx鏉冮檺鐩稿姞錛寊鏄鍏朵粬鐢ㄦ埛瀵規枃浠舵垨鐩褰曠殑rwx鏉冮檺鐩稿姞銆傝宺wx鍒嗗埆鐨勬潈閲嶆槸4銆2銆1錛屾瘮濡傦細
chmod755/root/testfile鐨勮劇疆鍚涔夋槸錛氳劇疆/root/testfile鐨勬潈闄愬瓧絎︿覆涓-rwxr-xr-x錛堝垎鍒瀵瑰簲x=r+w+x=4+2+1=7錛寉=r+w+x=4+0+1=5錛寊=r+w+x=4+0+1=5錛夈
chmod鍛戒護榪樻湁涓涓閲嶈佸弬鏁伴渶瑕佷簡瑙o細-R鍙傛暟錛堝ぇ鍐欑殑R錛夛紝榪欎釜鍙傛暟琛ㄧず榪涜屾潈闄愮殑閫掑綊璁劇疆錛屽氨鏄灝嗘枃浠跺す鍙婃ゆ枃浠跺す涓嬬殑鎵鏈夋枃浠跺拰瀛愮洰褰曢兘榪涜屾潈闄愮殑鏇存敼銆傜ず渚嬶細
chmod755-R/root/testdir/
unix/linux緋葷粺涓濡備綍璇誨彇涓涓鏂囦歡鐨勫瓨鍌ㄦ潈闄愶紵
unix/linux閫氳繃鍛戒護ls-a鏉ヨ誨彇涓涓鏂囦歡鐨勫瓨鍌ㄦ潈闄愶紝閫氳繃鍛戒護chown鏉ヤ慨鏀規枃浠剁殑瀛樺偍鏉冮檺銆
linux鍙鏈夊彧璇葷殑鏉冮檺鎬庝箞鎶婃暟鎹鎷瘋礉鍑烘潵錛
闇瑕佸噯澶囩殑鏉愭枡鍒嗗埆鏄錛氱數鑴戙乴inux榪炴帴宸ュ叿銆
1銆侀栧厛榪炴帴涓妉inux涓繪満錛岃繘鍏ョ瓑寰呰緭鍏ユ寚浠ょ殑linux鍛戒護琛岀姸鎬併
2銆侀氳繃cd鎸囦護榪涘叆鍒拌佽劇疆鏂囦歡鐨勬墍鍦ㄧ洰褰曪紝鍐嶉氳繃ll鎸囦護鑾峰彇褰撳墠test鏂囦歡鐨勬潈闄愮姸鎬併
3銆佽緭鍏ワ細chmod444test.txt錛屽啀鎸夊洖杞︺
4銆佹渶鍚庤緭鍏ll鎸囦護鏌ョ湅鍒皌est.txt鐨勬枃浠舵潈闄愬凡緇忓彉涓轟簡鍙璇匯
linux鏂囦歡鏉冮檺瑕乺oot鍚楋紵
linux鏂囦歡鏉冮檺涓嶉渶瑕乺oot銆俵inux涓鏈夊緢澶氱殑鐢ㄦ埛錛屾瘡涓涓鐢ㄦ埛鍒涘緩鐨勬枃浠訛紝閮芥湁瀹屽叏鐨勬潈闄愶紝涓嶉渶瑕乺oot銆
鏂囦歡鏉冮檺
鏂囦歡鐨勬潈闄愰拡瀵逛笁綾誨硅薄榪涜屽畾涔
owner灞炰富錛岀緝鍐檜
group灞炵粍錛岀緝鍐檊
other鍏朵粬錛岀緝鍐檕
姣忎釜鏂囦歡閽堝規瘡綾昏塊棶鑰呭畾涔変簡涓夌嶄富瑕佹潈闄
r錛歊ead璇
w錛歐rite鍐
x錛歟Xecute鎵ц
鍙X錛氶拡瀵圭洰褰曞姞鎵ц屾潈闄愶紝鏂囦歡涓嶅姞鎵ц屾潈闄愶紙鍥犳枃浠跺叿澶囨墽琛屾潈闄愭湁瀹夊叏闅愭偅錛
鍦↙inux緋葷粺涓婂壋寤虹殑鏂囦歡澶圭殑榛樿ゆ潈闄愭槸浠涔堬紵
linux涓嬪壋寤洪粯璁ゆ枃浠跺す榛樿ゆ潈闄愭槸錛屽壋寤鴻呭彲璇誨啓鍙鎵ц岋紝鍚岀粍鐨勭敤鎴峰彲璇誨啓鍙鎵ц岋紝鍏跺畠鐢ㄤ簬鍙鎵ц屽彲璇諱笉鑳藉啓錛屽嵆drwxrwxr-xd浠h〃鏂囦歡澶圭涓涓猺wx琛ㄧず鍒涘緩鑰呭彲璇誨啓鍙鎵ц岋紝絎浜屼釜rwx琛ㄧず鍚岀粍鐨勭敤鎴峰彲璇誨啓鍙鎵ц岀涓変釜r-x琛ㄧず鍏跺畠鐢ㄤ簬鍙鎵ц屽彲璇諱笉鑳藉啓銆