linux的文件屬性有很多,其中,就是文件的屬主,也就是文件的擁有者。我們使用命令"ls -l"可以查看到文件的屬主:
[etcp@localhost src]$ ls -l
總計 20
-rw-r--r-- 1 etcp root 483 09-06 22:10 Makefile
-rw-r--r-- 1 etcp root 2364 09-06 22:16 tcp_client.c
-rw-rw-r-- 1 etcp etcp 2936 09-06 22:16 tcp_client.o
-rw-r--r-- 1 etcp root 2637 09-06 22:16 tcp_server.c
-rw-rw-r-- 1 etcp etcp 3260 09-06 22:16 tcp_server.o
其中,顯示etcp的這一列,就是該文件的屬主,如:文件tcp_server.c的屬主,就是etcp這個用戶。我們使用chown命令可以更改文件的屬主,格式如下:
chown [選項] 用戶或組 文件
例如:
#chown root tcp_server.c
其中,選項中,有一個很常用:
-R, --recursive:遞歸更改所有的子文件及
㈡ Linux文件基本屬性
Linux系統是一種典型的多用戶系統,不同的用戶處於不同的地位,擁有不同的許可權。為了保護系統的安全性,Linux系統對不同的用戶訪問同一文件(包括目錄文件)的許可權做了不同的規定。
在Linux中我們可以使用ll或者ls –l命令來顯示一個文件的屬性以及文件所屬的用戶和組,如:
[root@www /]# ls -l
total 64
dr-xr-xr-x 2 root root 4096 Dec 14 2012 bin
dr-xr-xr-x 4 root root 4096 Apr 19 2012 boot
……
實例中,bin文件的第一個屬性用"d"表示。"d"在Linux中代表該文件是一個目錄文件。
在Linux中第一個字元代表這個文件是目錄、文件或鏈接文件等等。
接下來的字元中,以三個為一組,且均為『rwx』 的三個參數的組合。其中,[ r ]代表可讀(read)、[ w ]代表可寫(write)、[ x ]代表可執行(execute)。 要注意的是,這三個許可權的位置不會改變,如果沒有許可權,就會出現減號[ - ]而已。
每個文件的屬性由左邊第一部分的10個字元來確定(如下圖)。
從左至右用0-9這些數字來表示。
第0位確定文件類型,第1-3位確定屬主(該文件的所有者)擁有該文件的許可權。
第4-6位確定屬組(所有者的同組用戶)擁有該文件的許可權,第7-9位確定其他用戶擁有該文件的許可權。
其中,第1、4、7位表示讀許可權,如果用"r"字元表示,則有讀許可權,如果用"-"字元表示,則沒有讀許可權;
第2、5、8位表示寫許可權,如果用"w"字元表示,則有寫許可權,如果用"-"字元表示沒有寫許可權;第3、6、9位表示可執行許可權,如果用"x"字元表示,則有執行許可權,如果用"-"字元表示,則沒有執行許可權。
語法:
chgrp [-R] 屬組名 文件名
參數選項
語法:
chown [–R] 屬主名 文件名
chown [-R] 屬主名:屬組名 文件名
進入 /root 目錄(~)將install.log的擁有者改為bin這個賬號:
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log
將install.log的擁有者與群組改回為root:
[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log
Linux文件屬性有兩種設置方法,一種是數字,一種是符號。
Linux文件的基本許可權就有九個,分別是owner/group/others三種身份各有自己的read/write/execute許可權。
先復習一下剛剛上面提到的數據:文件的許可權字元為:『-rwxrwxrwx』, 這九個許可權是三個三個一組的!其中,我們可以使用數字來代表各個許可權,各許可權的分數對照表如下:
每種身份(owner/group/others)各自的三個許可權(r/w/x)分數是需要累加的,例如當許可權為: [-rwxrwx---] 分數則是:
所以等一下我們設定許可權的變更時,該文件的許可權數字就是770啦!變更許可權的指令chmod的語法是這樣的:
chmod [-R] xyz 文件或目錄
選項與參數:
舉例來說,如果要將.bashrc這個文件所有的許可權都設定啟用,那麼命令如下:
[root@www ~]# ls -al .bashrc
-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc
那如果要將許可權變成 -rwxr-xr-- 呢?那麼許可權的分數就成為 [4+2+1][4+0+1][4+0+0]=754。
還有一個改變許可權的方法,從之前的介紹中我們可以發現,基本上就九個許可權分別是:
那麼我們就可以使用 u, g, o 來代表三種身份的許可權!
此外, a 則代表 all ,即全部的身份。讀寫的許可權可以寫成 r, w, x ,也就是可以使用下表的方式來看:
<colgroup><col span="1" width="166"><col span="1" width="166"><col span="1" width="166"><col span="1" width="166"><col span="1" width="166"></colgroup>
| chmod | u
g
o
a | +(加入)
-(除去)
=(設定) | r
w
x | 文件或目錄 |
如果我們需要將文件許可權設置為 -rwxr-xr-- ,可以使用 chmod u=rwx,g=rx,o=r 文件名 來設定:
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
-rwxr-xr-- 1 root root 0 Nov 15 10:32 test1
而如果是要將許可權去掉而不改變其他已存在的許可權呢?例如要拿掉全部人的可執行許可權,則:
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
㈢ linux命令如何查看文件、文件夾的屬性,包括大小、修改時間、誰修改的
通過ll命令可以查看一個目錄下的文件和子目錄的屬性和大小,以下面的例子講解:
[root@localhost ~]# ll
total 88
-rw-r--r-- 1 root root 1022 Feb 13 16:07 anaconda-ks.cfg
drwxr-xr-x 2 root root 4096 Feb 13 16:07 Desktop
-rw-r--r-- 1 root root 49229 Feb 13 16:07 install.log
-rw-r--r-- 1 root root 5133 Feb 13 16:06 install.log.syslog
-rw-r--r-- 1 root root 7 May 2 05:28 test
[root@localhost ~]#
我以其中一行講解:
-rw-r--r-- 1 root root 1022 Feb 13 16:07 anaconda-ks.cfg
-rw-r--r-- 1 root root 1022這些都是文件的屬性,包括文件的屬主、屬組和其他組的許可權,屬主和屬組的名稱,1022表示文件的大小,Feb 13 16:07是文件的修改時間。
至於被誰修改過是看不出來的。
㈣ Linux查看—個目錄下所有文件,不包括隱藏文件用哪條命令
ll就可以,ls也可以,只要不加-a基本不會查看到隱藏的文件。
㈤ 在Linux中,用什麼命令查看文件或目錄的許可權許可權共有幾個欄位組成有哪幾種權
盡管在Linux系統中一切都是文件,但是每個文件的類型不盡相同,因此Linux系統使用了不同的字元來加以區分,常見的字元如下所示。
-:普通文件。
d:目錄文件。
l:鏈接文件。
b:塊設備文件。
c:字元設備文件。
p:管道文件。
在Linux系統中,每個文件都有所屬的所有者和所有組,並且規定了文件的所有者、所有組以及其他人對文件所擁有的可讀(r)、可寫(w)、可執行(x)等許可權。對於一般文件來說,許可權比較容易理解:「可讀」表示能夠讀取文件的實際內容;「可寫」表示能夠編輯、新增、修改、刪除文件的實際內容;「可執行」則表示能夠運行一個腳本程序。但是,對於目錄文件來說,理解其許可權設置來就不那麼容易了。很多資深Linux用戶其實也沒有真正搞明白。
劉遄老師在這里給大家詳細講解一下目錄文件的許可權設置。對目錄文件來說,「可讀」表示能夠讀取目錄內的文件列表;「可寫」表示能夠在目錄內新增、刪除、重命名文件;而「可執行」則表示能夠進入該目錄。
文件的讀、寫、執行許可權可以簡寫為rwx,亦可分別用數字4、2、1來表示,文件所有者,所屬組及其他用戶許可權之間無關聯,如表:
在圖中,包含了文件的類型、訪問許可權、所有者(屬主)、所屬組(屬組)、佔用的磁碟大小、修改時間和文件名稱等信息。通過分析可知,該文件的類型為普通文件,所有者許可權為可讀、可寫(rw-),所屬組許可權為可讀(r--),除此以外的其他人也只有可讀許可權(r--),文件的磁碟佔用大小是34298位元組,最近一次的修改時間為4月2日的凌晨23分,文件的名稱為install.log。
以上僅是對於文件許可權簡單描述,具體操作示例,以及特殊文件許可權請查看www.linuxprobe.com/chapter-05.html#52
㈥ linux系統中如何找出用戶組擁有的所有文件
1、使用find命令可以解決,find語法如下:
find命令選項
-name:按照文件名查找文件。
-perm:按照文件許可權來查找文件。
-prune:使用這一選項可以使find命令不在當前指定的目錄中查找,如果同時使用-depth選項,那麼-prune將被find命令忽略。
-user: 按照文件屬主來查找文件。
-group:按照文件所屬的組來查找文件。
-mtime -n +n:按照文件的更改時間來查找文件, - n表示文件更改時間距現在n天以內,+ n表示文件更改時間距現在n天以前。find命令還有- a t i m e和- c t i m e選項,但它們都和- m t i m e選項。
-nogroup:查找無有效所屬組的文件,即該文件所屬的組在/ e t c / g r o u p s中不存在。
-nouser:查找無有效屬主的文件,即該文件的屬主在/ e t c / p a s s w d中不存在。
-newer file1 ! file2:查找更改時間比文件f i l e 1新但比文件f i l e 2舊的文件。
-type 查找某一類型的文件,諸如:
b - 塊設備文件。
d - 目錄。
c - 字元設備文件。
p - 管道文件。
l - 符號鏈接文件。
f - 普通文件。
2、具體要使用的參數是-group:按照文件所屬的組來查找文件。
如查找系統中所有屬於root組的文件,可以用:
# find . -group root -exec ls -l {} \;