第三周作業(yè)

Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關(guān)示例演示。

1.chown

chown將指定文件的擁有者改為指定的用戶或組,用戶可以是用戶名或者用戶ID;組可以是組名或者組ID;文件是以空格分開的要改變權(quán)限的文件列表,支持通配符。系統(tǒng)管理員經(jīng)常使用chown命令,在將文件拷貝到另一個(gè)用戶的名錄下之后,讓用戶擁有使用該文件的權(quán)限。

命令格式:

chown [選項(xiàng)]... [所有者][:[組]] 文件...

命令參數(shù):

必要參數(shù):

-c 顯示更改的部分的信息

-f 忽略錯(cuò)誤信息

-h 修復(fù)符號(hào)鏈接

-R 處理指定目錄以及其子目錄下的所有文件

-v 顯示詳細(xì)的處理信息

-deference 作用于符號(hào)鏈接的指向,而不是鏈接文件本身

選擇參數(shù):

--reference=<目錄或文件> 把指定的目錄/文件作為參考,把操作的文件/目錄設(shè)置成參考文件/目錄相同擁有者和群組

--from=<當(dāng)前用戶:當(dāng)前群組> 只有當(dāng)前用戶和群組跟指定的用戶和群組相同時(shí)才進(jìn)行改變

--help 顯示幫助信息

--version 顯示版本信息

示例:

1>改變擁有者和組

[root@system1 ~]# ll

total 8

drwxr-xr-x. 2 root root? ? 6 May 18 13:11 Music

[root@system1 ~]# chown gj:gj Music

[root@system1 ~]# ll

total 8

drwxr-xr-x. 2 gj? gj? ? ? 6 May 18 13:11 Music

改變文件擁有者:chown gj: Music

改變文件所屬組:chown :gj Music

2>改變指定目錄以及其子目錄下的所有文件的擁有者和群組

[root@system1 Music]# ll

total 0

drwxr-xr-x. 2 root root 6 Sep 20 19:34 123

drwxr-xr-x. 2 root root 6 Sep 20 19:34 234

-rw-r--r--. 1 root root 0 Sep 20 19:34 789

[root@system1 ~]# ll

drwxr-xr-x. 4 root root? 36 Sep 20 19:34 Music

[root@system1 ~]# chown -R -v gj:gj Music

changed ownership of ‘Music/123’ from root:root to gj:gj

changed ownership of ‘Music/234’ from root:root to gj:gj

changed ownership of ‘Music/789’ from root:root to gj:gj

changed ownership of ‘Music’ from root:root to gj:gj

[root@system1 ~]# ll

drwxr-xr-x. 4 gj? gj? ? 36 Sep 20 19:34 Music

[root@system1 Music]# ll

drwxr-xr-x. 2 gj gj 6 Sep 20 19:34 123

drwxr-xr-x. 2 gj gj 6 Sep 20 19:34 234

-rw-r--r--. 1 gj gj 0 Sep 20 19:34 789

2.chgrp:改變文件的所屬組

用法,參數(shù)與chown基本相同

示例:

[root@system1 Music]# ll

drwxr-xr-x. 2 gj gj 6 Sep 20 19:34 123

[root@system1 Music]# chgrp root 123

drwxr-xr-x. 2 gj root 6 Sep 20 19:34 123

3.chmod:改變文件的權(quán)限

chmod用于改變文件或目錄的訪問權(quán)限。用戶用它控制文件或目錄的訪問權(quán)限。該命令有兩種用法。一種是包含

字母和操作符表達(dá)式的文字設(shè)定法;另一種是包含數(shù)字的數(shù)字設(shè)定法。

1>文字設(shè)定法

chmod [-cfvR] [--help] [--version] mode file...

mode : [ugoa...][[+-=][rwxX]...][,...],

u 表示該檔案的擁有者,g 表示與該檔案的擁有者屬于同一個(gè)群體(group)者,o 表示其他以外的人,a 表示這三者皆是。

表示增加權(quán)限、- 表示取消權(quán)限、= 表示唯一設(shè)定權(quán)限。

r 表示可讀取,w 表示可寫入,x 表示可執(zhí)行,X 表示只有當(dāng)該檔案是個(gè)子目錄或者該檔案已經(jīng)被設(shè)定過為可執(zhí)行。

-c : 若該檔案權(quán)限確實(shí)已經(jīng)更改,才顯示其更改動(dòng)作

