1. 程式人生 > >linux常用命令-用戶相關

linux常用命令-用戶相關

在線幫助 集成 用戶名 就是 linux tty l命令 註釋 手冊

Linux系統是一個多用戶多任務的分時操作系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個賬號,然後以這個賬號的身份進入系統。

用戶的賬號一方面可以幫助系統管理員對使用系統的用戶進行跟蹤,並控制他們對系統資源的訪問;另一方面也可以幫助用戶組織文件,並為用戶提供安全性保護。

每個用戶賬號都擁有一個惟一的用戶名和各自的口令。

用戶在登錄時鍵入正確的用戶名和口令後,就能夠進入系統和自己的主目錄。

實現用戶賬號的管理,要完成的工作主要有如下幾個方面:

用戶賬號的添加、刪除與修改。

用戶口令的管理。

1、添加新的用戶賬號使用useradd命令,其語法如下:useradd 選項 用戶名

參數說明:

          • 選項:

            • -c comment 指定一段註釋性描述。
            • -d 目錄 指定用戶主目錄,如果此目錄不存在,則同時使用-m選項,可以創建主目錄。
            • -g 用戶組 指定用戶所屬的用戶組。
            • -G 用戶組,用戶組 指定用戶所屬的附加組。
            • -s Shell文件 指定用戶的登錄Shell。
            • -u 用戶號 指定用戶的用戶號,如果同時有-o選項,則可以重復使用其他用戶的標識號。
          • 用戶名:

            指定新賬號的登錄名。

實例1# useradd –d /usr/sam -m sam 此命令創建了一個用戶sam,其中-d和-m選項用來為登錄名sam產生一個主目錄/usr/sam(/usr為默認的用戶主目錄所在的父目錄)。

實例2 # useradd -s /bin/sh -g group –G adm,root gem 此命令新建了一個用戶gem,該用戶的登錄Shell是 /bin/sh,它屬於group用戶組,同時又屬於adm和root用戶組,其中group用戶組是其主組。

增加用戶賬號就是在/etc/passwd文件中為新用戶增加一條記錄,同時更新其他系統文件如/etc/shadow, /etc/group等。Linux提供了集成的系統管理工具userconf,它可以用來對用戶賬號進行統一管理。

2、刪除帳號 刪除一個已有的用戶賬號使用userdel命令,其格式如下:userdel 選項 用戶名 常用的選項是 -r,它的作用是把用戶的主目錄一起刪除。

例如:# userdel -r sam 此命令刪除用戶sam在系統文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的記錄,同時刪除用戶的主目錄。

如果一個用戶的賬號不再使用,可以從系統中刪除。刪除用戶賬號就是要將/etc/passwd等系統文件中的該用戶記錄刪除,必要時還刪除用戶的主目錄。

3、修改帳號 修改用戶賬號就是根據實際情況更改用戶的有關屬性,如用戶號、主目錄、用戶組、登錄Shell等。

修改已有用戶的信息使用usermod命令,其格式如下:usermod 選項 用戶名 常用的選項包括-c, -d, -m, -g, -G, -s, -u以及-o等,這些選項的意義與useradd命令中的選項一樣,可以為用戶指定新的資源值。

例如:# usermod -s /bin/ksh -d /home/z –g developer sam 此命令將用戶sam的登錄Shell修改為ksh,主目錄改為/home/z,用戶組改為developer。

4、用戶口令的管理 用戶管理的一項重要內容是用戶口令的管理。用戶賬號剛創建時沒有口令,但是被系統鎖定,無法使用,必須為其指定口令後才可以使用,即使是指定空口令。

指定和修改用戶口令的Shell命令是passwd。超級用戶可以為自己和其他用戶指定口令,普通用戶只能用它修改自己的口令。命令的格式為:passwd 選項 用戶名

可使用的選項:

  • -l 鎖定口令,即禁用賬號。
  • -u 口令解鎖。
  • -d 使賬號無口令。
  • -f 強迫用戶下次登錄時修改口令。

如果默認用戶名,則修改當前用戶的口令。

例如,假設當前用戶是sam,則下面的命令修改該用戶自己的口令:

$ passwd 
Old password:****** 
New password:******* 
Re-enter new password:*******

