1. 程式人生 > >Linux使用者管理、新建使用者、使用者分組,分配許可權等

Linux使用者管理、新建使用者、使用者分組,分配許可權等

說明

   Linux 系統是一個多使用者多工的分時作業系統,要使用Linux系統,就需要登入系統,且必須擁有使用者名稱和密碼,使用者名稱和密碼通常是系統管理員通過你的申請下發給你,使用者的賬號一方面可以幫助系統管理員對使用系統的使用者進行跟蹤,並控制他們對系統資源的訪問;另一方面也可以幫助使用者組織檔案,併為使用者提供安全性保護。

一、使用者賬號管理

useradd [可選] 使用者名稱

可選引數說明:

-c comment 指定一段註釋性描述。
-d 目錄 指定使用者主目錄,如果此目錄不存在,則同時使用-m選項,可以建立主目錄。
-g 使用者組 指定使用者所屬的使用者組。
-G 使用者組,使用者組 指定使用者所屬的附加組。


-s Shell檔案 指定使用者的登入Shell。
-u 使用者號 指定使用者的使用者號,如果同時有-o選項,則可以重複使用其他使用者的標識號。

# useradd –d /usr/sam -m sam

其中-d和-m選項用來為登入名sam產生一個主目錄/usr/sam(/usr為預設的使用者主目錄所在的父目錄)。

#useradd-s /bin/sh -g group –G adm,root gem

此命令新建了一個使用者gem,該使用者的登入Shell是/bin/sh,它屬於group使用者組,同時又屬於adm和root使用者組,其中group使用者組是其主組。

這裡可能新建組:

#groupaddgroup 及groupadd

adm

增加使用者賬號就是在/etc/passwd檔案中為新使用者增加一條記錄,同時更新其他系統檔案如/etc/shadow,/etc/group等。

Linux提供了整合的系統管理工具userconf,它可以用來對使用者賬號進行統一管理。

2、刪除帳號 

如果一個使用者的賬號不再使用,可以從系統中刪除。刪除使用者賬號就是要將/etc/passwd等系統檔案中的該使用者記錄刪除,必要時還刪除使用者的主目錄。刪除一個已有的使用者賬號使用userdel命令,其格式如下:

userdel選項 使用者名稱

常用的選項是-r,它的作用是把使用者的主目錄一起刪除。

例如:

#userdelsam

此命令刪除使用者sam在系統檔案中(主要是/etc/passwd, /etc/shadow, /etc/group等)的記錄,同時刪除使用者的主目錄。

3、修改帳號 

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

修改已有使用者的資訊使用usermod命令,其格式如下:

usermod選項 使用者名稱

常用的選項包括-c, -d, -m, -g, -G, -s, -u以及-o等,這些選項的意義與useradd命令中的選項一樣,可以為使用者指定新的資源值。另外,有些系統可以使用如下選項:

-l 新使用者名稱

這個選項指定一個新的賬號,即將原來的使用者名稱改為新的使用者名稱。

例如:

#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命令會先詢問原密碼,驗證後再要求使用者輸入兩遍新密碼,如果兩次輸入的密碼一致,則將這個密碼指定給使用者;而超級使用者為使用者指定密碼時,就不需要知道原密碼。

為了系統安全起見,使用者應該選擇比較複雜的密碼,例如最好使用8位長的密碼,密碼中包含有大寫、小寫字母和數字,並且應該與姓名、生日等不相同。

為使用者指定空密碼時,執行下列形式的命令:

#passwd-d sam

此命令將使用者sam的密碼刪除,這樣使用者sam下一次登入時,系統就不再詢問密碼。

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

# passwd -l sam

新建使用者異常:

useradd -d /usr/hadoop -u 586 -m hadoop -g hadoop

1  Creating mailbox file: 檔案已存在  
    刪除即可 rm -rf /var/spool/mail/使用者名稱

2 useradd: invalid numeric argument 'hadoop'
   這是由於hadoop組不存在 請先建hadoop組

通過cat /etc/passwd 可以檢視使用者的pass

cat /etc/shadow 可以檢視使用者名稱