-f : 若該檔案權(quán)限無法被更改也不要顯示錯(cuò)誤訊息

-v : 顯示權(quán)限變更的詳細(xì)資料

-R : 對目前目錄下的所有檔案與子目錄進(jìn)行相同的權(quán)限變更(即以遞回的方式逐個(gè)變更)

--help : 顯示輔助說明

--version : 顯示版本

chmod [OPTION]... --reference=RFILE FILE...

參考RFILE文件的權(quán)限,將FILE的修改為同RFILE:

示例:# chmod -R --reference=/tmp/issue /tmp/fstab

2> 數(shù)字設(shè)定法

0表示沒有權(quán)限,1表示可執(zhí)行權(quán)限, 2表示可寫權(quán)限,4表示可讀權(quán)限,然后將其相加。所以數(shù)字屬性的格式應(yīng)為3個(gè)從0到7的八進(jìn)制數(shù),其順序是(u)(g)(o)。

語法:chmod [mode] 文件名

示例:讓文件123的用戶,組和其他都擁有可讀可寫可執(zhí)行的權(quán)限

[root@system1 Music]# ll

drwxr-xr-x. 2 gj root 6 Sep 20 19:34 123

[root@system1 Music]# chmod 777 123

drwxrwxrwx. 2 gj root 6 Sep 20 19:34 123

4.umask

文件權(quán)限是linux系統(tǒng)中的一種安全機(jī)制,通過設(shè)置不同的權(quán)限,可以達(dá)到限制用戶操作的目的,有效地保證了文件的完整性。

默認(rèn)的情況下,創(chuàng)建一個(gè)文件的權(quán)限為"rw-r--r--",而創(chuàng)建一個(gè)目錄的權(quán)限為rwxr-xr-x",如果默認(rèn)的不符合用戶的需求,可以用chmod命令進(jìn)行設(shè)置,但這樣的效率很低。

linux提供了一個(gè)方便的工具umask,可以用來設(shè)置文件的默認(rèn)掩碼。

文件的默認(rèn)權(quán)限就是umask設(shè)置的掩碼和系統(tǒng)中默認(rèn)的最大權(quán)限碼做異或運(yùn)算,其結(jié)果就是文件的默認(rèn)權(quán)限。

默認(rèn)的umask的值為0022

對于文件的執(zhí)行權(quán)限(即X權(quán)限)使用umask命令是無法使其起作用的,系統(tǒng)強(qiáng)制關(guān)閉文件的X默認(rèn)執(zhí)行權(quán)限,只能通過chmod修改

umask只對當(dāng)前shell環(huán)境起作用。

umask對應(yīng)的配置文件 :

umask的配置文件為:/etc/profile 或 ~/.profile 或 ~/.bask_profile,修改這些文件里的umask值,則umask的值會(huì)長期不變。

二、文本處理工具

1.wc命令:統(tǒng)計(jì)單詞數(shù),行數(shù),字節(jié)數(shù)

語法:wc [選項(xiàng)] 文件…

c 統(tǒng)計(jì)字節(jié)數(shù)。

l 統(tǒng)計(jì)行數(shù)。

w 統(tǒng)計(jì)字?jǐn)?shù)。

示例:

[root@system1 etc]# wc -l passwd

40 passwd

[root@system1 etc]# wc -c passwd

1989 passwd

[root@system1 etc]# wc -w passwd

68 passwd

2.cut命令:切取文本

cut? [-bn] [file] 或 cut [-c] [file]? 或? cut [-df] [file]

-b :以字節(jié)為單位進(jìn)行分割。這些字節(jié)位置將忽略多字節(jié)字符邊界,除非也指定了 -n 標(biāo)志。

-c :以字符為單位進(jìn)行分割。

-d :自定義分隔符,默認(rèn)為制表符。

-f :與-d一起使用,指定顯示哪個(gè)區(qū)域。

-n :取消分割多字節(jié)字符。僅和 -b 標(biāo)志一起使用。如果字符的最后一個(gè)字節(jié)落在由 -b 標(biāo)志的 List 參數(shù)指示的
范圍之內(nèi),該字符將被寫出;否則,該字符將被排除。

cut命令主要是接受三個(gè)定位方法:

第一,字節(jié)(bytes),用選項(xiàng)-b

第二,字符(characters),用選項(xiàng)-c

第三,域(fields),用選項(xiàng)-f