如果是超級用戶,可以用下列形式指定任何用戶的口令:

# passwd sam 
New password:******* 
Re-enter new password:*******

普通用戶修改自己的口令時,passwd命令會先詢問原口令,驗證後再要求用戶輸入兩遍新口令,如果兩次輸入的口令一致,則將這個口令指定給用戶;而超級用戶為用戶指定口令時,就不需要知道原口令。

為用戶指定空口令時,執行下列形式的命令:# passwd -d sam 此命令將用戶sam的口令刪除,這樣用戶sam下一次登錄時,系統就不再詢問口令。

passwd命令還可以用-l(lock)選項鎖定某一用戶,使其不能登錄,例如:passwd -l sam

與用戶賬號有關的系統文件

完成用戶管理的工作有許多種方法,但是每一種方法實際上都是對有關的系統文件進行修改。與用戶和用戶組相關的信息都存放在一些系統文件中,這些文件包括/etc/passwd, /etc/shadow, /etc/group等。

1、/etc/passwd文件是用戶管理工作涉及的最重要的一個文件。Linux系統中的每個用戶都在/etc/passwd文件中有一個對應的記錄行,它記錄了這個用戶的一些基本屬性。

2、/etc/shadow中的記錄行與/etc/passwd中的一一對應,它由pwconv命令根據/etc/passwd中的數據自動產生。

3、用戶組的所有信息都存放在/etc/group文件中。將用戶分組是Linux 系統中對用戶進行管理及控制訪問權限的一種手段。

1、su命令用於切換當前用戶身份到其他用戶身份,變更時須輸入所要變更的用戶帳號與密碼。

su(選項)(參數)

選項

-c<指令>或--command=<指令>:執行完指定的指令後,即恢復原來的身份;
-f或——fast:適用於csh與tsch,使shell不用去讀取啟動文件;
-l或——login:改變身份時,也同時變更工作目錄,以及HOME,SHELL,USER,logname。此外,也會變更PATH變量;
-m,-p或--preserve-environment:變更身份時,不要變更環境變量;
-s<shell>或--shell=<shell>:指定要執行的shell;
--help:顯示幫助;
--version;顯示版本信息。

參數

用戶:指定要切換身份的目標用戶。

實例

變更帳號為root並在執行ls指令後退出變回原使用者:

su -c ls root

變更帳號為root並傳入-f選項給新執行的shell:

su root -f

變更帳號為test並改變工作目錄至test的家目錄:

su -test

2、logname命令用來顯示用戶名稱。

語法

logname(選項)

選項

--help:在線幫助;
--vesion:顯示版本信息。
3、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的手冊頁來獲取更多的詳情。

語法

id [-gGnru][--help][--version][用戶名稱]

選項

-g或--group   顯示用戶所屬群組的ID。
-G或--groups   顯示用戶所屬附加群組的ID。
-n或--name    顯示用戶,所屬群組或附加群組的名稱。
-r或--real    顯示實際ID。
-u或--user    顯示用戶ID。
-help         顯示幫助。
-version      顯示版本信息。

實例

[root@localhost ~]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)

解釋:用戶root的UID號碼 = 0,GID號碼 = 0。用戶root是下面組的成員:

  • root組GID號是:0
  • bin組GID號是:1
  • daemon組GID號是:2
  • sys組GID號是:3
  • adm組GID號是:4
  • disk組GID號是:6
  • wheel組GID號是:10

打印用戶名、UID 和該用戶所屬的所有組,要這麽做,我們可以使用 -a 選項:

[root@localhost ~]# id -a
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)

輸出所有不同的組ID ,有效的,真實的和補充的,我們可以使用 -G 選項來實現:

[root@localhost ~]# id -G
0 1 2 3 4 6 10

結果只會顯示GID號。你可以和/etc/group文件比較。下面是/etc/group文件的示例內容:

只輸出有效的組ID,通過使用 -g 選項來只輸出有效組ID:

[root@localhost ~]# id -g
0

輸出特定用戶信息,我們可以輸出特定的用戶信息相關的UID和GID。只需要在id命令後跟上用戶名:

[root@localhost ~]# id www
uid=500(www) gid=500(www) groups=500(www)
 

linux常用命令-用戶相關