文件及文件權限

查詢當前Linux版本:uname -a
Lsb-release -a  查看系統版本
Linux的文件及文件夾的組織結構成一個倒立置的樹形結構。並以 / (slash)分隔。 
重要的文件目錄 
用戶主目錄: /root,/home/username 
用戶可執行程序目錄: /bin, /usr/bin, /usr/local/bin 
系統可執行程序: /sbin, /usr/sbin, /usr/local/sbin 
掛載點: /media, /mnt 
常用的配置文件目錄: /etc 
臨時文件目錄: /tmp 
內核及引導目錄: /boot 
服務器目錄: /var 
系統信息目錄: /proc, /sys 
共享庫目錄: /lib, /usr/lib, /usr/local/lib
例如:[root@localhost ~]
表示:user: root 主機名:localhost  目錄:/root
------------------------------------------------------------------------- 
cd 命令 是改變用戶所在目錄的命令
cd      回當前用戶家目錄 
cd ~   也是回當前用戶家目錄 
cd -    回上一次所在的目錄
還有兩種方法 
cd /root   使用絕對路徑 
cd root    使用相對路徑
ls -a
.   代表當前目錄 
..  代表上一級目錄
如果我用cd ..這個命令會切換到root 的上級目錄就是 /,
更改環境變量來實現當前顯示當前的完整路徑狀態
vi /etc/bashrc,修改這一行後面大寫的W,改成小寫的w就可以了,保存退出。
u 就是當前用戶,h 就是主機名字,w 就是當前目錄
 [ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
要查看修改結果,我們需要關閉終端,重新打開終端就可以看見效果了
--------------------------------------------------------------------------
ls 命令
ls -a 顯示所有文件 包括隱藏文件 
ls -l  以長列表方式顯示文件 
LINUX裏只要文件名前有一個點的就是隱藏文件
用ls –l以長模式察看文件的詳細信息 
包含當前目錄的硬盤使用空間、文件類型、文件權限、硬連接數、文件擁有者、文件所屬組、文件大小、更動時間、文件名。
-rw------- 1 root root   958 Mar 25 00:55 anaconda-ks.cfg
第一個"-"位置是代表文件類型的。
在linux中,所有設備都被當成文件。 
文件權限前的第一個字母用來標識文件類型: 
-:一般文件 
d:目錄文件 
b:塊設備文件 
c:字符設備文件 
l:鏈接文件 
234位代表文件所有者的權限。
567位代表文件所屬組的權限。
89 10 代表其他用戶的權限。  
r 是讀的意思
W 是寫的意思
X 是執行的意思 
 -----------------------------------------------------------------------
文件的硬連接及軟鏈接
硬連接就像一個文件有多個文件名,
軟連接就是產生一個新文件,這個文件指向另一個文件的位置,
 
硬鏈接和軟連接的區別:
1、默認情況下不帶參數,ln命令創建硬鏈接,ln -s 創建軟連接
2、硬鏈接與源文件的inode 節點號相同,軟連接的inode節點號與源文件不同
3、Ln命令不能對目錄創建硬鏈接,可以創建軟連接
4、刪除軟鏈接文件對源文件及硬鏈接文件無任何影響
5、刪除文件的硬鏈接文件對源文件及軟鏈接文件無任何影響
6、刪除鏈接文件的源文件,對硬鏈接文件無任何影響,會導致其軟鏈接失敗(成爲紅底白字閃爍狀)
7、同時刪除源文件和硬鏈接文件,整個文件纔會被真正刪除
8、很多硬件設備中的快照功能,使用的就是類似硬鏈接的原理
9、軟鏈接可以跨文件系統,硬鏈接不可以!
--------------------------------------------------------------------------
新建文件
名稱:touch 
使用權限:所有使用者
使用方式: 
touch [-acfm] 
[-r reference-file] [--file=reference-file] 
[-t MMDDhhmm[[CC]YY][.ss]] 
[-d time] [--date=time] [--time={atime,access,use,mtime,modify}] 
[--no-create] [--help] [--version] 
file1 [file2 ...] 
說明: 
touch 指令改變檔案的時間記錄。 ls -l 可以顯示檔案的時間記錄。 
參數: 
a 改變檔案的讀取時間記錄。 
m 改變檔案的修改時間記錄。 
c 假如目的檔案不存在,不會建立新的檔案。與 --no-create 的效果一樣。 
f 不使用,是爲了與其他 unix 系統的相容性而保留。 
r 使用參考檔的時間記錄,與 --file 的效果一樣。 
d 設定時間與日期,可以使用各種不同的格式。 
t 設定檔案的時間記錄,格式與 date 指令相同。 
--no-create 不會建立新檔案。 
--help 列出指令格式。 
--version 列出版本訊息。 
例: 
建立文件,若文件不存在,系統會建立一個新的文件。 
touch file 
touch file1 file2

將 file 的時間記錄改爲 12 月 6 日 11點 11分,公元2012年。
時間的格式可以參考 date 指令,至少需輸入 MMDDHHmm ,就是月日時與分。 
touch -c -t 12061111 file 
touch -c -t 120611112012 file
touch -d 和 date -s 的用法相同。
如果沒有指定日期,默認爲系統日期
touch -d 11:11 file 
touch -d "11:11" file 
touch -d "11:11am" file

如果沒有指定時間,默認爲 00:00:00
LINUX 文件名字的長度最大是256個字符.
通常由字母、數字、“.”(點號)、“_”(下劃線)和 “-”(減號)組成.
強調: LINUX文件名字和命令都是嚴格區分大小寫的。
 -------------------------------------------------------------------------
刪除文件
名稱:rm 
使用權限:所有使用者 
使用方式:rm [options] name... 
說明:刪除檔案及目錄。 
參數: 
-i 刪除前逐一詢問確認。 
-f 即使原檔案屬性設爲唯讀,亦直接刪除,無需逐一確認。 
-r 將目錄及以下之檔案亦逐一刪除。
使用rm命令要小心。因爲一旦文件被刪除,它是不能被恢復的。爲了防止這種情況的發生,可以使用i選項來逐個確認要刪除的文件。
例: 
快速刪除log日誌
rm  -f  *22.log 
也可echo > /var/log/*22.log清空日誌
--------------------------------------------------------------------------
重命名(移動 )文件
名稱:cp 
使用權限:所有使用者 
使用方式: 
cp [options] source dest 
cp [options] source... directory 
說明:將一個檔案拷貝至另一檔案,或將數個檔案拷貝至另一目錄。 
把計 
-a 儘可能將檔案狀態、權限等資料都照原狀予以複製。 
-r 若 source 中含有目錄名,則將目錄下之檔案亦皆依序拷貝至目的地。 
-f 若目的地已經有相同檔名的檔案存在,則在複製前先予以刪除再行復制。 
範例: 
將檔案 test 複製(已存在),並命名爲share : 
cp test  share
 -------------------------------------------------------------------------
文件權限
對於每一個文件,Linux都提供了一套文件權限系統。 
對於每一類用戶,權限系統又分別提供他們三種權限 
讀(r) :用戶是否有權力讀文件的內容 
寫(w) :用戶是否有權利改變文件的內容 
執行(x) :用戶是否有權利執行文件
文件權限系統,將操作文件的用戶都分成三類 
文件的擁有者(u) 
文件所屬組的成員(g) 
其他用戶(o)
所屬用戶
每一個文件都有一個擁有者。文件的擁有者可以改變文件的權限。所有的用戶都有一個唯一的ID號(UID) 
用戶的名字與標識都放在/etc/passwd裏面
 -------------------------------------------------------------------------
下面看看幾個簡單的命令
創建用戶:useradd 
添加一個叫sunsir的用戶,sunsir是你想要創建的用戶名.命令運行成功,是不會有任何提示的.
然後用passwd 改變這個用戶的密碼。
注意;如果你passwd命令後面不跟用戶名的話,他就會改變當前用戶的密碼。 
刪除用戶:userdel
語  法:userdel [-r][用戶帳號]
userdel可刪除用戶帳號與相關的文件。
若不加參數,則僅刪除用戶帳號,而不刪除相關文件。
參  數:
  -f  刪除用戶登入目錄以及目錄中所有文件。
我們用su - sunsir命令切換到剛纔建立的目錄
Su - 是切換用戶,中間那個 - 符號的意思完是整切換到sunsir用戶。所謂的完整就是連着所有變量一起切換. 
改變文件權限
chmod  文件權限 文件名字
只有root用戶可以用chown來改變文件的擁有者。 
語法:chown   用戶名  文件名
建立文件用touch 命令,
建立一個文件
名字叫;share
權限: u=rwx   g=rx  o=rx 
改變文件權限有兩種方法:
一種是用字母表示:
比如:u+rwx g+rwx  o+rwx,
也可以用減號u-rwx g-rwx o-rwx
第二種chmod後可以用三個數字來表示用戶權限 
第一位代表文件擁有者權限 
第二位代表文件所屬組成員權限 
第三位代表其他用戶權限
一個文件權限分成u,g,o三部分。每部分又分爲r,w,x三種權限。那麼我們用三組數字來表示,三種用戶的權限。
4(讀)
2(寫)
1(執行) 
用數字表示,比如 777  
如果是7,就證明他有那三種權限,如果是5就證明那個位置的用戶只有4和1的權限,也就是沒有2,寫的權限。
把剛纔那個share的文件改成sunsir所有
chown sunsir share

所屬組
每一個文件只能屬於一個指定的組。所有的用戶組也都有一個唯一的ID號(GID
用戶的組名與組標識都放在/etc/group裏面 
文件的擁有者與root用戶,可以用chgrp來改變文件所屬的組 
語法:chgrp 組名  文件名
然後在把剛纔那個的所有組也改成sunsir組
chgrp sunsir share
root用戶也可以使用 #chown 用戶名:組名  文件名 
一般普通用戶的用戶ID與組ID的值大於等於500,而系統用戶ID與組ID小於500。(詳情請查看/etc/login.defs配置文件)
 
我們創建一個用戶的時候,會自動創建用戶主目錄,會分配UID,還有密碼策略,這是怎麼規定的呢? 
就是在login.defs這個文件裏面
[root@sunsir ~]#vim /etc/login.defs
[root@sunsir ~]# grep -v "#" /etc/login.defs
MAIL_DIR        /var/spool/mail   注:創建用戶時,要在目錄/var/spool/mail中創建一個用戶mail文件
PASS_MAX_DAYS   99999  注:用戶的密碼不過期最多的天數; 
PASS_MIN_DAYS   0 注:密碼修改之間最小的天數; 
PASS_MIN_LEN    5  注:密碼最小長度; 
PASS_WARN_AGE   7  注:是密碼過期前幾天提醒用戶,默認是7天。 
UID_MIN     500  注:最小UID爲500,也就是說添加用戶時,UID是從500開始的 
UID_MAX    60000   注:最大UID爲60000;
GID_MIN     500     注:GID是從500開始; 
GID_MAX    60000   注:最大GID爲60000;
CREATE_HOME     yes  注:是否創用戶家目錄,要求創建; 
UMASK           077    注:給用戶建立的家目錄的權限掩碼。
USERGROUPS_ENAB yes  注:建立一個用戶的時候也建立相應的組。

MD5_CRYPT_ENAB yes 

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