3.sort命令:排序

sort將文件的每一行作為一個(gè)單位,相互比較,比較原則是從首字符向后,依次按ASCII碼值進(jìn)行比較,最后將他們按升序輸出。

語  法:

sort [-bcdfimMnr][-o<輸出文件>][-t<分隔字符>][+<起始欄位>-<結(jié)束欄位>][--help][--verison][文件]

參  數(shù):

-b? 忽略每行前面開始出的空格字符。

-c? 檢查文件是否已經(jīng)按照順序排序。

-d? 排序時(shí),處理英文字母、數(shù)字及空格字符外,忽略其他的字符。

-f? 排序時(shí),將小寫字母視為大寫字母。

-i? 排序時(shí),除了040至176之間的ASCII字符外,忽略其他的字符。

-m? 將幾個(gè)排序好的文件進(jìn)行合并。

-M? 將前面3個(gè)字母依照月份的縮寫進(jìn)行排序。

-n? 依照數(shù)值的大小排序。

-o<輸出文件>? 將排序后的結(jié)果存入指定的文件。

-r? 以相反的順序來排序。

-t<分隔字符>? 指定排序時(shí)所用的欄位分隔字符。

+<起始欄位>-<結(jié)束欄位>? 以指定的欄位來排序,范圍由起始欄位到結(jié)束欄位的前一欄位。

--help? 顯示幫助。

--version? 顯示版本信息

示例:

[root@system1 Music]# cat 123

banana

apple

pear

orage

pear

[root@system1 Music]# sort -u 123

apple

banana

orage

pear

4.uniq命令:不排序只去重

uniq [OPTION]... [FILE]...

-d:--repeated 僅顯示重復(fù)的行

-u:--unique 僅顯示不重復(fù)的行

-c:--count 在前綴顯示重復(fù)的數(shù)量

注意:連續(xù)且完全相同方為重復(fù)

三、文件管理命令 cp,mv,rm

1.cp:用來將一個(gè)或多個(gè)源文件或者目錄復(fù)制到指定的目的文件或目錄。它可以將單個(gè)源文件復(fù)制成一個(gè)指定文件名的具體的文件或一個(gè)已經(jīng)存在的目錄下。cp命令還支持同時(shí)復(fù)制多個(gè)文件,當(dāng)一次復(fù)制多個(gè)文件時(shí),目標(biāo)文件參數(shù)必須是一個(gè)已經(jīng)存在的目錄,否則將出現(xiàn)錯(cuò)誤。

語法:cp(選項(xiàng))(參數(shù))

選項(xiàng):

-a:此參數(shù)的效果和同時(shí)指定"-dpR"參數(shù)相同;

-d:當(dāng)復(fù)制符號(hào)連接時(shí),把目標(biāo)文件或目錄也建立為符號(hào)連接,并指向與源文件或目錄連接的原始文件或目錄;

-f:強(qiáng)行復(fù)制文件或目錄,不論目標(biāo)文件或目錄是否已存在;

-i:覆蓋既有文件之前先詢問用戶;

-l:對源文件建立硬連接,而非復(fù)制文件;

-p:保留源文件或目錄的屬性;

-R/r:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;

-s:對源文件建立符號(hào)連接,而非復(fù)制文件;

-u:使用這項(xiàng)參數(shù)后只會(huì)在源文件的更改時(shí)間較目標(biāo)文件更新時(shí)或是名稱相互對應(yīng)的目標(biāo)文件并不存在時(shí),才復(fù)制文件;

-S:在備份文件時(shí),用指定的后綴“SUFFIX”代替文件的默認(rèn)后綴;

-b:覆蓋已存在的文件目標(biāo)前將目標(biāo)文件備份;

-v:詳細(xì)顯示命令執(zhí)行的操作。

參數(shù):

源文件:制定源文件列表。默認(rèn)情況下,cp命令不能復(fù)制目錄,如果要復(fù)制目錄,則必須使用-R選項(xiàng);

目標(biāo)文件:指定目標(biāo)文件。當(dāng)“源文件”為多個(gè)文件時(shí),要求“目標(biāo)文件”為指定的目錄。

2.mv

mv:是move的縮寫,可以用來移動(dòng)文件或者將文件改名(move (rename) files),是Linux系統(tǒng)下常用的命令,經(jīng)常用來備份文件或者目錄。

命令格式:

mv [選項(xiàng)] 源文件或目錄 目標(biāo)文件或目錄

