linux幫助|編輯器|基本權限-----宋軼聰

linux幫助|編輯器|基本權限

那麼我們學習了這麼多命令 又有那麼多參數 該如何記憶呢?

 

幫助


怎麼查看命令幫助

ls --help

man ls

man 的類型章節 重點 1 用戶命令 5 配置文件 8 管理員命令

 

幫助的閱讀方法

  • ...代表可重複  

  • []代表可選擇

  • {}<>代表必選項

  • |代表其中之一

info

 類似瀏覽網頁 有連接 比man更全面

TAB尋找*連接

?幫助

man 和 info 也有搜索功能

rpm包自帶的幫助文檔

/usr/share/doc/

網絡

 

vim 編輯器


模式切換:

  • 編輯模式

  • 命令模式

  • 命令行模式

 

字符操作

  • i 當前插入

  • I 行首插入

  • a 當前字符之後插入

  • A 行尾插入

  • o 下一行插入

  • O 上一行插入

  • x 向後刪除一個字符

  • X 向前刪除一個字符

  • u 撤銷一步

  • U 撤銷所有更改

  • c 剪切

  •      行操作

  • ^ 行首 $行尾

  • dd 刪除一行 Ndd

  • yy 複製一行 Nyy

  • p  將複製行粘貼 P上粘

 

詞操作

  • dw 刪除一個詞

  • yw 複製一個詞

                塊操作

  • d$ 刪至行尾 d^ 刪至行首

  • y$ 複製至尾 y^ 複製至首

  • v 模式

              進入v模式 移動光標選擇區域

     

VIM命令行操作

  • :%s/old/new/g

  • :set nu/nonu

  • :e! 重新讀入

  • / 正查

  • ? 反查

  • : !ls 調用系統命令

 

vim 的練習作業

vimtutor

如果亂碼 用gedit打開 另存爲UTF-8

 

用戶管理 (增刪改查)


用戶都存儲哪些信息?

 

用戶名    密碼    用戶   識別碼  UID   組識別碼   GID    家目錄   HOME    shell    備註

 

linux系統是支持多用戶的系統

用戶分爲三種以UID來區分

超級用戶 UID = 0 在系統中擁有至高無上的權限.

系統用戶 UID 1-499 bin,ftp,mail等,不具備登錄系統的權利,卻是系統運行不可缺少的.

普通用戶 UID 500-60000  管理員建立的用戶.密碼和權限都由管理員制定.

 

羣組都存儲哪些信息?

 

組名   組密碼    組識別碼     組成員

 

Linux系統中的組是把一系列具有相同屬性的用戶加以規劃後的集合.

組也是分種類的 用GID來標識

超級組 GID = 0

系統組 GID = 1-499

普通組 GID = 500-60000

 

添加 修改 刪除 登錄

useradd

  • -u UID

  • -d 主目錄

  • -g GID

  • -G 附屬組

  • -s 登錄使用的SHELL

 

passwd

  • -d 刪除口令

  • -S 查看密碼狀態

  • -x 密碼最大時間

  • -n 密碼最小時間

  • -w 密碼警告時間

  • -i 密碼過期鎖定時間

  • --stdin 非交互添加密碼

 

echo "123" | passwd --stdin seker

 

id

查看驗證

主要屬組與附屬組

主要屬組:每一個用戶都必須有且只有一個主要屬組,因爲文件在建立時就會使用到主屬組

 附屬組  :每一個用戶可以加入其它組,這些組被稱爲用戶的附屬組

需要注意的是一個用戶建立時,如果不明確指定,則系統自動建立一個與用戶名相同的羣組

同時將這個羣組也設置爲該用戶的附屬組

他們都是爲了linux內的系統權限分派而存在的.

用戶創建的流程

/etc/passwd

/etc/shadow

/etc/group

/etc/gshadow

mkdir /home/username

cp /etc/ske1/.* /home/username

chown username:username /home/username

演示手動創建用戶

 

建立用戶後如何更改

usermod

  • -u UID

  • -d 主目錄

  • -g GID

  • -G 附屬組

         userdel

  • -r 刪除主目錄及其文件

 

su  切換用戶

    以root用戶切換其他用戶則不需要密碼

    而其他用戶做任何切換都需要密碼

su -

    加 - 與不加 - 的區別

  • 加- 方法切換身份,相當於重新登陸,此時用戶的家目錄和PATH等信息會發生改變,和直接用root登陸一致

  • 不加- 切換身份後用戶的家目錄和PATH仍然是原先用戶的家目錄和PATH

[seker@lan2 ~]$ id

uid=502(seker) gid=503(zorro) groups=502(seker),503(zorro)

 

[seker@lan2 ~]$ su root

口令:

[root@lan2 seker]# ifconfig

bash: ifconfig: command not found

[root@lan2 seker]# pwd

