1. 程式人生 > >第4天【文件管理、管道、用戶及組管理、用戶及權限管理】

第4天【文件管理、管道、用戶及組管理、用戶及權限管理】

std 有效 i/o 屏幕 顯示行數 私有 文本處理 txt $path

Bash的I/o重定向及管道

管道:使用豎杠符號‘|’表示,用於將前面命令的命名輸出結果作為命名後的操作對象。

重定向輸出:使用大於符號”>”表示,前面的命令成功執行以後,其屏幕輸出結果將保存到“>”好後面的指定文件中,而不是直接輸出到屏幕,因此成為重定向。

輸出重定向

#:set –C : 禁止將內容覆蓋輸出至已有文件中,只對當前終端有效;

#:set +c:關閉

>:覆蓋重定向; ls /etc/ > /tmp/fstab.txt

強制覆蓋:cat /etc/fstab >| /tmp/fstab.txt

>>:追加重定向;ls /etc >> /tmp/etc.out

標準錯誤輸出重定向

2>,覆蓋重定向錯誤輸出數據流

Cat /etc/issueee 2> /tmp/issue.txt

2>>,追加重定向錯誤輸出數據流

&>:合並標準輸出和錯誤為同一個數據流進行重定向,覆蓋

&>>:合並標準輸出和錯誤為同一個數據流進行重定向,追加;

輸入重定向: <

管道

Echo ‘$PATH’

Echo ‘$PATH’ | tr ‘a-z’ ‘A-Z’

Echo ‘$PATH’ | tr ‘a-z’ ‘A-Z’ | tr –d ‘U’

文本處理工具:

Wc,cut,sort,uniq

WC:

-l:顯示行數

-w:顯示單詞個數

-h:以更人性化的方式顯示出統計結果,而不僅僅統計目錄。

-c:顯示字節數

Cut:

Cut –d:-f1,7 /etc/passwd

-d:指明分隔符

-f:指定字段

#:第#個字段

#,#{.#}:離散的多個字段,例如:1,3,6

#-#:連續的多個字段,例如:1-6

Sort:

Sort /etc/passwd 排序

Sort -r /etc/passwd 逆序

-f:忽略字符大小寫

-r:逆序

3:用戶及組管理(03)_recv

Linux用戶及權限管理:

Linux組的類別:

用戶的基本組(主組)

組名同用戶名,且僅包含一個用戶,也可以稱私有組

用戶的附加組(額外組)

Linux 用戶和組的相關配置文件:

/etc/passwd :保存用戶及其屬性信息。

root:x:0:0:root:/root:/bin/bash

用戶名:密碼:UID:GID:用戶的完成信息:主目錄:默認Shell

/etc/group :組及其屬性信息

group_name:passwd:GID:user_list

組名:組密碼:組ID:以當前組為附加組的用戶列表

/etc/shadow :用戶密碼及其相關屬性;

root:$1$aQKPXX0F$pfYtvBEoG6TDlKUG3PY5m/:16966:0:99999:7:::

登錄名:密碼:最進一次更改密碼的日期:密碼的最小使用期限:密碼的最大使用期限:密碼警告時間段:密碼禁用期:賬戶的過期日期:保留字段;

設置用戶名密碼:echo “redhat” | passwd –stdin jerry

/etc/gshadow :組密碼及其相關屬性;

用戶和組相關的管理命令useradd

用戶創建:useradd tom

Tail -1 /etc/passwd

-u:指定創建用戶的ID號

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

-c:註釋信息 useradd –c “user 4” user 4

-d:指定用戶的家目錄;useradd –d /home/blair user5

Tail –n 1 /etc/passwd

-s:指定用戶的登陸sheell名。Useradd –s /bin/tcsh user6

Tail –n 1 /etc/passwd

-G:用戶屬於的附加組。 Useradd –G mygrp user7

Id user7

-r:創建系統用戶

默認值設定:/etc/default/useradd

4:用戶及權限管理(04)_recv

Groupadd命令:

-g:指明組的GID;