命令參數(shù):

-b :若需覆蓋文件,則覆蓋前先行備份。

-f :force 強(qiáng)制的意思,如果目標(biāo)文件已經(jīng)存在,不會(huì)詢問而直接覆蓋;

-i :若目標(biāo)文件 (destination) 已經(jīng)存在時(shí),就會(huì)詢問是否覆蓋!

-u :若目標(biāo)文件已經(jīng)存在,且 source 比較新,才會(huì)更新(update)

-t? : --target-directory=DIRECTORY move all SOURCE arguments into DIRECTORY,即指定mv的目標(biāo)目錄,該選項(xiàng)適用于移動(dòng)多個(gè)源文件到一個(gè)目錄的情況,此時(shí)目標(biāo)目錄在前,源文件在后。

示例:

將文件111改名為001

[root@system1 Music]# ll

-rw-r--r--. 1 root root? 0 Sep 21 23:34 111

[root@system1 Music]# mv 111 001

[root@system1 Music]# ll

-rw-r--r--. 1 root root? 0 Sep 21 23:34 001

移動(dòng)文件123到目錄文件000中

[root@system1 Music]# ll

drwxr-xr-x. 2 root root? 6 Sep 21 23:37 000

-rw-r--r--. 1 root root 29 Sep 21 23:17 123

[root@system1 Music]# mv 123 000

[root@system1 000]# ll

-rw-r--r--. 1 root root 29 Sep 21 23:17 123

3.rm

可以刪除一個(gè)目錄中的一個(gè)或多個(gè)文件或目錄,也可以將某個(gè)目錄及其下屬的所有文件及其子目錄均刪除掉。對于鏈接文件,只是刪除整個(gè)鏈接文件,而原有文件保持不變。

rm [選項(xiàng)] 文件…

-d:直接把欲刪除的目錄的硬連接數(shù)據(jù)刪除成0,刪除該目錄;

-f:強(qiáng)制刪除文件或目錄;

-i:刪除已有文件或目錄之前先詢問用戶;

-r或-R:遞歸處理,將指定目錄下的所有文件與子目錄一并處理;

--preserve-root:不對根目錄進(jìn)行遞歸操作;

-v:顯示指令的詳細(xì)執(zhí)行過程。

文件:指定被刪除的文件列表,如果參數(shù)中含有目錄,則必須加上-r或者-R選項(xiàng)。

示例:

交互式刪除當(dāng)前目錄下的文件456和789

[root@system1 Music]# ll

-rw-r--r--. 1 root root? 0 Sep 21 23:34 456

-rw-r--r--. 1 root root? 0 Sep 21 23:34 789

[root@system1 Music]# rm -r 456 789

rm: remove regular empty file ‘456’? y

rm: remove regular empty file ‘789’? n

[root@system1 Music]# ll

-rw-r--r--. 1 root root? 0 Sep 21 23:34 789

刪除當(dāng)前目錄下除隱含文件外的所有文件和子目錄

[root@system1 Music]# ll

total 0

drwxr-xr-x. 2 root root 16 Sep 21 23:38 000

-rw-r--r--. 1 root root? 0 Sep 21 23:34 001

-rw-r--r--. 1 root root? 0 Sep 21 23:34 789

[root@system1 Music]# rm -rf *

[root@system1 Music]# ll

total 0

[root@system1 Music]#

四、文本文件查看類命令:cat,tac,more,less,tail,head

cat 是一個(gè)文本文件(查看)和(連接)工具,通常與more搭配使用,與more不同的是cat可以合并文件。查看一個(gè)文件的內(nèi)容,用cat比較簡單,就是cat后面直接接文件名。

cat 語法結(jié)構(gòu):

cat [選項(xiàng)] [文件]...

選項(xiàng):

-A, --show-all? ? ? ? ? 等價(jià)于 -vET

-b, --number-nonblank? ? 對非空輸出行編號(hào)

-e? ? ? ? ? ? ? ? ? ? ? 等價(jià)于 -vE

-E, --show-ends? ? ? ? ? 在每行結(jié)束處顯示 $

-n, --number? ? ? ? ? ? 對輸出的所有行編號(hào)

-s, --squeeze-blank? ? ? 不輸出多行空行

-t? ? ? ? ? ? ? ? ? ? ? 與 -vT 等價(jià)

-T, --show-tabs? ? ? ? ? 將跳格字符顯示為 ^I