/home/seker

[root@lan2 seker]# echo $PATH

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/seker/bin:/home/seker/bin

[root@lan2 seker]# exit

exit

[seker@lan2 ~]$ id

uid=502(seker) gid=503(zorro) groups=502(seker),503(zorro)

[seker@lan2 ~]$ su - root

口令:

[root@lan2 ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:F9:41:37

[root@lan2 ~]# pwd

/root

[root@lan2 ~]#

       這是爲什麼呢?我們都知道,有些命令是隻有管理員才能使用的,一般用戶沒有權限.就像本例中的 ifconfig.

用第二種方法切換身份,相當於重新登陸,此時用戶的家目錄和PATH等信息會發生改變,和直接用root登陸一致;

但第一種情況,切換到root身份後用戶的家目錄和PATH仍然是原先一般用戶的家目錄和PATH,

我們知道,PATH裏設置的是一些路徑,指向一些目錄,這些目錄包含着一些常用的工具.

如果你的PATH沒有設置相應的路徑,那麼直接運行ifconfig系統肯定會找不到ifconfig工具在哪裏.所以會提示:沒有這個命令.

 

切換組

gpasswd sekergroup

su - zorro

sg - sekergroup

xxx xxx

id

gpasswd -r sekergroup  清除密碼

 

登錄後檢查

whoami  查看當前用戶身份

who 登錄本機用戶及來源,+表示mesg是否開啓接收的標誌

w 登錄用戶在做什麼

id 驗證用戶和查看用戶的羣組

users 都有哪些登錄用戶

 

退出登陸

exit   退出登陸shell

logout 退出非登錄shell

演示

[root@lan2 ~]# bash

[root@lan2 ~]# logout

bash: logout: not login shell: use `exit'

[root@lan2 ~]#

 

基本權限


對於一個文件他具備

  • 讀r

  • 寫w

  • 執行x

 

- rwx rwx rwx root root

第一個字符標識文件的類型,

之後9個字符,每三個爲一組,分別對應後面的用戶所具有的權限

第一個root是用戶 第二個root是組 前兩組就與此對應

 

那麼最後一組是給誰用的呢?

畫個系統用戶集合圖

三個權限:

  • 第一部分:是所屬用戶(屬主user),

  • 第二部分:是用戶屬組group,

  • 第三部分:剩餘部分則是第三組權限,我們稱它爲other,也就是既不是屬主又不是屬組中的成員

 

文件的:

r (read)對應的系統命令 cat

w (write)對應的系統命令 vi echo >

x (eXcute)執行 例如 ls

 

目錄的權限說明:

  • x  進入目錄 cd           只能進入目錄

  • rx 讀目錄裏的內容(目錄裏存放着其包含的文件和子目錄名字) cd + ls   可進入目錄並列表

  • wx 刪除和移動目錄中的文件和子目錄 mv rm  可操作目錄和子目錄和文件

 

獲取權限的流程

開始 --_> root --> 給予所有權限 -------/

     |--> user --> 分派user位權限-------/結束

     |--> group--> 分派group位權限------/

     |--> other--> 分派other位權限-----/

 

更改文件擁有者

chown user file 更改屬主

chown :group file 更改屬組

chown user:group file 主和組一同更改

-R 參數 遞歸更改

 

更改文件權限 (兩種方式 字符和數字)

  字符模式

賦值操作

chmod u=rwx file

chmod g=rx file

chmod o=r file

組合操作

chmod ug=rw file

chmod u=rwx,g=rx,u=x file

chmod a=rwx file

加減運算

chmod +x file

chmod ugo-x file

  數字模式

rwx rwx rwx

421 421 421

 7   7   7

3=1+2; 5=4+1; 6=4+2;7=4+2+1

chmod 644 file

chmod 755 dir

系統默認權限

 umask

[root@lan2 seker]# umask

0022

[root@lan2 seker]# mkdir mask022_dir

[root@lan2 seker]# touch mask022_file

[root@lan2 seker]# umask 002

[root@lan2 seker]# mkdir mask002_dir

[root@lan2 seker]# touch mask002_file

[root@lan2 seker]# ll mask0* -d |awk '{print $1,$NF}'

drwxrwxr-x mask002_dir

-rw-rw-r-- mask002_file

drwxr-xr-x mask022_dir

-rw-r--r-- mask022_file

[root@lan2 seker]#

 

【課後練習】

第二天練習

1.

  1).手動建立兩個用戶 oracle 和 webapp

  2).建立一個uplooking組,將這個組設置爲 oracle 和 webapp 用戶的附加組

  3).修改oracle的家目錄爲 /oracle ,修改webapp的家目錄爲 /webapp

  4).將oracle用戶的登錄shell改爲ksh,將webapp用戶關閉掉,禁止他登陸

  5).爲oracle組添加密碼,切換到webapp用戶,將webapp的主組切換成oracle,測試完畢後刪除組密碼

  6).開啓一個終端用oracle用戶登錄,再開啓一個新的終端用root刪除oracle用戶,是否能刪

  7).將uplooking組,oracle,webapp全部刪除.

2.su   加 - 與不加 - 的區別

[seker@lan2 ~]$ id

uid=502(seker) gid=503(zorro) groups=502(seker),503(zorro)

[seker@lan2 ~]$ su root

口令:

[root@lan2 seker]# ifconfig

bash: ifconfig: command not found

[root@lan2 seker]# pwd

/home/seker

[root@lan2 seker]# echo $PATH

/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/home/seker/bin

[root@lan2 seker]# exit

exit

[seker@lan2 ~]$ id

uid=502(seker) gid=503(zorro) groups=502(seker),503(zorro)

[seker@lan2 ~]$ su - root

口令:

[root@lan2 ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:F9:41:37

[root@lan2 ~]# pwd

/root

[root@lan2 ~]#

       思考原因爲什麼呢?

3.

1).將RHEL5的光盤製作成iso文件,再掛載到/mnt下.將裏面的所有文件複製到/var/ftp/pub/rhel5u3下一份.(注意,所選的光盤一定要和你當前系統的版本相符合)

2).兩人一組,分別以root身份和普通用戶身份登錄到對方機器上,檢測對方在做什麼,並給其發送信息

3.vim 編輯器

自建一個模板文件,聯繫vim編輯器,按字符,詞,行,塊這個順序練習

        模式切換:輸入模式 命令模式 命令行模式

     字符操作

        i 當前插入     I 行首插入

        a 當前字符之後插入   A 行尾插入

        o 下一行插入   O 上一行插入

        x 向後刪除一個字符   X 向前刪除一個字符

        u 撤銷一步  U 撤銷所有更改

     行操作

        ^ 行首 $行尾     dd 刪除一行 Ndd     yy 複製一行 Nyy        p  將複製行粘貼 P上粘        

     詞操作

        dw 刪除一個詞    yw 複製一個詞

     塊操作

        d$ 刪至行尾 d^ 刪至行首

        y$ 複製至尾 y^ 複製至首

        v 模式

                進入v模式 移動光標選擇區域

     VIM命令行操作

        :%s/old/new/g

        :set nu/nonu

        :e! 重新讀入

        / 正查

        ? 反查

        : !ls 調用系統命令

4.

1).

# useradd abc

# echo 123 | passwd --stdin abc

# umask 200

# touch /home/abc/root_file

# chmod +x !$

chmod +x /home/abc/root_file

# chown abc:abc !$

chown abc:abc /home/abc/root_file

# ll !$

ll /home/abc/root_file

-r-xrw-rwx 1 abc abc 0 06-24 16:31 /home/abc/root_file

#

問:此時abc用戶能否刪除root_file,先思考得出你的答案,再動手驗證是否和你思考的結果吻合.

2).

# touch test.txt

# chmod 777 test.txt

# chmod -w test.txt

真的能夠得到 r-xr-xr-x 的結果嗎?

3).

  1).建立三個普通用戶seker,zorro,shrek.用root用戶在/root目錄中建立一個文件abc.txt

  2).使seker用戶既能讀又能寫abc.txt文件,但不能刪除

     使zorro用戶只能讀取,不能寫也不能刪這個文件

     使shrek用戶只能刪除,不能讀寫這個文件.

以上三個條件同時成立

 

 

【課後練習】

1.

  1).在/opt目錄中分別建立五個文件,大小分別爲10M 13M 15M 17M 20M.

  2).並將文件mtime依次修改爲1天前日期,3天前日期,5天前日期,7天前日期,9天前的日期.

  3).搜索/opt目錄中,大小超過18M的所有文件,並以長列表的方式顯示出來.

  4).搜索/opt目錄中,大小在小於13M或大於16M的所有文件,並將其複製到/mnt下去.

  5).搜索/opt目錄中,大小在大於16M且小於17M的文件,並將其改名爲new_file.

  6).搜索/opt目錄中名字以fil開頭所有文件,並將其全部刪除.

  7).再按時間匹配進行搜索 -mtime +3 , -mtime -3 , -mtime 3 這幾個參數去搜索.測試出+3 -3 3的各自含義是什麼?

2.

某天你建了一個文件,又做了個硬鏈接到 /etc/ 下

# echo "slkdjf" >> file_1

# ln file_1 /etc/my_file

時隔多日,你忘記了以前的操作.不知道硬鏈接建到了什麼地方..

只能看到文件的連接數是2

# ll file_1

-r--rw-rw- 2 root root 7 06-24 16:49 file_1

#

請找出那個忘記位置的硬鏈接文件.

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