-r:創建一個系統組;

ID命令

Su

用戶屬性修改usermod

-d:指定新的家目錄;

修改家目錄時帶-m選項,要不是切換用戶失敗

格式:usermod –d /home/momenew –m user1

-u:指定UID;

-s:新shell;

-c:新的註釋信息;

-g:新的基本組;

-G:新的附加組;可以寫多個,逗號隔開

新附加組,原來的附加組將會被覆蓋,若保留原有,則使用-a

格式:usermod -a -G aa,bb gentoo

-l:修改新的登陸名;

-e:用戶賬戶將被禁用的日期,日期以:YYYY-MM-DD格式;

-f:密碼過期之後,賬戶徹底禁用之前的天數。

-L:鎖定用戶賬戶;

Usermod –L user5

Tail /etc/passwd #密碼第一個字符會是!號;

-U:解鎖用戶的密碼;

給用戶添加密碼:passwd

Passwd username:修改指定的用戶的密碼,僅root用戶權限

Passwd:修改自己的密碼

常用選項:

-l:鎖定指定用戶

-u: 解鎖指定用戶

-n:指定最短使用期限

-x:最大使用期限

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

-i:非活動期限

--stdin:從標準輸入接受用戶密碼

Echo “PASSWORD” | passwd –stdin suer1

-e:用戶賬戶被禁用的日期,日期以YYYY-MM-DD格式指定

-f:密碼過後期間之後,賬戶徹底禁用之前的天數

刪除用戶:userdel

Userdel:

-r:刪除用戶家目錄;userdel –r user4

組屬性修改:groupmod

-n:group_name新名字;

-g:新的GID

組刪除:groupdel

Groupdel group_name

組密碼:gpasswd

Pwck:檢查密碼文件的完整性;

Newgrp mygrp 臨時切換基本組

主要管理:/etc/group和/etc/gshadow

設置組密碼:gpasswd mygrp

-a USER:將用戶添加至組中。

Gpasswd –a user1 mygrp 將用戶user1加入mygrp組,ID user1 查看

-d USER:刪除一個用戶的附加組;

Gpasswd –d user1 mygrp 將用戶的附加組mygrp刪除;

. -A USER1,USER2:設置有管理權限的用戶列表;

Gpasswd –A tom,jerry root

-M:設置組成員列表;

其他:chcn,chsh,

Chcn:修改用戶備註信息

Chcn tom

Chsh:修改默認shell

Chsh tom

命令總結:useradd,groupadd,su,id,usermod,userdel,groupmod,groupdel,passwd,newgrp,pwck,gpasswd,chage,chsh,chfn,finger.

權限管理:

文件的權限主要針對三類對象進行定義:

Owner:屬主,u

Group:屬組,g

Other:其他,o

    --- 000 0

    --x 001 1

    -w- 010 2

    -wx 011 3

    r— 100 4

    r-x 101 5

    rw- 110 6

    rwx 111 7

對於文件而言:

-R:可使用文件查看類工具獲取其內容

W:可修改其內容

X:可吧此文件提請內核啟動為一個進程;

對於目錄而言:

R:可以使用ls查看此目錄中文件列表;

W:可在此目錄中創建文件,也可以刪除此目錄中的文件;

X:可以使用ls –l查看此目錄中的文件列表,可以cd進入此目錄;

修改文件權限Chmod

1:Chmod 640 a.txt

Chmod 775 test目錄

-R:遞歸修改權限;

Chmod –R 775 test ;目錄下的所有文件修改權限;

2: u=, g= ,o=

gb=, a=, u=,g=

u+, u-,g+,g-

修改文件的屬主和屬組:

只有管理員操作;

Chown [OPTOON]…[OWNER] FILE

文件或目錄umask:

FILE: 666-umask

Note:如果某類的用戶權限減的結果中存在x權限,則將其權限+1;

Dir:777-umask

Umask:查看

Umask #:設定umask

第4天【文件管理、管道、用戶及組管理、用戶及權限管理】