-u? ? ? ? ? ? ? ? ? ? ? (被忽略)

-v, --show-nonprinting? 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外

--help? ? 顯示此幫助信息并離開

tac? ? 從最后一行倒序顯示內(nèi)容,并將所有內(nèi)容輸出

more? ? 根據(jù)窗口大小,一頁一頁的現(xiàn)實(shí)文件內(nèi)容

less? ? 和more類似,但其優(yōu)點(diǎn)可以往前翻頁,而且進(jìn)行可以搜索字符? ? head? ? 只顯示頭幾行

tail? ? 只顯示最后幾行

五、文件的時(shí)間戳管理工具:touch

touch的功能并不是用來創(chuàng)建新文件的,創(chuàng)建文件是touch命令的一個(gè)特殊情況,touch是用來修改指定的文件的訪問和修改時(shí)間屬性,如果指定的文件不存在,將建立一個(gè)新的空文件,并以當(dāng)前的時(shí)間來設(shè)置文件的訪問和修改時(shí)間。

命令格式:

touch [選項(xiàng)]。。。 文件。。。

命令參數(shù):

-a 或--time=atime或--time=access或--time=use  只更改存取時(shí)間。

-c 或--no-create  不建立任何文檔。

-d  使用指定的日期時(shí)間,而非現(xiàn)在的時(shí)間。

-f  此參數(shù)將忽略不予處理,僅負(fù)責(zé)解決BSD版本touch指令的兼容性問題。

-m 或--time=mtime或--time=modify  只更改變動(dòng)時(shí)間。

-r  把指定文檔或目錄的日期時(shí)間,統(tǒng)統(tǒng)設(shè)成和參考文檔或目錄的日期時(shí)間相同。

-t  使用指定的日期時(shí)間,而非現(xiàn)在的時(shí)間。

示例:

創(chuàng)建不存在的文件

[root@system1 Music]# touch 123 234

[root@system1 Music]# ll

total 0

-rw-r--r--. 1 root root 0 Sep 22 09:38 123

-rw-r--r--. 1 root root 0 Sep 22 09:38 234

[root@system1 Music]# touch -c 345

[root@system1 Music]# ll

total 0

-rw-r--r--. 1 root root 0 Sep 22 09:38 123

-rw-r--r--. 1 root root 0 Sep 22 09:38 234

更新111的時(shí)間和123的時(shí)間戳相同

[root@system1 Music]# ll

total 0

-rw-r--r--. 1 root root 0 Sep 22 09:40 111

-rw-r--r--. 1 root root 0 Sep 22 09:38 123

-rw-r--r--. 1 root root 0 Sep 22 09:38 234

[root@system1 Music]# touch -r 111 123

[root@system1 Music]# ll

total 0

-rw-r--r--. 1 root root 0 Sep 22 09:40 111

-rw-r--r--. 1 root root 0 Sep 22 09:40 123

-rw-r--r--. 1 root root 0 Sep 22 09:38 234

六、文件內(nèi)容類型查看命令:file

file命令用來探測給定文件的類型。

語法:file(選項(xiàng))(參數(shù))

選項(xiàng):

-b:列出辨識(shí)結(jié)果時(shí),不顯示文件名稱;

-c:詳細(xì)顯示指令執(zhí)行過程,便于排錯(cuò)或分析程序執(zhí)行的情形;

-f<名稱文件>:指定名稱文件,其內(nèi)容有一個(gè)或多個(gè)文件名稱時(shí),讓file依序辨識(shí)這些文件,格式為每列一個(gè)文件名稱;

-L:直接顯示符號(hào)連接所指向的文件類別;

-m<魔法數(shù)字文件>:指定魔法數(shù)字文件;

-v:顯示版本信息;

-z:嘗試去解讀壓縮文件的內(nèi)容。

參數(shù):

文件:要確定類型的文件列表,多個(gè)文件之間使用空格分開,可以使用shell通配符匹配多個(gè)文件。

示例:

顯示文件類型

[root@system1 ~]# ll

-rw-------. 1 root root 1614 May 18 21:04 anaconda-ks.cfg

[root@system1 ~]# file anaconda-ks.cfg

anaconda-ks.cfg: ASCII text

[root@system1 ~]# file -b -i anaconda-ks.cfg? ? ? (-i 顯示MIME類別)

text/plain; charset=us-ascii

