Linux 系統是一個多使用者多任務的分時作業系統,任何一個要使用系統資源的使用者,都必須首先向系統管理者申請一個賬号,然後以這個賬号的身份進入系統。使用者的賬号一方面可以幫助系統管理者對使用系統的使用者進行跟蹤,并控制他們對系統資源的通路;另一方面也可以幫助使用者組織檔案,并為使用者提供安全性保護。每個使用者賬号都擁有一個惟一的使用者名和各自的密碼。使用者在登入時鍵入正确的使用者名和密碼後,就能夠進入系統和自己的主目錄。
實作使用者賬号的管理,要完成的工作主要有如下幾個方面:
使用者賬号的添加、删除與修改。
使用者密碼的管理。
使用者組的管理。
一、Linux系統使用者賬号的管理
使用者賬号的管理工作主要涉及到使用者賬号的添加、修改和删除。
添加使用者賬号就是在系統中建立一個新賬号,然後為新賬号配置設定使用者号、使用者組、主目錄和登入Shell等資源。剛添加的賬号是被鎖定的,無法使用。
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使用者組是其主組。
這裡可能建立組:#groupadd group及groupadd adm
增加使用者賬号就是在/etc/passwd檔案中為新使用者增加一條記錄,同時更新其他系統檔案如/etc/shadow, /etc/group等。
Linux提供了內建的系統管理工具userconf,它可以用來對使用者賬号進行統一管理。
2、删除帳号
如果一個使用者的賬号不再使用,可以從系統中删除。删除使用者賬号就是要将/etc/passwd等系統檔案中的該使用者記錄删除,必要時還删除使用者的主目錄。删除一個已有的使用者賬号使用userdel指令,其格式如下:
userdel 選項 使用者名
常用的選項是-r,它的作用是把使用者的主目錄一起删除。
例如:
# userdel sam
此指令删除使用者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
普通使用者修改自己的密碼時,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 系統對使用者組的規定有所不同,如Linux下的使用者屬于與它同名的使用者組,這個使用者組在建立使用者時同時建立。
使用者組的管理涉及使用者組的添加、删除和修改。組的增加、删除和修改實際上就是對/etc/group檔案的更新。
1、增加一個新的使用者組使用groupadd指令。 其格式如下:
groupadd 選項 使用者組
可以使用的選項有:
-g GID 指定新使用者組的組辨別号(GID)。
-o 一般與-g選項同時使用,表示新使用者組的GID可以與系統已有使用者組的GID相同。
# groupadd group1
此指令向系統中增加了一個新組group1,新組的組辨別号是在目前已有的最大組辨別号的基礎上加1。
#groupadd -g 101 group2
此指令向系統中增加了一個新組group2,同時指定新組的組辨別号是101。
2、如果要删除一個已有的使用者組,使用groupdel指令, 其格式如下:
groupdel 使用者組
#groupdel group1
此指令從系統中删除組group1。
3、修改使用者組的屬性使用groupmod指令。 其文法如下:
groupmod 選項 使用者組
常用的選項有:
-g GID 為使用者組指定新的組辨別号。
-o 與-g選項同時使用,使用者組的新GID可以與系統已有使用者組的GID相同。
-n新使用者組 将使用者組的名字改為新名字
# groupmod -g 102 group2
此指令将組group2的組辨別号修改為102。
# groupmod –g 10000 -n group3 group2
此指令将組group2的辨別号改為10000,組名修改為group3。
4、如果一個使用者同時屬于多個使用者組,那麼使用者可以在使用者組之間切換,以便具有其他使用者組的權限。使用者可以在登入後,使用指令newgrp切換到其他使用者組,這個指令的參數就是目的使用者組。 例如:
$ newgrp root
這條指令将目前使用者切換到root使用者組,前提條件是root使用者組确實是該使用者的主組或附加組。類似于使用者賬号的管理,使用者組的管理也可以通過內建的系統管理工具來完成。
權限配置設定
配置設定權限
chown -R hadoop:hadoop /usr/hadoop/
讓普通使用者擁有root的權限
1.root登入
2.adduser 使用者名
3.passwd 使用者名
确定密碼
4.修改/etc/passwd即可,把使用者名的ID和ID組修改成0。