轉載自:http://linux.chinaunix.net/bbs/thread-1167899-1-1. html
一、passwd 簡單說明;
咱們已經學會如何添加用戶了,因此咱們還要學習設置或修改用戶的密碼;passwd命令的用法也不少,咱們只選以下的幾個參數加以說明;想了解更多,請參考man passwd或passwd --help ;
passwd [OPTION...]
passwd 做爲普通用戶和超級權限用戶均可以運行,但做爲普通用戶只能更改本身的用戶密碼,但前提是沒有被root用戶鎖定;若是root用戶運行passwd ,能夠設置或修改任何用戶的密碼;
passwd 命令後面不接任何參數或用戶名,則表示修改當前用戶的密碼;請看下面的例子;
[root
@localhost ~]# passwd 注:沒有加任何用戶,我是用root用戶來執行的passwd 表示修改root用戶的密碼;下面也有提示;
Changing password for user root.
New UNIX password: 注:請輸入新密碼;
Retype new UNIX password: 注:驗證新密碼;
passwd: all authentication tokens updated successfully. 注:修改root密碼成功;
若是是普通用戶執行passwd 只能修改本身的密碼;
若是新建用戶後,要爲新用戶建立密碼,則用 passwd 用戶名 ,注意要以root用戶的權限來建立;
[root
@localhost ~]# passwd beinan 注:更改或建立beinan用戶的密碼;
Changing password for user beinan.
New UNIX password: 注:請輸入新密碼;
Retype new UNIX password: 注:再輸入一次;
passwd: all authentication tokens updated successfully. 注:成功;
普通用戶若是想更改本身的密碼,直接運行passwd便可;好比當前操做的用戶是beinan;
[beinan
@localhost ~]$ passwd
Changing password for user beinan. 注:更改beinan用戶的密碼;
(current) UNIX password: 注:請輸入當前密碼;
New UNIX password: 注:請輸入新密碼;
Retype new UNIX password: 注:確認新密碼;
passwd: all authentication tokens updated successfully. 注:更改爲功;
二、passwd 幾個比較重要的參數;
[root
@localhost beinan]# passwd --help
Usage: passwd [OPTION...] <accountName>
-k, --keep-tokens keep non-expired authentication tokens
注:保留即將過時的用戶在期滿後能仍能使用;
-d, --delete delete the password for the named account (root only)
注:刪除用戶密碼,僅能以root權限操做;
-l, --lock lock the named account (root only)
注:鎖住用戶無權更改其密碼,僅能經過root權限操做;
-u, --unlock unlock the named account (root only)
注:解除鎖定;
-f, --force force operation
注:強制操做;僅root權限才能操做;
-x, --maximum=DAYS maximum password lifetime (root only) 注:兩次密碼修正的最大天數,後面接數字;僅能root權限操做;
-n, --minimum=DAYS minimum password lifetime (root only) 注:兩次密碼修改的最小天數,後面接數字,僅能root權限操做;
-w, --warning=DAYS number of days warning users receives before 注:在距多少天提醒用戶修改密碼;僅能root權限操做;
password expiration (root only)
-i, --inactive=DAYS number of days after password expiration when an 注:在密碼過時後多少天,用戶被禁掉,僅能以root操做;
account becomes disabled (root only)
-S, --status report password status on the named account (root 注:查詢用戶的密碼狀態,僅能root用戶操做;
only)
--stdin read new tokens from stdin (root only)
好比咱們讓某個用戶不能修改密碼,能夠用-l 參數來鎖定:
[root
@localhost ~]# passwd -l beinan 注:鎖定用戶beinan不能更改密碼;
Locking password for user beinan.
passwd: Success 注:鎖定成功;
[beinan
@localhost ~]# su beinan 注:經過su切換到beinan用戶;
[beinan
@localhost ~]$ passwd 注:beinan來更改密碼;
Changing password for user beinan.
Changing password for beinan
(current) UNIX password: 注:輸入beinan的當前密碼;
passwd: Authentication token manipulation error 注:失敗,不能更改密碼;
再來一例:
[root
@localhost ~]# passwd -d beinan 注:清除beinan用戶密碼;
Removing password for user beinan.
passwd: Success 注:清除成功;
[root
@localhost ~]# passwd -S beinan 注:查詢beinan用戶密碼狀態;
Empty password. 注:空密碼,也就是沒有密碼;
注意: 當咱們清除一個用戶的密碼時,登陸時就無需密碼;這一點要加以注意;
三、chage 修改用戶密碼有效期限的命令;
chage 用語法格式:
chage [-l] [-m 最小天數] [-M 最大天數] [-W 警告] [-I 失效日] [-E 過時日] [-d 最後日] 用戶
前面已經說的好多了,這個只是一筆帶過吧,知道有這個命令就行,本身實踐實踐再說,大致和psswd有些參數的用法差很少;
密 碼時效命令-----chage
格式爲:chage [<選項>] <用戶名>
下面列出了chage命令的選項說明:
-m days: 密碼可更改的最小天數。爲零時表明任什麼時候候均可以更改密碼。
-M days: 指定口令有效的最多天數。當該選項指定的天數加上-d選項指定的天數小於當前的日期時,用戶在使用該賬號前就必須改變口令。
-d days: 指定從1970年1月1日起,口令被改變的天數。
-I days: 指定口令過時後,賬號被鎖前不活躍的天數。若是值爲0,賬號在口令過時後就不會被鎖。
-E date: 指定賬號被鎖的日期。日期格式YYYY-MM-DD。若不用日期,也可使用自1970年1月1往後通過的天數。
-W days: 指定口令過時前要警告用戶的天數。
-l: 列出指定用戶當前的口令時效信息,以肯定賬號什麼時候過時。
例以下面的命令要求用戶user1兩天內不能更改口令,而且口令最長的存活期爲30天,而且口令過時前5天通知用戶
chage -m 2 -M 30 -W 5 user1
可使用以下命令查看用戶user1當前的口令時效信息:chage -l user1
提示:1)可使用chage <用戶名>進入交互模式修改用戶的口令時效。
2)修改口令實質上就是修改影子口令文件/etc/shadow中與口令時效相關的字段值。 http://hi.baidu.com/ubuntu2me/bl ... c83781c91768fe.html
http://lolo6062.javaeye.com/blog/174033
03-20
linux命令建立和修改用戶及密碼
linux下建立用戶
一、添加ftp用戶
useradd ftpname -d /home/ftp
passwd ftppwd
如下操做都以root權限進行:
service vsftpd start 啓動
Linux自帶的FTP服務
2. 添加普通用戶
useradd nagios –d /usr/local/nagios
chown nagios.nagios /usr/local/nagios
將用戶切換到nagios 用戶,添加nagios的訪問用戶:
su nagios
htpasswd –c /usr/local/nagios/etc/htpasswd.users nagiosadmin
系統會提示輸入兩次密碼,例如兩次輸入nagios。
注: 這是第一次建立用戶,須要「-c」選項,表示建立一個存放用戶名和密碼的文件,當再次添加用戶或修改密碼時不用「-c」選項。
添加新的用戶帳號使用useradd命令,其語法以下:
useradd 選項 用戶名
其中各選項含義以下:
-c comment 指定一段註釋性描述。
-d 目錄 指定用戶主目錄,若是此目錄不存在,則同時使用-m選項,能夠建立主目錄。
-g 用戶組 指定用戶所屬的用戶組。
-G 用戶組,用戶組 指定用戶所屬的附加組。
-s Shell文件 指定用戶的登陸Shell。
-u 用戶號 指定用戶的用戶號,若是同時有-o選項,則能夠重複使用其餘用戶的標識號。
用戶名 指定新帳號的登陸名。
例如:
# useradd –d /usr/sam -m sam
此命令建立了一個用戶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用戶組是其主組。
增長用戶帳號就是在/etc/passwd文件中爲新用戶增長一條記錄,同時更新其餘系統文件如/etc/shadow, /etc/group等。這幾個文件的內容在後面會作詳細介紹。
Linux提供了集成的系統管理工具userconf,它能夠用來對用戶帳號進行統一管理。
若是一個用戶的帳號再也不使用,能夠從系統中刪除。刪除用戶帳號就是要將/etc/passwd等系統文件中的該用戶記錄刪除,必要時還刪除用戶的主目錄。刪除一個已有的用戶帳號使用userdel命令,其格式以下:
userdel 選項 用戶名
經常使用的選項是-r,它的做用是把用戶的主目錄一塊兒刪除。
例如:
# userdel sam
此命令刪除用戶sam在系統文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的記錄,同時刪除用戶的主目錄。
修改用戶帳號就是根據實際狀況更改用戶的有關屬性,如用戶號、主目錄、用戶組、登陸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。
用戶管理的一項重要內容是用戶口令的管理。用戶帳號剛建立時沒有口令,可是被系統鎖定,沒法使用,必須爲其指定口令後纔可使用,即便是指定空口令。
指定和修改用戶口令的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 -u 0 -o -g 0 youname
建一和root權限同樣的賬號youname:
-u 0 就是建一個uid=0的賬號
-o (注意是字母o,不是數字0)就是容許使用重複的id號
-g 0 就是建一個gid=0的賬號
youname就是你建的賬號名.
useradd -c likeroot -d /home/likeroot -u 501 -g root likeroot
mkdir /home/likeroot
vi /etc/passwd文件,改uid爲0
likeroot:0:0:likeroot:/home/likeroot:
修改/etc/password 文件,把你添加的用戶id 修改爲0 就能夠和root同樣的權限了!
或者修改/etc/vsftp*開頭的兩個文件,把root註釋掉,而後把/etc/pam.d/login裏面的第一行註釋掉!
這樣你就能夠用root 進行遠程登錄和ftp了,不過這樣不安全!
/etc/passwd中一行記錄對應着一個用戶,每行記錄又被冒號(分隔爲7個字段,其格式和具體含義以下:
用戶名:口令:用戶標識號:組標識號:註釋性描述:主目錄:登陸Shell
1)「用戶名」是表明用戶帳號的字符串。一般長度不超過8個字符,而且由大小寫字母和/或數字組成。登陸名中不能有冒號(,由於冒號在這裏是分隔符。爲了兼容起見,登陸名中最好不要包含點字符(.),而且不使用連字符(-)和加號(+)打頭。
2)「口令」一些系統中,存放着加密後的用戶口令字。。雖然這個字段存放的只是用戶口令的加密串,不是 明文,可是因爲/etc/passwd文件對全部用戶均可讀,因此這還是一個安全隱患。所以,如今許多
Linux 系統(如SVR4)都使用了shadow技術,把真正的加密後的用戶口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一個特殊的字符,例如「x」或者「*」。
3)「用戶標識號」是一個整數,系統內部用它來標識用戶。通常狀況下它與用戶名是一一對應的。若是幾個用戶名對應的用戶標識號是同樣的,系統內部將把它們視爲同一個用戶,可是它們能夠有不一樣的口令、不一樣的主目錄以及不一樣的登陸Shell等。
一般用戶標識號的取值範圍是0~65 535。0是超級用戶root的標識號,1~99由系統保留,做爲管理帳號,普通用戶的標識號從100開始。在
Linux系統中,這個界限是500。
4)「組標識號」字段記錄的是用戶所屬的用戶組。它對應着/etc/group文件中的一條記錄。
5)「註釋性描述」字段記錄着用戶的一些我的狀況,例如用戶的真實姓名、電話、地址等,這個字段並無什麼實際的用途。在不一樣的
Linux 系統中,這個字段的格式並無統一。在許多
Linux系統中,這個字段存放的是一段任意的註釋性描述文字,用作finger命令的輸出。
6)「主目錄」,也就是用戶的起始工做目錄,它是用戶在登陸到系統以後所處的目錄。在大多數系統中,各用戶的主目錄都被組織在同一個特定的目錄下,而用戶主目錄的名稱就是該用戶的登陸名。各用戶對本身的主目錄有讀、寫、執行(搜索)權限,其餘用戶對此目錄的訪問權限則根據具體狀況設置。
7)用戶登陸後,要啓動一個進程,負責將用戶的操做傳給內核,這個進程是用戶登陸到系統後運行的命令解釋器或某個特定的程序,即Shell。Shell 是用戶與
Linux系統之間的接口。
Linux的Shell有許多種,每種都有不一樣的特色。經常使用的有sh(Bourne Shell), csh(C Shell), ksh(Korn Shell), tcsh(TENEX/TOPS-20 type C Shell), bash(Bourne Again Shell)等。系統管理員能夠根據系統狀況和用戶習慣爲用戶指定某個Shell。若是不指定Shell,那麼系統使用sh爲默認的登陸Shell,即這個字段的值爲/bin/sh。
用戶的登陸Shell也能夠指定爲某個特定的程序(此程序不是一個命令解釋器)。利用這一特色,咱們能夠限制用戶只能運行指定的應用程序,在該應用程序運行結束後,用戶就自動退出了系統。有些
Linux 系統要求只有那些在系統中登記了的程序才能出如今這個字段中。
做用
passwd命令原來修改帳戶的登錄密碼,使用權限是全部用戶。
2.格式
passwd [選項] 帳戶名稱
3.主要參數
-l:鎖定已經命名的帳戶名稱,只有具有超級用戶權限的使用者方可以使用。
-u:解開帳戶鎖定狀態,只有具有超級用戶權限的使用者方可以使用。
-x, --maximum=DAYS:密碼使用最大時間(天),只有具有超級用戶權限的使用者方可以使用。
-n, --minimum=DAYS:密碼使用最小時間(天),只有具有超級用戶權限的使用者方可以使用。
-d:刪除使用者的密碼, 只有具有超級用戶權限的使用者方可以使用。
-S:檢查指定使用者的密碼認證種類, 只有具有超級用戶權限的使用者方可以使用。
4.應用實例
$ passwd
Changing password for user cao.
Changing password for cao
(current) UNIX password:
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
從上面能夠看到,使用passwd命令須要輸入舊的密碼,而後再輸入兩次新密碼。
Linux聯盟收集整理
Linux 操做系統是UNIX 操做系統的一種克隆系統。它誕生於1991 年的10 月5 日(這是第一次正式向外公佈的時間)。之後藉助於Internet 網絡,並通過全世界各地計算機愛好者的共同努力下,現已成爲今天世界上使用最多的一種UNIX 類操做系統,而且使用人數還在迅猛增加。 Linux 操做系統的誕生、發展和成長過程始終依賴着如下五個重要支柱:UNIX 操做系統、MINIX 操做系統、GNU 計劃、POSIX 標準和Internet 網絡。html