2、使用命令行展開功能,創(chuàng)建/tmp/a1, /tmp/a2, /tmp/a1/a, /tmp/a1/b,在/tmp目錄下創(chuàng)建目錄:x_y, x_z, q_y, q_z

1、mkdir -p /tmp/{a1/{a,b},b}

2、mkdir -p /tmp/{x,q}_{y,z}

3、文件的元數(shù)據(jù)信息有哪些,分別表示什么含義,如何查看?如何修改文件的時(shí)間戳信息。

一、文件的元數(shù)據(jù)是指文件的屬性、大小、創(chuàng)建時(shí)間、訪問時(shí)間、屬主屬組等信息。

二、.三個(gè)時(shí)間戳:

? ? ? ? ? ? access time:訪問時(shí)間,簡寫atime,讀寫文件內(nèi)容

? ? ? ? ? ? modify time: 修改時(shí)間,mtime,改變文件內(nèi)容(數(shù)據(jù))

? ? ? ? ? ? change time:改變時(shí)間,ctime,元數(shù)據(jù)發(fā)生改變

三、修改文件的時(shí)間戳:touch

touch[OPTION]...FILE...

????????-a:onlyatime

????????-m:onlymtime

????????-sSTAMP:

????????????????????????[[CC]YY]MMDDhhmm[.ss]

????????-c:如果文件不存在,則不予創(chuàng)建

4、在/tmp目錄下創(chuàng)建以tfile開頭,后跟當(dāng)前日期和時(shí)間的文件,文件名形如:tfile-2016-05-27-09-32-22。

? ? ? touch tfile-`(date +%F-%H-%M-%S)`

5、復(fù)制/etc目錄下所有以p開頭,以非數(shù)字結(jié)尾的文件或目錄到/tmp/mytest1目錄中。

mkdir /tmp/mytest1 (現(xiàn)在/tmp目錄下創(chuàng)建mytest1目錄)

cp -r /etc/p*[^[:digit:]]?/tmp/mytest1


6、創(chuàng)建用戶tom,指定UID為5001,指定家目錄為/tmp/tom, 指定shell為/bin/zsh, 指定基本組為tom,附加組為jack

groupadd jack;useradd -u 5001 -d /tmp/tom -s /bin/zsh? -G jack tom

7、常用的用戶以及文件管理命令有哪些,并演示命令以及用法

(1)查看當(dāng)前用戶:whoami 和who 或者 who am i

(2)useradd :添加用戶命令

useradd [options] LOGIN

-u UID -o 配合-u 選項(xiàng),不檢查UID的唯一性

-g GID:指明用戶所屬基本組,可為組名,也可以GID

-c "COMMENT":用戶的注釋信息

-d HOME_DIR: 以指定的路徑(不存在)為家目錄

-s SHELL: 指明用戶的默認(rèn)shell程序 可用列表在/etc/shells文件中

-G GROUP1[,GROUP2,...]:為用戶指明附加組,組須事先存在 -N 不創(chuàng)建私用組做主組,使用users組做主組

-r: 創(chuàng)建系統(tǒng)用戶 CentOS 6: ID<500,CentOS 7: ID<1000

-m 創(chuàng)建家目錄,用于系統(tǒng)用戶

-M 不創(chuàng)建家目錄,用于非系統(tǒng)用戶

示例:useradd -s /bin/sh -g group –G adm,root abc 增加用戶abc,并指定它的shell ,主組和附加組

useadd 默認(rèn)配置文件/etc/default/useradd

/etc/login.defs這個(gè)文件就是用來設(shè)置用戶創(chuàng)建時(shí)默認(rèn)屬性的文件

(3)usermod:修改用戶信息命令

usermod [options] LOGIN

-u UID: 新UID

-g GID: 新主組 -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加組,原來的 附加組將會(huì)被覆蓋;若保留原有,則要同時(shí)使用-a選項(xiàng)

-s SHELL:新的默認(rèn)SHELL -c 'COMMENT':新的注釋信息

-d HOME: 新家目錄不會(huì)自動(dòng)創(chuàng)建;若要?jiǎng)?chuàng)建新家目錄并移 動(dòng)原家數(shù)據(jù),同時(shí)使用-m選項(xiàng)

-l login_name: 新的名字;

-L: lock指定用戶,在/etc/shadow 密碼欄的增加 !

-U: unlock指定用戶,將 /etc/shadow 密碼欄的 ! 拿掉

