LINUX學習—使用者命令和許可權
使用者、組、許可權
許可權:
r,w, x
- 檔案:
-- r:可讀,可以用cat檢視檔案內容
-- w:可寫
-- x:可執行
- 目錄:
-- r:可以對此目錄執行ls以列出內部的 所有檔案:
-- w:可以在此目錄建立檔案;
-- x:可以使用cd切換進此目錄,也可以使用ls -l檢視內部檔案的詳細資訊;
使用者:UID /etc/passwd
組:GID /etc/group
解析:名稱解析
使用者類別:
管理員:0
普通使用者:1-65535
系統使用者:1-499
一般使用者:500-60000
/etc/passwd
account:登入名
passwd:密碼
UID: 使用者ID
GID: 基本組ID
comment: 註釋
HOME DIR:家目錄
SHELL: 使用者的預設shell
/etc/shadow
account:
encrpted passwd:加密密碼
加密方法:
對稱加密:加密和解密使用同一密碼:
公鑰加密:每個密碼都成對兒出現,一個為私鑰(secret key),一個為公鑰(public key)
useradd USERNAME
groupadd GROUPNAME
使用者管理
命令:useradd, userdel, usermod, passwd, chsh, chfn, finger, id, chage.
useadd
useradd命令用於Linux中建立的新的系統使用者。useradd可用來建立使用者帳號。帳號建好之後,再用passwd設定帳號的密碼.而可用userdel刪除帳 號。使用useradd指令所建立的帳號,實際上是儲存在/etc/passwd文字檔案中。
useradd [options] USERNAME
-u:UID
-g:GID(基本組)
-G:GID,…..(附加組)
-c:“COMMENT”
-d:/path/to/somedirectory 指定某個目錄 ,如果不指定直接在home目錄下建立與使用者名稱同名的目錄
-s:SHELL路徑
/etc/shells:指定了當前系統可用的安全shell
userdel
-r:同時刪除使用者的家目錄,預設不會刪除使用者家目錄;
id
id命令可以顯示真實有效的使用者ID(UID)和組ID(GID)。UID 是對一個使用者的單一身份標識。組ID(GID)則對應多個UID。id命令已經預設預裝在大多數Linux系統中。要使用它,只需要在你的控制檯輸入id。不帶選項輸入id會顯示如下。結果會使用活躍使用者。
當我們想知道某個使用者的UID和GID時id命令是非常有用的。一些程式可能需要UID/GID來執行。id使我們更加容易地找出使用者的UID以GID而不必在/etc/group檔案中搜尋。如往常一樣,你可以在控制檯輸入man id進入id的手冊頁來獲取更多的詳情。
-g或--group:顯示使用者所屬群組的ID。
-G或--groups:顯示使用者所屬附加群組的ID。
-n或--name:顯示使用者,所屬群組或附加群組的名稱。
-u或--user :顯示使用者ID。
finger
finger命令用於查詢並顯示使用者資訊。包括本地與遠端主機的使用者皆可,帳號名稱沒有大小寫的差別。單獨執行finger指令,它會顯示本地主機現在所有的使用者的登陸資訊,包括帳號名稱,真實姓名,登入終端機,閒置時間,登入時間以及地址和電話。
w
顯示誰登陸了並顯示其正在做什麼,顯示的資訊比who更詳細;
whoami
顯示當前登陸使用者是誰
who
顯示誰登陸了
終端型別
last
顯示/var/log/wtmp檔案,顯示使用者的登陸及系統重啟歷史
-n <數字>:顯示最近<數字>次的相關資訊 last -n 3
lastb
顯示/var/log/btmp,顯示使用者錯誤的登陸嘗試;
-n<數字>:顯示最近<數字>次的相關資訊 lastb -n 3
lastlog
顯示當前系統上每一個使用者最近一次登陸的資訊;
-u USERNAME:顯示特定使用者最近的登入資訊
basename
取出路徑的基名,
$0: 執行指令碼時的指令碼路徑名稱(防止指令碼改名後腳本里的資訊也要更改)
passwd:s SUID: 執行某程式時,相應程序的屬主是程式檔案自身的屬主,而不是啟動者;
chmod u+s FILE
chmod u-s FILE
如果FILE本身原來就有執行許可權,則SUID顯示s;否則顯示為S
SGID
執行某程式時,相應程序的屬組是程式檔案自身的屬主,而不是啟動者所屬的基本組;
chmod g+s FILE
chmod g-s FILE
develop team, hadoop, hbase, hive
Sticky
表示在一個公共目錄,每個都可以建立檔案,刪除自己的檔案,但不能刪除別人的檔案
chmod o+t DIR
chmod o-t DIR
SUID SGID以及Sticky都是二進位制,三個組成一個八進位制,如000,001…111(這幾個命令使用時要慎重)
檔案系統訪問列表: FACL:Filesystem Acess Control List
利用檔案擴充套件屬性儲存額外的訪問控制權限
setfacl -m:設定
[d:] u:UID:perm
[d:] g:GID:perm
-x:取消
u:UID
g:GID
getfacl
所設定的許可權不能超過mask中的許可權,如果超過,則全部丟棄,如果要實現超出的許可權,需要用–mask對其中內容進行重新設定
密碼管理
passwd
passwd命令用於設定使用者的認證資訊,包括使用者密碼、密碼過期時間等。系統管理者則能用它管理系統使用者的密碼。只有管理者可以指定使用者名稱稱,一般使用者只能變更自己的密碼。
--stdin:從標準輸入(密碼)讀取密碼(可用方便地從指令碼中設定賬號);
-l:鎖住密碼;
-u:解開已上鎖的帳號;
-d:刪除密碼,僅有系統管理者才能使用。
```
**chmod**
chmod命令用來變更檔案或目錄的許可權。在UNIX系統家族裡,檔案或目錄許可權的控制分別以讀取、寫入、執行3種一般許可權來區分,另有3種特殊許可權可供運用。使用者可以使用chmod指令去變更檔案與目錄的許可權,設定方式採用文字或數字代號皆可。符號連線的許可權無法變更,如果使用者對符號連線修改許可權,其改變會作用在被連線的原始檔案。
許可權範圍的表示法如下:
u User,即檔案或目錄的擁有者;
g Group,即檔案或目錄的所屬群組;
o Other,除了檔案或目錄擁有者或所屬群組之外,其他使用者皆屬於這個範圍;
a All,即全部的使用者,包含擁有者,所屬群組以及其他使用者;
r 讀取許可權,數字代號為“4”;
w 寫入許可權,數字代號為“2”;
x 執行或切換許可權,數字代號為“1”;
- 不具任何許可權,數字代號為“0”;
s 特殊功能說明:變更檔案或目錄的許可權。
語法:chmod(選項)(引數)
選項:
-c或——changes:效果類似“-v”引數,但僅回報更改的部分;
-f或--quiet或——silent:不顯示錯誤資訊;
-R或——recursive:遞迴處理,將指令目錄下的所有檔案及子目錄一併處理;
-v或——verbose:顯示指令執行過程;
--reference=<參考檔案或目錄>:把指定檔案或目錄的所屬群組全部設成和參考檔案或目錄的所屬群組相同;
<許可權範圍>+<許可權設定>:開啟許可權範圍的檔案或目錄的該選項許可權設定;
<許可權範圍>-<許可權設定>:關閉許可權範圍的檔案或目錄的該選項許可權設定;
<許可權範圍>=<許可權設定>:指定許可權範圍的檔案或目錄的該選項許可權設定;
“`
引數
許可權模式:指定檔案的許可權模式;
檔案:要改變許可權的檔案;
mail
郵件 (存放在使用者家目錄的mbox中)還可用於傳送郵件
-s:表示郵件主題,後接傳送的使用者;用管道或者輸入重定向定義郵件內容傳送
hostname:
顯示當前主機名
$0:命令或指令碼本身
生成隨機數 RANDOM(內建變數):0-32768
隨機數生成器:熵池
/dev/random:更安全 /dev/urandom
sleep number:睡眠時間,相當於間隔
終端型別:console:
控制檯(不是終端,只是可以連線終端的顯示介面) pty:物理終端(VGA顯示卡)
tty num:虛擬控制檯 (虛擬終端)(VGA顯示卡)
ttyS num:序列終端
pts/num:偽終端(偽檔案系統)