linux系統命令行基本操作——文件

1.文件屬性的查看

ls -l filename
-  | rw-r--r--. |1| root | root |  46 | Oct  1  05:03 | filename

— ———— —  —— ——     —   —————— ————

1        2         3     4       5        6            7                  8

1)" - " : 文件類型
-    ##普通文件
d    ##目錄
c    ##字符設備wh
s    ##套接字
p    ##管道
b    ##快設備
l    ##連接

2)" rw-r--r-- " : 文件讀寫權限

rw-|r--|r--
  *    $  @

* 所有人的權限

$ 所有組的權限

@ 其他人的權限


3)" 1 " :
對文件:文件內容被系統記錄的次數
對目錄:目錄中文件屬性的字節數

4)" root " : 文件所有人

5)" root " : 文件所有組

6)" 46 " : 文件內容的大小

7)" Oct  1 05:03 " : 文件最後一次被修改的時間

8)" filename " : 文件名字


2.文件所有人所有組的管理

chown     username        file|dir                  ##更改文件的所有人
chown     username.groupname    file|dir    ##更改所有人所有組
chown -R username        dir                        ##更改目錄本身及裏面所有內容的所有人

chgrp -R groupname        dir                        ##更改目錄本身及裏面所有內容的所有組

監控命令
watch -n 1 ls -lR /mnt


3.文件普通權限
rw-|r--|r--
 u   g   o

u:文件所有人對文件可以讀寫
g:文件組成員對文件可讀
o:其他人對文件可讀
u優先匹配,g次優先,o當u,g不匹配時匹配

1)r
對文件:可以查看文件中的字符
對目錄:可以查看目錄中文件的信息

2)w
對文件:可以更改文件內字符
對目錄:可以在目錄中添加刪除文件

3)x
對文件:可以運行文件內記錄的程序動作
對目錄:可以進入目錄中

4)字符方式修改該文件權限
chmod [-R] <u|g|o><+|-|=><r|w|x> file|dir   


chmod u+x file           ##file擁有者加上x權限
chmod g+w file1           ##file1擁有組添加w權限
chmod o+x,g+w file2        ##file2擁有者去掉x權,file2擁有組添加w權限


chmod ugo+x file3           ##file3的用戶組其他人加上x權限
chmod ug-x,o-r file3        ##file3用戶和組去掉x權限,其他人去掉r權限

chmod go=x file           ##file的用戶和組只有x權限

chmod -R go+w          ##file3的用戶和組以及其他人都添上w權限


5)數字方式修改該文件權限
在linux中
r=4
w=2
x=1
文件權限數字表示方式
rw-|r--|r--
 u   g   o
u=rw-=4+2+0=6
g=r--=4+0+0=4
o=r--=4+0+0=4
所以文件權限表示爲64
7=rwx
6=rw-
5=r-x
4=r--
3=-wx
2=-w-
1=--x
0=---
4

格式:
chmod    修改後權限值    file        例:  chmod    777    file


4.系統默認權限的設定

從系統存在角度來說,開放權力越大,系統存在意義越高;開放權力越少,系統安全性越高。所以系統設定新建文件或目錄會去掉一些權限。

**臨時設定方式
umask        ##查看系統保留權限默認爲022
umask 077    ##修改該系統保留權限爲077,此設定爲臨時設定,只當前shell中生效

**永久設定方式:

vim /etc/bashrc        ##shell
 70     if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
 71        umask 002    ##普通用戶umask
 72     else
 73        umask 077    ##超級用戶umask                                                                      
 74     fi

vim /etc/profile    ##系統
 59 if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then
 60     umask 002    ##普通用戶umask
 61 else
 62     umask 077       ##超級用戶umask                                                                                         
 63 fi

注意:以上兩個文件umask設定值必須保持一致

source /etc/bashrc

source /etc/profile      ###讓設定立即生效


5.文件的訪問控制(acl列表)
1)acl定義
acl = access control      指定特殊用戶對特殊文件有特殊權限
drwxrwx---+ 2 root root 17 Jul 18 01:39 /westos/
      ^
   表示/westos目錄時有權限列表

getfacl  /westos/

# file: westos/        ##文件名稱
# owner: root        ##文件所有人
# group: root        ##文件所有組
user::rwx        ##擁有者權限
user:student:rwx    ##特殊用戶權限
group::---        ##組權限
mask::rwx        ##權限掩碼
other::---        ##其他人權限

注意:當文件上有權限列表時,ls -l 能看到的權限是假的


2)設定acl列表
####設定#####
setfacl -m <u|g>:<username|groupname>:權限    文件|目錄
-m    #設定
u      #用戶
g      #組


######刪除列表中的用戶或者組####
setfacl -x <u|g>:<username|groupname>    文件|目錄
 

#####關閉列表######
setfacl -b 文件|目錄    

###acl mask值###
mask    權限掩碼
mask用來標實能夠賦予用戶最大權限 ,當用chmod改變文件普通權限時可能會被破壞
修復     setfacl -m m:rwx 文件名稱




####acl 默認權限######
當我們需求某個目錄對於student可寫,並且目錄中新建的子目錄對student也可寫,就要設定默認權限

setfacl -m d:u:student:rwx  /westos

注意:  默認權限只對目錄中新建立的文件或者目錄生效,對已經建立的文件無效, 對於目錄本身也無效


6.特殊權限
1)suid        ##冒險位
針對二進制可執行文件,文件內記錄的程序產生的進程的所有人爲文件所有人和進程發起人身份無關

設定方式:
chmod u+s file
suid=4
chmod 4xxx file


2)sgid        ##強制位
對文件:只針對二進制可執行文件,任何人運行二進制文件程序時程序產生的進程的所有組都是文件的所有組和程序發起人組的身份無關
對目錄:當目錄有sgid權限後,目錄中新建的所有文件的所有組都自動歸屬到目錄的所有組之中,和文件建立者所在的組無關

設定方式:
chmod g+s file
sgid=2
chmod 2xxx file

   
3)sticky    ##粘制位
t權限: 只針對與目錄,當一個目錄上有t權限,那麼目錄中的文件只能被文件的擁有者刪除

設定方式:
chmod o+t direcotry
t=1
chmod    1777 direcotry



###########################################end##############################################








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章