-e YYYY-MM-DD: 指明用戶賬號(hào)過期日期

-f INACTIVE: 設(shè)定非活動(dòng)期限

示例:usermod -s /bin/ksh -d /home/z –g developer sam 修改sam用戶的shell和目錄以及主組

(4)userdel 刪除用戶

userdel [OPTION]... login

-r: 刪除用戶家目錄

userdel -r sam 刪除sam用戶并清空相關(guān)目錄

(5)su 切換用戶

su [options...] [-] [user [args...]]

su - 完全切換

(6)passwd 更改密碼

passwd [OPTIONS] UserName

-l:鎖定指定用戶

-u:解鎖指定用戶

-e:強(qiáng)制用戶下次登錄修改密碼

-n mindays: 指定最短使用期限

-x maxdays:最大使用期限

-w warndays:提前多少天開始警告

-i inactivedays:非活動(dòng)期限

--stdin:從標(biāo)準(zhǔn)輸入接收用戶密碼

示例:echo magedu | passwd --stdin varnishs 非交互式更改密碼

(7)chage 修改用戶密碼策略

chage [OPTION]... LOGIN

-d LAST_DAY

-E --expiredate EXPIRE_DATE

-I --inactive INACTIVE

-m --mindays MIN_DAYS

-M --maxdays MAX_DAYS

-W --warndays WARN_DAYS

–l 顯示密碼策略

示例: chage -d 0 tom 下一次登錄強(qiáng)制重設(shè)密碼

(8)groupadd 增加組

groupadd [OPTION]... group_name

-g GID: 指明GID號(hào);

-r: 創(chuàng)建系統(tǒng)組

(9)groupmod 修改組信息

groupmod [OPTION]... group

-n group_name 新名字

-g 修改gid

示例:groupmod -n linux linux2

(10)groupdel 刪除組

groupdel GROUP

(11)chown 修改文件所屬組

chown [OPTION]... [OWNER][:[GROUP]] FILE...

-R: 遞歸

示例:chown -R myuser:mygroup /test

chown myuser test

chown :mygroup test 修改test所屬組

(12)chmod 修改文件權(quán)限 (rwxX)(421)

chmod [OPTION]... OCTAL-MODE FILE...

-R: 遞歸修改權(quán)限

對于文件來說rwx分別是可讀可寫可執(zhí)行權(quán)限

對于目錄目錄r權(quán)限可以看到文件列表~ w可以刪文件 x可以進(jìn)入目錄和文件具體屬性 無法操作該目錄 目錄基本權(quán)限

+X:只給目錄x權(quán)限,不給文件x權(quán)限,或者給有執(zhí)行權(quán)限的文件 加執(zhí)行權(quán)限 如-rwxrw-rw- 變成 -rwxrwxrwx

root不受rw限制受x權(quán)限限制

示例:chmod u+wx,g-r,o=rx file

chmod -R g+rwX /testdir 給目錄的所屬組遞歸增加rwx權(quán)限,該目錄下文件所屬組只增加rw權(quán)限

chmod 600 file

(13)SUID, SGID, Sticky 特殊權(quán)限

suid u+s 4777 作用于二進(jìn)制程序,權(quán)限與程序所有者有關(guān)

guid g+s 2777 作用于二進(jìn)制程序,權(quán)限與程序所屬組有關(guān);作用于文件夾中,文件夾里新建文件繼承目錄所屬組

stick o+t 1777 作用目錄,此目錄的文件只能被所有者刪除

chattr +i +a(只能追加) 鎖定文件 +A 不能修改atime(訪問時(shí)間) lsattr file查看特殊權(quán)限

(14)umask 系統(tǒng)默認(rèn)生成權(quán)限

新建FILE權(quán)限: 666-umask 如果所得結(jié)果某位存在執(zhí)行(奇數(shù))權(quán)限,則將其權(quán)限+1 (結(jié)果偶數(shù)不變,奇數(shù)加一)

新建DIR權(quán)限: 777-umask

(15)ACL高級(jí)權(quán)限

centos6版本需要手動(dòng)加acl權(quán)限功能

tune2fs –o acl /dev/sdb1

mount –o acl /dev/sdb1 /mnt/test

ACL生效順序:所有者,自定義用戶,自定義組,其他人

應(yīng)用ACL后 文件本身組權(quán)限變成acl中的mask,而非傳統(tǒng)的組權(quán)限

