版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、Linux中用戶管理詳解(上)-Linux學(xué)習(xí)日記在Linux系統(tǒng)中,所有的用戶和組像一個國家。如果國家要繁榮昌盛的話,需要治理得當(dāng),需要有主席或者總統(tǒng),以及地方官員和老百姓組成。在linux中如果你對安全需求比較苛刻,完全可以限制用戶的各種行為,不同用戶的權(quán)限是不同的。在linux中系統(tǒng)中,它并不認識帳號名稱。它認識的是我們的帳號ID,帳號ID保存在/etc/passwd文件中。我們在登錄linux主機時,在輸入完帳號和密碼時,linux會先查找/etc/passwd文件中是否有這個帳號,如果沒有則跳出,如果有的話,他會讀取該帳號的user ID和group ID同時該帳號的根目錄和shel
2、l也讀了出來。然后在去核對密碼表,在/etc/shadow中找出我們剛剛輸入的帳號和userID,核對我們輸入密碼是否正確。一切正確我們可以登錄到當(dāng)前用戶shell。那么,我們首先了解一下用戶帳號文件。1./etc/passwd我們使用more查看一下這個文件我們首先看第一行root這一行,一共有七項,每一項使用:分開,他們代表的意思如下:帳號名稱:帳號名稱由于對應(yīng)用戶ID,這個是系統(tǒng)默認用戶root超級管理員,在同一個系統(tǒng)帳號名稱是唯一的,長度根據(jù)不同的linux系統(tǒng)而定,一般是8位。密碼:由于系統(tǒng)中還有一個/etc/shadow文件用于存放加密后的口令,所以在這里這一項是“x”來表示,如果
3、用戶沒有設(shè)置口令,則該項為空。用戶ID:這個是系統(tǒng)內(nèi)部用于來識別不同的用戶的,不同的用戶識別碼不同,其中用戶ID有以下幾種:0代表系統(tǒng)管理員,如果你想建立一個系統(tǒng)管理員的話,可以建立一個普通帳戶,然后將該賬戶的用戶ID改為0即可。1-500系統(tǒng)預(yù)留的ID,500以上是普通用戶使用。組ID:其實這個和用戶ID差不多,用來規(guī)范群組,他與/etc/group有關(guān)。描述信息:這個字段幾乎沒有什么作用,只是用來解釋這個帳號的意義。一般常見的是用戶全名信息。-用戶根目錄:就是用戶登錄系統(tǒng)的起始目錄,用戶登錄系統(tǒng)后將首先進入該目錄。root用戶默認的是/root,普通用戶的是/home/用戶名。用戶登錄sh
4、ell:就是用戶登錄系統(tǒng)時使用的shell,關(guān)于shell我們會在以后專門的研究一下。通常我們可以使用vi編輯這個文件,也可以使用vipw命令對/etc/passwd對這個用戶帳戶文件進行編輯,使用的編輯器是vi。2./etc/shadow在早期的unix操作系統(tǒng)中,用戶的帳號信息和口令信息都保存在passwd文件中,盡管系統(tǒng)已經(jīng)對口令進行了加密,并且以密文的方式保存在passwd文件中,但是由于passwd文件對于系統(tǒng)中的所有用戶是可讀的,口令比較容易破解,存在較大的安全隱患?,F(xiàn)在使用“shadow”文件保存密文的用戶口令,使用passwd文件保存用戶帳號其它信息?!皊hadow”文件只有管
5、理員用戶才可以讀取其中的內(nèi)容。由于這個文件可能被破解,所以一定不要將該文件內(nèi)容泄露給他人,保證系統(tǒng)安全。同樣,我們還是分析第一行,一共有九項,分別說明一下:帳戶名稱:和passwd對應(yīng),和passwd的意思相同。密碼:這才是真正的密碼,并且已經(jīng)加密過了,只能看到一些特殊符號。需要注意的是這些密碼很難破解,但是不等于不能。還有密碼欄的第一個字符為“*”表示這個用戶不用來登錄,如果那個用戶不想讓他登錄了,可以在他前面加個星。上次改動密碼的日期:這段記錄了改動密碼的最后日期,為什么是13798呢?這是因為linux計算日期的方法是以1970年1月1日作為1,1971年1月1日就是366,依次類推到我
6、修改密碼的日期表示為13798了。密碼不可被改動的天數(shù):這個字段代表要經(jīng)過多久才可以更改密碼。如果是“0”代表密碼可以隨時更改。密碼需要重新更改天數(shù):由于害怕密碼被人盜取而危害到整個系統(tǒng)的安全,所以安排了這個字段,你必須在這個時間內(nèi)重新修改密碼,否則這個帳號將暫時失效。上面的99999,表示密碼不需要重新輸入,最好設(shè)定一段時間修改密碼。確保系統(tǒng)安全。密碼變更期期限快到前的警告期:當(dāng)帳號的密碼失效期限快到時,系統(tǒng)依據(jù)這個字段的設(shè)定發(fā)出警告,提醒用戶“再過n天您的密碼將過期,請盡快重新設(shè)定密碼。默認的是七天。帳號失效期:如果用戶過了警告期沒有重新輸入密碼,使得密碼失效,而該用戶在這個字段限定的時間
7、內(nèi)又沒有向管理員反映,讓帳號重新啟用,那么這個帳號將暫時失效。帳號取消日期:這個日期跟第三個字段一樣,都是使用1970年以來的日期設(shè)定方法。這個字段表示:這個帳號在此字段規(guī)定的日期之后將無法再使用。這個字段通常用于收費服務(wù)系統(tǒng)中,可以規(guī)定一個日期讓該帳號不能再使用。保留:最后一個字段是保留的,看以后有沒有新功能加入。3. /etc/group查看一下這個文件我們還是分析第一行,一共有四項,依次為:群組名稱:就是群組的名稱了。群組密碼:通常不需設(shè)定,因為我們很少使用群組登錄。不過這個密碼也被記錄在/etc/shadow中了。群組ID:也就是組ID了。支持帳號的名稱:這個群組的所有帳號。如果你想讓
8、用戶qiuri也屬于root這個群組,就在第一行最后加上“,qiuri”注意添加的時候沒有空格。通常我們使用vi編輯這個文件,也可以使用vigr這個命令編輯,等同于使用vi /etc/group編輯。4. adduser添加用戶如果沒有特殊的要求,通常我們使用adduser 用戶名稱直接創(chuàng)建用戶帳號。例如我們創(chuàng)建qiuri帳戶:由于一般新創(chuàng)建的帳號都會在剛才我們說的三個文件的最后一行添加一行內(nèi)容,我們驗證一下:我們使用這條命令是通過/etc/login.defs和/etc/default/useradd這兩個默認帳號設(shè)定文件來實現(xiàn)創(chuàng)建用戶時用戶的基本設(shè)置的。/etc/login.defs文件內(nèi)
9、容如下:/etc/default/useradd文件內(nèi)容如下:這個文件中我們有必要了解一下,SKEL這個選項,用戶的根目錄內(nèi)容是從/etc/skel這個目錄下復(fù)制過去的。在手動添加用戶的時候有用。查看一下這個目錄下的內(nèi)容:這條命令還有好多的參數(shù)舉例幾個,供大家參考一下:adduser -u uid-g group-d home-s shell-u:直接給出userID -g:直接給出GID -d:直接將根目錄建立在已存在目錄 -s:定義shell5.passwd設(shè)置用戶密碼默認的情況下,在添加完用戶后并沒有設(shè)置用戶的密碼,因此建立的用戶帳號即使存在也不能登陸系統(tǒng)。需要使用passwd命令對用戶
10、帳號設(shè)置密碼才可以用于登陸系統(tǒng)。這條命令分為管理員給用戶修改密碼和用戶自己登錄系統(tǒng)自己修改密碼。管理員root給用戶修改密碼,例如:創(chuàng)建用戶qiuri,然后設(shè)置密碼管理員給用戶設(shè)置密碼以命令passwd 用戶名來設(shè)置密碼,在輸入密碼的過程中為了避免輸入錯誤,將連續(xù)輸入兩次。如果兩次輸入的密碼相同,表示輸入的密碼正確,同時將密碼以加密的方式保存到了shadow文件中。設(shè)置完以后我們可以使用用戶qiuri登錄。qiuri用戶自己修改一下密碼:Linux用戶管理詳解(中)在我的上一篇Linux中用戶管理詳解(上)我們已經(jīng)明白通過命令useradd每創(chuàng)建一個用戶都會在相應(yīng)的配置文件中添加相關(guān)的信息和創(chuàng)
11、建用戶的宿主目錄。其實今天要和大家說的是和用戶相關(guān)的linux安全問題,在安全中有一種技術(shù)人們稱它為“后門”技術(shù),其實就是說一些“小黑”,入侵到服務(wù)器后得到root權(quán)限,最常見的就是添加一個用戶方便日后來訪。雖然這是一個初級的技術(shù),但是這個能夠看出你對/etc/passwd和/etc/shadow文件的熟悉程度。如果你是黑客的話,入侵到一個系統(tǒng)后,你為了防止管理員修改密碼導(dǎo)致你不能登錄,而你去修改密碼,這不是明擺著要通知管理員他的系統(tǒng)已近被入侵了,所以這個時候可以通過編輯passwd和shadow文件來實現(xiàn)如下內(nèi)容:rootqiuri #echo admin:x:0:0:/usr/src:/b
12、in/bash /etc/passwdrootqiuri #echo admin:!:14143:0:99999:7: /etc/shadow通過以上兩條命令可以添加一個UID為0的具有管理員權(quán)限的賬戶,也可以編輯配置文件手工輸入,當(dāng)然,這里小黑們會盡量的掩蓋自己創(chuàng)建的這個賬戶,首先用戶名稱一般會選擇一個類似系統(tǒng)應(yīng)用程序的賬戶,用戶的主目錄也不會和其它賬戶一樣放在/home下。總之盡量的逃過哪些粗心的管理員。當(dāng)然,還沒有設(shè)置密碼是不能夠通過遠程可以連接上服務(wù)器的,這個時候用passwd來設(shè)置一下:輸入要設(shè)置的密碼,之后查看/etc/shadow配置文件后密碼位已近成為md5加密的亂碼。root
13、qiuri # passwd adminrootqiuri # grep admin /etc/shadowadmin:$1$1IoPDSJW$3NxLHwcXeutWT1lIMb4Zy1:14163:0:99999:7:這個時候我們可以測試一下登錄,這個時候我們沒有必要退出后再登錄,我們可以使用su命令切換用戶,大家在使用這條命令的時候最常見的問題如下:rootqiuri # su adminbash-3.1#rootqiuri # su adminbash-3.1#咋看起來這兩條命令沒有什么區(qū)別,當(dāng)我們使用su admin命令的時候,我們輸入一個認為可用的命令的時候會得到“command
14、not found”的錯誤信息。是由于su命令不能在根用戶環(huán)境中的讀操作。為了解決這個問題,只能在給su命令添加一個”的選項,也就是su admin這樣的格式。我們使用pwd查看一下這兩個命令的區(qū)別:rootqiuri # su adminbash-3.1# pwd/rootbash-3.1# su - admin-bash-3.1# pwd/usr/src看到了吧,其實這兩個命令的區(qū)別就是:使用su命令切換用戶后,不會修改當(dāng)前登錄會話的目錄或者環(huán)境;而su 后,通常會修改用戶的登錄目錄為用戶自己的根目錄,并且用戶自己的變量也可以使用了?;蛟S有人還有疑問為何提示符為”-bash-3.1#”了,
15、其實這個”-bash-3.1”不是關(guān)鍵,主要是看”#”和”$”來區(qū)別用戶的類型。這里變?yōu)椤?bash-3.1”的原因是我們創(chuàng)建的admin用戶沒有自己的初始配置文件,我們使用命令創(chuàng)建用戶的時候都會從/etc/skel這個目錄中復(fù)制到用戶的宿主目錄。這里查看一下這個配置文件:rootqiuri # ls -al /etc/skel/total 48drwxr-xr-x 2 root root 4096 09-18 21:26 .drwxr-xr-x 94 root root 12288 10-11 20:27 .-rw-r-r- 1 root root 24 2006-07-12 .bash_l
16、ogout-rw-r-r- 1 root root 176 2006-07-12 .bash_profile-rw-r-r- 1 root root 124 2006-07-12 .bashrcrootqiuri #我們看到這些都是一下隱藏文件,這些文件是用于用戶的環(huán)境變量的shell腳本,用戶登錄后可以修改這些文件。我在以后的文章中詳細介紹這些文件的用途。那我們就將這些文件復(fù)制過去看看:rootqiuri # cp -r /etc/skel/.* /usr/srcrootqiuri # su - adminrootqiuri # pwd/usr/admin當(dāng)然,通過這種方法創(chuàng)建的后門用戶很容
17、易被細心的管理員發(fā)現(xiàn),但是如果你對這些配置文件不是很熟悉的話也是很難發(fā)現(xiàn)問題。這就是火能助人,也能殺人的道理。當(dāng)發(fā)現(xiàn)這樣的用戶,我們需要做的是將其刪除,刪除用戶的命令是userdel。1)userdel命令用于刪除linux系統(tǒng)中的用戶賬號,命令格式如下:userdel -r user_name一般,在使用這條命令的時候,如果不添加”-r”的話,不會刪除用戶的宿主目錄,這樣就可以保存該用戶在系統(tǒng)中的文件,要是想刪除的話我們可以手工的去刪除該目錄。但是你已經(jīng)確認該宿主目錄中的文件可以刪除,直接使用”-r”這樣就可以一次性的刪除用戶操作。rootqiuri #userdel r admin2)手工
18、刪除用戶手工刪除一個用戶需要執(zhí)行如下步驟:從/etc/passwd、/etc/shadow、/etc/group配置文件中刪除該用戶的相關(guān)條目,之后刪除該用戶的宿主目錄。但是,在我們工作的過程中,為了提高系統(tǒng)的安全性最常用的就是禁用和啟用賬戶??梢允褂胾sermod命令來禁用賬號:rootqiuri # grep u1 /etc/shadow #禁用前查看一下u1:$1$66svsu0z$9yg1bwziK2rXvnYiUH9HB1:14163:0:99999:7:rootqiuri # usermod -L u1 #禁用賬號rootqiuri # grep u1 /etc/shadow #再
19、次查看一下,發(fā)現(xiàn)多出一個!,表明用戶已禁用u1:!$1$66svsu0z$9yg1bwziK2rXvnYiUH9HB1:14163:0:99999:7:rootqiuri #當(dāng)因工作需要的時候,可以將已禁用的賬號u1重新啟用,命令如下:rootqiuri # usermod -U u1 #重新啟用賬號rootqiuri # grep u1 /etc/shadow #發(fā)現(xiàn)!已經(jīng)移除,表明用戶已啟用u1:$1$66svsu0z$9yg1bwziK2rXvnYiUH9HB1:14163:0:99999:7:rootqiuri #從上邊的操作可以看出usermod命令禁用和啟用賬號功能是通過在/etc
20、/shadow 配置文件中,在用戶密碼位之前添加和刪除!實現(xiàn)的。當(dāng)然也可以使用手工添加或刪除!來實現(xiàn)效果。不知道大家還記不記得我在上一篇文章中提到可以通過設(shè)置shadow文件中的“賬號失效期”來設(shè)置賬號的有效期限。這里也可以使用usermod命令實現(xiàn),命令格式如下:usermod e YYYY-MM-DD name通過這個命令可以設(shè)置用戶賬號的過期時間,就是說在此日期之前用戶賬戶生效,過了這個日期后用戶將禁止登錄。設(shè)置后如下所示: rootqiuri # usermod -e 2008-10-18 u1 #設(shè)置賬號過期時間rootqiuri # grep u1 /etc/shadow #驗證結(jié)
21、果u1:$1$66svsu0z$9yg1bwziK2rXvnYiUH9HB1:14163:0:99999:7:14170:rootqiuri #在實際的管理工作中,如果我們一個一個的去管理賬號的話,無形中會增加我們大量的管理負擔(dān)和造成不必要的錯誤??梢允褂谩坝脩艚M”來解決這些問題。那么什么是“用戶組”呢?用戶組就是一個具有相同特性的用戶集合,在同一個組中的所有用戶具有相同的組權(quán)限。一般情況下我們使用useradd創(chuàng)建用戶的時候會創(chuàng)建和用戶同名的用戶組,但是有些時候我們需要單獨的創(chuàng)建用戶組,可以使用groupadd命令實現(xiàn)?命令格式如下: groupadd -g gid -o -r -f gro
22、up我們創(chuàng)建一個qiuri組為例:rootqiuri # groupadd qiuri #添加用戶組rootqiuri# grep qiuri /etc/group #驗證是否創(chuàng)建成功qiuri:x:501:如果我們要創(chuàng)建一個xifeng組同時組ID為1000rootqiuri # groupadd -g 1000 xifeng #添加組ID為1000的用戶組rootqiuri # grep xifeng /etc/group #驗證結(jié)果xifeng:x:1000:我們會創(chuàng)建組了,但是如何將用戶添加到相應(yīng)的組呢?一般有以下幾種情況? 1) 創(chuàng)建用戶的時候指定用戶屬于那個用戶組例如:我們創(chuàng)建一個
23、test用戶,同時這個用戶屬于qiuri組,這個時候系統(tǒng)就不會再建立與用戶名同名的用戶組賬號了。命令格式:uersadd -g group_name user_name創(chuàng)建過程:rootqiuri # grep qiuri /etc/group #確認用戶組qiuri是否存在qiuri:x:1001:rootqiuri # useradd -g qiuri test #將創(chuàng)建用戶指定到qiuri組rootqiuri # grep test /etc/passwd #查看用戶是否創(chuàng)建成功,是否屬于組qiuri。test:x:510:1001:/home/test:/bin/bashrootqiu
24、ri # grep qiuri /etc/groupqiuri:x:1001:說明:驗證用戶屬于那個組的時候也可以使用命令groups user_name來查詢。2)更改用戶的用戶組一般什么時候需要更改用戶組呢?例如:我們在創(chuàng)建用戶的時候忘記指定用戶屬于那個用戶組,這個時候我們執(zhí)行此命令。可以使用usermod g來更新組的名稱,這里我們將test用戶從qiuri組更改到xifeng組。命令格式:uermod g group_name user_name更改過程:rootqiuri # usermod -g xifeng test #更改用戶所屬于的組rootqiuri # grep test
25、 /etc/passwd #確認用戶組ID是否發(fā)生變化test:x:510:1000:/home/test:/bin/bashrootqiuri # grep xifeng /etc/group #確認組ID為1000的組是否是xifeng。xifeng:x:1000:rootqiuri #3) 將用戶添加到其它組一個用戶可以同時屬于多個組,例如:test用戶同時屬于qiuri和xifeng組,可以通過usermod G命令來實現(xiàn)。注意:這條命令執(zhí)行的前提條件是確認該用戶是否存在,也就是說是將已有用戶添加到相應(yīng)的組。命令格式:usermod G group_name user_name方法一、
26、添加過程:rootqiuri # usermod -G qiuri test #讓用戶test同時屬于qiuri組rootqiuri # grep test /etc/passwd #查看一下用戶配置文件,無變化test:x:510:1000:/home/test:/bin/bashrootqiuri # egrep qiuri|xifeng /etc/group #查看一下用戶組配置文件中關(guān)于xifeng和qiuri組。個人認為使用groups test命令查看更方便些。xifeng:x:1000:qiuri:x:1001:testrootqiuri #或者使用gpasswd命令,命令格式如
27、下:gpasswd a user_name group_name方法二、添加過程:rootqiuri # gpasswd -a test qiuri #讓用戶test同時屬于qiuri組Adding user test to group qiurirootqiuri # egrep qiuri|xifeng /etc/group #驗證結(jié)果xifeng:x:1000:qiuri:x:1001:testrootqiuri # grep test /etc/passwdtest:x:510:1000:/home/test:/bin/bashrootqiuri #當(dāng)我們需要修改組的名稱的時候可以使用
28、groupmod -n實現(xiàn),命令格式:groupmod -n new_group_name old_ group_name例如:將組qiuri更改為qiurixifengrootqiuri # groupmod -n qiurixifeng qiuri #修改組名稱rootqiuri # grep qiuri /etc/group #確認結(jié)果qiurixifeng:x:1001:testrootqiuri #和組名稱對應(yīng)的就是用戶名稱,我們可以usermod l修改用戶名稱,命令格式如下:usermod l new_user_name old_ user_namerootqiuri # use
29、rmod -l qiuri test #修改用戶名稱rootqiuri # grep qiuri /etc/passwd #驗證結(jié)果qiuri:x:501:501:/home/test:/bin/bash最后要介紹刪除組的命令groupdel,命令格式如下:groupdel group_namerootqiuri # egrep qiuri|xifeng /etc/group #查看一下qiuri和xifeng組是否存在qiuri:x:1001:xifeng:x:1000:rootqiuri # groupdel qiuri #刪除qiuri組rootqiuri # groupdel xife
30、ng #刪除xifeng組rootqiuri # egrep qiuri|xifeng /etc/group #確認結(jié)果rootqiuri #下一篇: Linux用戶管理詳解(下)我們已經(jīng)可以通過創(chuàng)建不同的用戶來防止其他人使用自己的賬號,之后每個賬戶對應(yīng)一個單獨的用戶密碼,構(gòu)成了一個基本的用戶管理思路。為了方便管理還可以使用組來設(shè)置相同屬性的用戶。那么設(shè)置這些到底是為了什么呢?今天就揭開它的面紗。Linux系統(tǒng)是一個典型的多用戶操作系統(tǒng),不同的用戶處于不同的地位,為了保護系統(tǒng)的安全性,linux系統(tǒng)對于不同用戶訪問同一個文件或目錄做了不同的訪問權(quán)限控制。我們是否還記得查看文件權(quán)限的命令,為了便
31、于大家理解首先我創(chuàng)建如下所示文件和目錄并查看相應(yīng)的權(quán)限。userqiuri $ mkdir qiuri userqiuri $ touch xifenguserqiuri $ ls -l總計 4drwxrwxr-x 2 user user 4096 07-13 15:17 qiuri-rw-rw-r- 1 user user 0 07-13 15:17 xifenguserqiuri $我們拿qiuri這個目錄分析一下輸出的結(jié)果的含義,首先將它從左邊開始分為7個部分,如下圖所示:第一個部分:文件類型和文件權(quán)限,其中第一個字符是文件的類型標(biāo)志,后9個為權(quán)限標(biāo)志。通過第一位確認文件屬于那種類型。說
32、道文件類型在Windows中,常見的文件類型有file.txt、file.doc、file.mp3等,根據(jù)文件的后綴名判斷該文件的類型,在Linux中,一個文件主要看他是否能夠執(zhí)行與后綴沒有太大的關(guān)系,主要看文件的屬性有關(guān)。在linux中常見的文件類型有:“”表示普通文件,例如:rootqiuri # ls -l install.log-rw-r-r- 1 root root 41727 07-13 02:56 install.log輸出的第一個標(biāo)志位是“-”,這樣的文件在Linux 中就是普通文件。這些文件一般是用一些相關(guān)的應(yīng)用程序創(chuàng)建,比如圖像工具、文檔工具、歸檔工具. . 或 cp工具等
33、。這類文件的刪除方式是用rm 命令?!癲”表示目錄,例如:rootqiuri # ls -l /root總計 84-rw- 1 root root 882 07-13 02:56 anaconda-ks.cfgdrwxr-xr-x 2 root root 4096 07-13 03:18 Desktop-rw-r-r- 1 root root 41727 07-13 02:56 install.log-rw-r-r- 1 root root 4182 07-13 02:50 install.log.syslog-rw-r-r- 1 root root 209 07-13 03:14 scsru
34、n.log當(dāng)某個目錄下看到有類似 drwxr-xr-x ,這樣的文件就是目錄,目錄在Linux 是一個比較特殊的文件。注意它的第一個字符是d。創(chuàng)建目錄的命令可以用 mkdir 命令,或cp 命令,cp 可以把一個目錄復(fù)制為另一個目錄。刪除用rm 或rmdir 命令“b”表示塊設(shè)備文件,例如:rootqiuri # ls -l /dev/sdabrw-r- 1 root disk 8, 0 07-13 05:57 /dev/sda我們看到 /dev/sda 的屬性是 brw-rw- ,注意前面的第一個字符是b,這表示塊設(shè)備,比如硬盤,光驅(qū)等設(shè)備?!癱”表示字符設(shè)備文件rootqiuri # ls
35、 -l /dev/ttycrw-rw-rw- 1 root tty 5, 0 07-13 05:58 /dev/tty我們看到/dev/tty的屬性是 crw-rw-rw-,注意前面第一個字符是 c ,這表示字符設(shè)備文件。比如貓等串口設(shè)備?!發(fā)” 表示符號鏈接rootqiuri # ls -l /etc/rc.local lrwxrwxrwx 1 root root 13 07-13 02:09 /etc/rc.local - rc.d/rc.local查看文件屬性時,會看到有類似 lrwxrwxrwx,注意第一個字符是l,這類文件是鏈接文件。這和Windows 操作系統(tǒng)中的快捷方式有點相似。
36、一般鏈接有兩種:硬連接和符號鏈接。 首先我們要明白,在Linux系統(tǒng)中每一個存儲設(shè)備(硬盤、U盤),格式化后,分為Inode和Block兩個部分。內(nèi)核為每一個新建的文件分配一個Inode(索引結(jié)點),每個文件都有一個惟一的inode號。文件屬性(文件的所有者、存取模式、類型、創(chuàng)建或修改時間、文件真正內(nèi)容的指向等)保存在索引結(jié)點里,在訪問文件時,索引結(jié)點值被復(fù)制到內(nèi)存中,快速找到真正內(nèi)容指向(pointer)指向數(shù)據(jù)內(nèi)容放置的區(qū)塊(Block)之中,從而實現(xiàn)文件快速的找到該文件。硬鏈接是直接指向索引結(jié)點(Inode)的指針,系統(tǒng)不會重新分配給它新的Inode。但是創(chuàng)建時需注意:鏈接文件和被鏈接文
37、件必須位于同一個文件系統(tǒng)中,并且不能建立指向目錄的硬鏈接。默認情況下,ln名稱創(chuàng)建的便是硬鏈接。命令格式:ln source(源文件名)dist(目的文件名)例如:userqiuri $ ls -il #查看文件屬性并顯示文件lnode號total 4 drwxrwxr-x 2 user user 4096 07-13 17:34 qiuri -rw-rw-r- 1 user user 0 07-13 17:34 xifenguserqiuri $ ln xifeng qiurixifeng #創(chuàng)建文件xifeng的硬鏈接qiurixifenguserqiuri $ ls -il #驗證結(jié)果,
38、結(jié)果表明創(chuàng)建硬鏈接系統(tǒng)沒有分配新的lndoetotal 4 drwxrwxr-x 2 user user 4096 07-13 17:34 qiuri -rw-rw-r- 2 user user 0 07-13 17:34 qiurixifeng -rw-rw-r- 2 user user 0 07-13 17:34 xifenguserqiuri $ ln qiuri qiurixifeng #創(chuàng)建目錄qiuri的硬鏈接,提示不允許硬鏈接指向目錄ln: qiuri: hard link not allowed for directoryuserqiuri $軟連接又稱符號鏈接克服了硬鏈接的不
39、足,不受文件系統(tǒng)的限制,可以創(chuàng)建指向目錄的符號鏈接。因此我們大多數(shù)使用符號鏈接。創(chuàng)建符號鏈接的時候只需要在ln后加上-s選項即可。例如:rootqiuri # ln -s /home/user/qiuri qiuri #給root用戶創(chuàng)建符號鏈接qiuri,鏈接到/home/user/qiurirootqiuri # ln -s /home/user/xifeng xifeng#創(chuàng)建符號鏈接xifeng,提示“文件已存在”的錯誤信息。ln: creating symbolic link xifeng to /home/user/xifeng: File existsrootqiuri # ls
40、 -l #查看一下當(dāng)前目錄下的文件,發(fā)現(xiàn)當(dāng)前目錄下已存在一個同名文件。total 80-rw- 1 root root 882 Jul 13 02:56 anaconda-ks.cfgdrwxr-xr-x 2 root root 4096 Jul 13 03:18 Desktop-rw-r-r- 1 root root 41727 Jul 13 02:56 install.log-rw-r-r- 1 root root 4182 Jul 13 02:50 install.log.sysloglrwxrwxrwx 1 root root 16 Jul 13 17:48 qiuri - /home
41、/user/qiuri-rw-r-r- 1 root root 209 Jul 13 03:14 scsrun.log-rw-r-r- 1 root root 0 Jul 11 07:51 xifengrootqiuri # ln -sf /home/user/xifeng xifeng#我們可以使用-f選項忽略目標(biāo)文件的存在并強制做鏈接文件。rootqiuri # ls -li #驗證結(jié)果,發(fā)現(xiàn)創(chuàng)建成功。total 80 -rw- 1 root root 882 Jul 13 02:56 anaconda-ks.cfg drwxr-xr-x 2 root root 4096 Jul 13 0
42、3:18 Desktop -rw-r-r- 1 root root 41727 Jul 13 02:56 install.log -rw-r-r- 1 root root 4182 Jul 13 02:50 install.log.syslog lrwxrwxrwx 1 root root 16 Jul 13 17:48 qiuri - /home/user/qiuri -rw-r-r- 1 root root 209 Jul 13 03:14 scsrun.log lrwxrwxrwx 1 root root 17 Jul 13 17:53 xifeng - /home/user/xifen
43、grootqiuri #對文件類型有了一個了解之后,我們接著說文件權(quán)限,linux文件的權(quán)限標(biāo)志位共九個,分為3組,分別代表文件擁有者的權(quán)限,文件所屬用戶組的權(quán)限和其它用戶的權(quán)限,如下圖所示: Linux 文件的權(quán)限有三種:可讀(r):意味著我們可以查看閱讀;可寫(w):意味著,可以修改或刪除(不過刪除或修改的權(quán)限受父目錄上的權(quán)限控制);可執(zhí)行(x):意味著如果是文件就可以運行,比如二進制文件(比如命令),或腳本(要用腳本語言解釋器來解釋運行)。如果權(quán)限位不可讀、不可寫、不可執(zhí)行,是用“-”來表示。對于目錄來說,執(zhí)行(x)權(quán)限表示可以使用cd 命令進入該目錄,可以讀出該目錄下的文件的內(nèi)容。如果
44、某用戶對目錄只有讀取權(quán)限,而沒有執(zhí)行權(quán)限,那么該用戶只能使用ls 命令列出目錄下的文件,而不能讀取該目錄內(nèi)的文件。當(dāng)一個文件的權(quán)限不符合我們使用的要求我們可以使用命令chmod來設(shè)置和改變,改變目錄和文件權(quán)限的方法有兩種,一種是通過八進制的語法,另一種是助記語法。八進制的語法使用數(shù)字表示各個權(quán)限分別是r(4)、w(2)、x(1)、-(0)。例如目錄qiuri的權(quán)限如何使用八進制來表示:drwxrwxr-x 2 user user 4096 07-13 15:17 qiuri屬主的權(quán)限用數(shù)字表達:屬主的那三個權(quán)限位的數(shù)字加起來的總和。比如上面的例子中屬主的權(quán)限是rwx ,也就是4+2+1 ,應(yīng)該
45、是7;屬組的權(quán)限用數(shù)字表達:屬組的那個權(quán)限位數(shù)字的相加的總和。比如上面的例子中的rwx ,也就是4+2+1 ,應(yīng)該是7;其它用戶的權(quán)限數(shù)字表達:其它用戶權(quán)限位的數(shù)字相加的總和。比如上面例子中是 r-x ,也就是4+0+1,應(yīng)該是5;也就是說,如果使用八進制數(shù)來表示該文件的權(quán)限,應(yīng)該是775。明白了數(shù)值表示權(quán)限的方法,例如將目錄qiuri的權(quán)限修改為:屬主對目錄qiuri有可讀可寫可執(zhí)行權(quán)限,屬組和其他人有可讀和可執(zhí)行權(quán)限。rootqiuri # ls -l #修改前查看一下total 4drwxrwxr-x 2 user user 4096 07-13 15:17 qiuri-rw-rw-r-
46、 1 user user 0 07-13 15:17 xifengrootqiuri #chmod 755 qiuri #修改權(quán)限為755rootqiuri # ls -l #修改后驗證total 4drwxr-xr-x 2 user user 4096 07-13 15:17 qiuri-rw-rw-r- 1 user user 0 07-13 15:17 xifeng如果想同時修改目錄和子目錄中所有文件的權(quán)限執(zhí)行如下命令:rootqiuri #chmod R 755 qiuri助記語法中將屬主(user)使用u表示、屬組(group)使用g表示、其它用戶(other)使用o來表示,而所有人(all)使用a來表示。使用“+”來表示添加權(quán)限、“”表示減少權(quán)限、“=”表示授予的權(quán)限。當(dāng)然使用r、w、x來表示權(quán)限。在使用的時候,可以組合使用。例如:rootqiuri tmp# touch xifeng #創(chuàng)建
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年沙地生態(tài)保護與可持續(xù)發(fā)展承包合同3篇
- 2025年度戶外廣告牌使用權(quán)及維護合同4篇
- 二零二五版杭州二手房買賣合同產(chǎn)權(quán)變更與登記服務(wù)協(xié)議3篇
- 2025年度光伏發(fā)電項目個人工勞務(wù)分包合同2篇
- 2025年度苗木種植保險合同匯編3篇
- 二零二五年度廚房設(shè)備安裝與智能化節(jié)能改造合同4篇
- 二零二五年度地產(chǎn)樣板間軟裝設(shè)計定制合同3篇
- 2025年拋光技術(shù)成果轉(zhuǎn)化與應(yīng)用合同4篇
- 二零二五年度包裝印刷生產(chǎn)經(jīng)理招聘合同書4篇
- 二零二五年度出租車司機合同履行監(jiān)督聘用協(xié)議3篇
- 墓地銷售計劃及方案設(shè)計書
- 從偏差行為到卓越一生3.0版
- 優(yōu)佳學(xué)案七年級上冊歷史
- 鋁箔行業(yè)海外分析
- 紀委辦案安全培訓(xùn)課件
- 超市連鎖行業(yè)招商策劃
- 醫(yī)藥高等數(shù)學(xué)智慧樹知到課后章節(jié)答案2023年下浙江中醫(yī)藥大學(xué)
- 城市道路智慧路燈項目 投標(biāo)方案(技術(shù)標(biāo))
- 【公司利潤質(zhì)量研究國內(nèi)外文獻綜述3400字】
- 工行全國地區(qū)碼
- 新疆2022年中考物理試卷及答案
評論
0/150
提交評論