Linux常用命令之一:
學習目標:
1)使用者管理命令;
2)基本的檔案和目錄操作命令;
一、Linux使用者管理命令
1)修改密碼命令:passwd
root帳號可無條件的修改任何使用者的密碼;
使用者本身也可以用它來修改自己的密碼;如果使用者本身已經設定了密碼,則在修改密碼時需要輸入舊密碼。
註:密碼最短位元為5,在檔案/etc/login.defs中有定義:
PASS_MIN_LEN 5
2)增加新使用者(root使用者才能使用)命令
useradd 或者是adduser
eg:useradd hongqt
此命令執行後,作業系統作了下面的事情:
a)在/home下建立了新的目錄hongqt;並放置一些常用的設定檔如.bashrc等到使用者的主目錄中。
b)在/etc/passwd、/etc/shadow和/etc/group中增加了相應的項目
分析passwd和shadow檔案
以下是passwd中與hongqt帳號相關的行。
hongqt:x:500:500::/home/hongqt:/bin/bash
以":"分開的各個域分別對應使用者名稱、影子口令、使用者ID、組ID、使用者主目錄、登入時使用的SHELL。
以下是shadow與hongqt帳號相關的行。
hongqt:$1$nm9vZ1R6$7dqiVpW3N2z/pKEJCoQOe.:12365:0:99999:7:::
以":"分開的各個域分別對應使用者名稱、加密口令、口令上一次修改時間(從1970年1月1日算起)、口令在兩次修改間的最小間隔天數、口令生存周期、口令到期後被禁用的天數、保留網域。
注意:root帳號也可以直接修改/etc/passwd和/etc/group檔案以增加新的使用者或者使用者組。
小技巧:
暫停使用者登入的辦法:
a)編輯/etc/nologin檔案,把暫時要禁用的帳號放進去,每個帳號佔一行;
b)修改/etc/passwd的shell域為/dev/null或者/sbin/nologin
若想讓使用者不輸入任何密碼就可以登入系統,可以把/etc/passwd中與帳號相關的行中的影子口令網域設定為空白
即可。
hongqt:x:500:500::/home/hongqt:/bin/bash===>hongqt::500:500::/home/hongqt:/bin/bash
c)如何直接讓root帳號能遠程登入來管理系統
為了安全性著想,linux系統不允許使用 root 帳號直接從遠端telnet進入系統。要是想使用 root 身份管理系統的話,一般先用普通使用者帳號進入系統,再執行 su 命令轉成root使用者。
不過有時為了偷懶,我喜歡直接用root身份telnet進入系統。要怎樣實現呢?(針對redhat版本的linux系統)
限制root使用者直接telnet進入系統這個功能是使用 pam 的機制來處理的。
在 /etc/pam.d/login 檔案內可以找到:
auth required /lib/security/pam_securetty.so
這個 pam_securetty.so 檔案會去讀取 /etc/ 目錄下的 securetty檔案,當使用者登入的 tty 位置在 /etc/securetty 檔案中有紀錄的話,才會允許這個連線的使用者使用 root 帳號登入主機。所以我們只要在這一行的最前面加上一個“#”號屏蔽掉這一行就可以了 。
注釋:什麼是PAM機制?=======>相關串連:Linux的安全機制
http://edu.sina.com.cn/l/2001-10-26/17411.html
3)增加使用者組groupadd(root可用)
eg:groupadd test
也可以直接修改/etc/group檔案增加新的使用者組。格式可參照其它使用者。
增加使用者到某個組
格式:gpasswd -a username groupname
eg:gpasswd -a hongqt root
4)刪除使用者:
userdel 使用者名稱(注意:此命令不會刪除使用者主目錄中的資料)
以root許可權進入/home目錄後可以用rm -rf 使用者名稱來刪除使用者資料
userdel -r 使用者名稱(注意:此命令可同時刪除使用者主目錄中的資料)
5)刪除使用者組
groupdel 使用者組名
二、linux中的目錄操作命令
1)顯示當前工作目錄命令pwd;
2)改變當前工作目錄的命令cd
典型用法:
a)cd 或者 cd ~ 功能:回到使用者主目錄
b)cd / 功能:回到"/"目錄
c)cd .. 功能:回到上一級目錄
d)cd /etc/pam.d/ 功能:進入某一絕對目錄
e)cd - 功能:在最近的兩次目錄間進行切換。
3)查看目錄命令ls
典型用法:
ls -a 列出某目錄下的全部檔案
ls -l 列舉目錄內容的細節,顯示檔案或者目錄的許可權、所有者、建立日期、時間、大小等資料。
ls -F 在每個列出的檔案或者目錄項目後加一個符號表示檔案類型,如符號為"/"則表示顯示項目為一個目錄,"*"表示顯示項目為一個可執行檔,"@"表示一個串連檔案
ls -R 遞迴顯示,類似於dos命令中的tree 命令
ls -S 按檔案大小排序顯示(由大到小);
以上參數可組合使用
關於檔案和目錄顏色
# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
# Background color codes:
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white
常見的:
目錄為藍色;普通檔案為白色;壓縮檔為紅色;可執行檔為綠色;串連檔案為青色;裝置檔案
為黃色。
4)mkdir 建立目錄命令(詳見書P70)
5)rmdir 刪除目錄命令(詳見書P71)
三、檔案操作命令
1)建立檔案touch filename可建立一個空檔案。
2)複製檔案命令cp
命令格式:
cp <參數> 源檔案或目錄 目標檔案或目錄
eg:
cp /etc/passwd /home/test/ok.pass 拷貝單個檔案
cp /etc/*.conf ~/ 拷貝/etc/目錄中的所有conf檔案到使用者主目錄中
cp -R ~/ok/ /tmp 將使用者目錄下的ok目錄整個拷貝到/tmp目錄中。
3)關於檔案許可權
當我們使用命令ls -l /etc時,顯示項目的最前面有類似於下面這樣的一行:
-rw-r--r-- 1 root root 864 Feb 25 2003 warnquota.conf
~~~~~~
許可權位
使用使用權限設定可以防止系統被故意篡改。
許可權位共有10位
/---------------------------------------------All---------------------------------------/
最高位 1 2 3 4 5 6 7 8 9
-或d或l r w x r w x r w x
/---------user rights----/ /------group rights------/ /--other user rights----/
-普通檔案
-d目錄檔案
-l串連檔案
對於檔案和目錄而言,r、w、x表示不同的含義,詳見書P51
如何修改使用者權限:chmod命令
chmod <使用權限設定> <filename or directory name>
使用權限設定中是下面三種方式的組合
a + r
u - w
g = x
o
"+":增加許可權
"-":刪除許可權
"=":設定唯一許可權
例如:
chmod g+w ~/ok.txt 表示為同一組的使用者增加對檔案ok.txt的寫入權限
chmod u+x ~/ok.txt 表示為使用者自己增加對檔案ok.txt的執行許可權
chmod o-rwx ~/ok.txt 表示為其它使用者刪除對檔案ok.txt的所有許可權
chmod g=rx filename 表示為同組的使用者佈建對filename的讀和執行許可權
自己思考:
chmod a-x filename