常用命令

getfacl: 獲取文件或目錄的ACL設(shè)置信息getfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...-a , --access:顯示文件或目錄的訪問控制列表

-d , --default:顯示文件或目錄的默認(rèn)(缺省)的訪問控制列表-R , --recursive:操作遞歸到子目錄

setfacl: 設(shè)置文件或目錄的ACL設(shè)置信息setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...-m, --modify=acl:修改文件或目錄的擴(kuò)展ACL設(shè)置信息

-x, --remove=acl:從文件或目錄刪除一個(gè)擴(kuò)展的ACL設(shè)置信息-b, --remove-all:刪除所有的擴(kuò)展的ACL設(shè)置信息-k, --remove-default:刪除默認(rèn)的acl設(shè)置信息-n, --no-mask:不要重新計(jì)算有效權(quán)限。setfacl默認(rèn)會(huì)重新計(jì)算ACL mask,除非mask被明確的制定-d, --default:設(shè)置默認(rèn)的ACL設(shè)置信息(只對目錄有效)-R, --recursive:操作遞歸到所有子目錄和 文件

示例:getfacl file

setfacl -m u:wang:rwx txt

setfacl -Rm g:sales:rwX directory

setfacl -m d:u:wang:rx /data 設(shè)定該目錄的默認(rèn)權(quán)限,只對目錄有效 或者setfacl -dmu:wang:rx /data

setfacl -x u:wang file 移除設(shè)置好的wang賬號(hào)對該文件權(quán)限

備份和恢復(fù)ACL

主要的文件操作命令cp和mv都支持ACL,只是cp命令需要 加上-p 參數(shù)。

但是tar等常見的備份工具是不會(huì)保留目錄 和文件的ACL信息

getfacl -R /tmp/dir1 > acl.txt 把目錄的acl保存在acl.txt文件中

setfacl -R -b /tmp/dir1 刪除該目錄所有acl權(quán)限

setfacl -R --set-file=acl.txt /tmp/dir1 恢復(fù)權(quán)限到目錄中

setfacl --restore acl.txt

getfacl -R /tmp/dir1 查看目錄acl權(quán)限

(16)pwck grpck 檢查/etc/passwd 和 /etc/group 文件正確性

用文件批量創(chuàng)建用戶密碼: newusers chpasswd

創(chuàng)建user文件,寫入用戶列表,格式與/etc/passwd 一致

如:

postfix:x:89:89::/var/spool/postfix:/sbin/nologin

ntp:x:38:38::/etc/ntp:/sbin/nologin

tcpdump:x:72:72::/:/sbin/nologin

tomcat:x:1001:1002::/home/tomcat:/bin/bash

tom:x:5001:5001::/tmp/tom:/bin/zsh

然后newusers txt 創(chuàng)建這些用戶

在創(chuàng)建password文件,格式

用戶:密碼

tomcat:123456

tom:123456

然后cat password |chpasswd 自動(dòng)添加密

newgrp 切換當(dāng)前用戶主組

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、文件權(quán)限管理類命令1.chownchown將指定文件的擁有者改為指定的用戶或組,用戶可以是用戶名或者用戶ID;...
    靜靜唄閱讀 438評論 0 0
  • 1.列出當(dāng)前系統(tǒng)上所有已經(jīng)登錄的用戶的用戶名,注意多次登錄顯示一次即可 2.取出最后登錄到當(dāng)前系統(tǒng)的用戶的相關(guān)信息...
    LLaw熊貓閱讀 200評論 0 0
  • 1、列出當(dāng)前系統(tǒng)上所有已經(jīng)登陸的用戶的用戶名,注意:同一個(gè)用戶登陸多次,則顯示一次即可。 2、取出最后登陸到當(dāng)前系...
    maomao妞閱讀 303評論 0 1
  • 一、列出當(dāng)前系統(tǒng)上所有已經(jīng)登錄的用戶的用戶名,注意:同一個(gè)用戶登錄多次,則只顯示一次即可。 二、取出最后登錄到當(dāng)前...
    N32_Diamond閱讀 393評論 1 0
  • 1、列出當(dāng)前系統(tǒng)上所有已經(jīng)登錄的用戶的用戶名,注意:同一個(gè)用戶登錄多次,則只顯示一次即可。 who | cut -...
    andrewjs閱讀 289評論 0 0

友情鏈接更多精彩內(nèi)容