cat /etc/group  可以檢視 組

二、Linux系統使用者組的管理

每個使用者都有一個使用者組,系統可以對一個使用者組中的所有使用者進行集中管理。不同Linux 系統對使用者組的規定有所不同,如Linux下的使用者屬於與它同名的使用者組,這個使用者組在建立使用者時同時建立。
使用者組的管理涉及使用者組的新增、刪除和修改。組的增加、刪除和修改實際上就是對/etc/group檔案的更新。

1、增加一個新的使用者組使用groupadd命令。 其格式如下:

groupadd選項 使用者組

可以使用的選項有:

-g GID 指定新使用者組的組標識號(GID)。
-o 一般與-g選項同時使用,表示新使用者組的GID可以與系統已有使用者組的GID相同。

例1:

#groupaddgroup1

此命令向系統中增加了一個新組group1,新組的組標識號是在當前已有的最大組標識號的基礎上加1。

例2:

#groupadd-g 101 group2

此命令向系統中增加了一個新組group2,同時指定新組的組標識號是101。

2、如果要刪除一個已有的使用者組,使用groupdel命令, 其格式如下:

groupdel使用者組

例如:

#groupdelgroup1

此命令從系統中刪除組group1。

3、修改使用者組的屬性使用groupmod命令。 其語法如下:

groupmod選項 使用者組

常用的選項有:

-g GID 為使用者組指定新的組標識號。
-o 與-g選項同時使用,使用者組的新GID可以與系統已有使用者組的GID相同。
-n新使用者組 將使用者組的名字改為新名字

例1:

#groupmod-g 102 group2

此命令將組group2的組標識號修改為102。

例2:

#groupmod–g 10000 -n group3 group2

此命令將組group2的標識號改為10000,組名修改為group3。

4、如果一個使用者同時屬於多個使用者組,那麼使用者可以在使用者組之間切換,以便具有其他使用者組的許可權。使用者可以在登入後,使用命令newgrp切換到其他使用者組,這個命令的引數就是目的使用者組。

例如:

$newgrproot

這條命令將當前使用者切換到root使用者組,前提條件是root使用者組確實是該使用者的主組或附加組。類似於使用者賬號的管理,使用者組的管理也可以通過整合的系統管理工具來完成。

許可權分配

分配許可權

chown -R hadoop:hadoop /usr/hadoop/

讓普通使用者擁有root的許可權

1.root登入
2.adduser 使用者名稱
3.passwd 使用者名稱
  確定密碼
4.修改/etc/passwd即可,把使用者名稱的ID和ID組修改成0。

新建使用者,且不讓使用者直接登入:

#新增nginx使用者組及使用者
groupadd www
useradd-g www -s /usr/sbin/nologin www#不讓www使用者直接登入

Linux修改使用者所在組方法

強行設定某個使用者所在組

usermod -g 使用者組 使用者名稱

把某個使用者改為 group(s) 

usermod-G使用者組 使用者名稱

把使用者新增進入某個組(s),注意:原來的使用者組還存在

usermod-a -G使用者組 使用者名稱

usermod使用說明:

修改使用者帳號

語 法:usermod [-LU][-c <備註>][-d <登入目錄>][-e <有效期限>][-f <緩衝天數>][-g <群組>][-G <群組>][-l <帳號名稱>][-s <shell>][-u <uid>][使用者帳號]

補充說明:usermod可用來修改使用者帳號的各項設定。

參  數:

-c<備註>      修改使用者帳號的備註文字。 
-d登入目錄>   修改使用者登入時的目錄。 
-e<有效期限>  修改帳號的有效期限。 
-f<緩衝天數>  修改在密碼過期後多少天即關閉該帳號。 
-g<群組>      修改使用者所屬的群組。 
-G<群組>      修改使用者所屬的附加群組。 
-l<帳號名稱>  修改使用者帳號名稱。 
-L            鎖定使用者密碼,使密碼無效。 
-s<shell>    修改使用者登入後所使用的shell。 
-u<uid>      修改使用者ID。 
-U           解除密碼鎖定。