歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> Linux基礎介紹【第七篇】,linux基礎第七篇

Linux基礎介紹【第七篇】,linux基礎第七篇

日期:2017/3/3 17:57:42   编辑:學習Linux

Linux基礎介紹【第七篇】,linux基礎第七篇

Linux基礎介紹【第七篇】,linux基礎第七篇


linux用戶分類

超級用戶:UID=0,root

普通用戶:UID 500起,由超級用戶或具有超級用戶權限的用戶創建的用戶。

虛擬用戶:UID 1—499,為了滿足文件或服務啟動的需要而存在,一般都不能登錄,只是傀儡用戶。

用戶關聯的四個文件:

/etc/passwd:用戶的賬號文件

/etc/shadow:用戶的密碼文件

/etc/group:組的賬號文件

/etc/gshadow:組的密碼文件

賬號管理

useradd(增):同adduser命令,執行此命令可在系統中添加用戶。

userdel(刪):執行此命令可刪除用戶及相關用戶的配置或文件。

usermod(改):修改用戶的命令,可以通過usermod來修改登錄名、用戶的家目錄等。

usermod -s /sbin/nologin oldboy

usermod -s /bin/bash oldboy

id(查):查看用戶的UID、GID及所歸屬的用戶組。

passwd:執行此命令可為用戶設置密碼,更改/etc/shadow。

chage:修改用戶密碼有效期限,管理/etc/shadow。

su:用戶角色切換工具。

sudo:sudo是通過另一個用戶來執行命令,su是用來切換用戶,然後通過切換到的用戶來完成相應的任務,但sudo能在命令後面直接接命令執行,比如sudo ls /root,不需要root密碼就可以執行只有root才能執行相應的命令或具備的目錄權限;這個權限需要通過visudo命令或直接編輯/etc/sudoers來實現。

visudo:visudo配置sudo權限的編輯命令,也可以直接用vi編輯/etc/sudoers實現,推薦使用visudo來操作(會自動檢查語法)。

/etc/skel目錄

/etc/skel目錄是用來存放新用戶配置文件的目錄,當我們添加新用戶時,這個目錄下的所有文件會自動被復制到新添加的用戶的家目錄下;默認情況下,/etc/skel目錄下的所有文件都是隱藏文件(以點開頭的文件);通過修改、添加、刪除/etc/skel目錄下的文件,可以為新建的用戶提供統一的、標准的、初始化用戶環境。

刪除/home/用戶家目錄 中的.bash_logout、.bash_profile、.bashrc產生的效果:-bash-4.1$

解決辦法:

從/etc/skel中拷貝.bash_logout、.bash_profile、.bashr到用戶家目錄即可解決。

/etc/login.defs配置文件

/etc/login.defs文件是用來定義創建用戶時需要的一些用戶的配置信息。如創建用戶時,是否需要家目錄,UID和GID的范圍,用戶及密碼的有效期限等。

/etc/default/useradd文件

/etc/default/useradd文件是在使用useradd添加用戶時的一個需要調用的一個默認文件,可以使用"useradd -D 參數",這樣的命令格式來修改文件裡面的內容。

useradd命令

useradd參數選項

注釋說明

-c comment

新賬號passwd擋的說明欄

-d home_dir

新賬號每次登入時所使用的home_dir。預設值為default_home內login名稱,並當成登入時目錄名稱。

-e expire_date

賬號終止日期。日期的指定格式為MM/DD/YY。

-f inactive_days

賬號過期幾日後永久停權。當值為0時賬號則立刻被停權。而當值為-1時則關閉此功能,預設值為-1。

-g initial_group

group名稱或以數字來做為用戶登入起始用戶組(group)。用戶組名須為系統現有存在的名稱。用戶組數字也須為現有存在的用戶組。預設的用戶組數字為1。

-G group,[…]

定義此用戶為多個不同groups的成員。每個用戶組使用","逗號分隔。用戶組名同-g選項的限制。默認值為用戶的起始用戶組。

-m

用戶目錄如不存在則自動建立。如使用-k選項,skeleton dir內的檔案將復制至用戶目錄下。然而在/etc/skel目錄下的檔案也會復制過去。任何在skeleton_diror /etc/skel的目錄也相同會在用戶目錄下一一建立。The-k同-m不建立目錄以及不復制任何檔案為預設值。

-M

不建立用戶家目錄,優先於/etc/login.defs文件的設定。一般創建虛擬用戶時不建立家目錄,部署服務時需要創建虛擬用戶。

-n

默認情況下用戶的用戶組與用戶的名稱會相同。如果命令加了-n參數就不會生成和用戶名的用戶組了。

-s shell

用戶登入後使用的shell名稱。默認值為不填寫,這樣系統會指定預設的登入shell(根據/etc/default/useradd預設的值)。

-u uid

用戶的ID值。這個值必須是唯一的,除非用-o選項。數字不可為負值。

useradd -e、-u、-G、-s、-d多參數組合的例子:

添加用戶oldboy,並設置用戶注釋信息為HandsomeBoy,UID指定為806,歸屬為用戶組root、oldboy、sa成員,其shell類型為/bin/sh,設置家目錄為/oldboy。

groupadd命令

groupadd參數選項

注釋說明

-g gid

指定用戶組GID值。除非接-o參數(如:groupadd -g gid)否則ID值必須是唯一的數字(不能為負數)。如果不指定會從500開始。

passwd命令

passwd參數選項

注釋說明

--stdin

從stdin讀入密碼

-k --keep-tokens

保留即將過期的用戶在期滿後仍能使用

-d --delete

刪除用戶密碼,僅能以root權限操作

-l --lock

鎖住用戶無權更改其密碼,僅能通過root權限操作

-u --unlock

解除鎖定

-f --force

強制操作,僅root權限才能操作

-x --maximum=DAYS

兩次密碼修改的最大天數,後面接數字,僅能root權限操作

-n --mininum=DAYS

兩次密碼修改的最小天數,後面接數字,僅能root權限操作

-w --warning=DAYS

在距多少天提醒用戶修改密碼,僅能root權限操作

-i --inactive=DAYS

在密碼過期後多少天,用戶被禁掉,僅能root權限操作

-S --status

查詢用戶的密碼狀態,僅能root權限操作

oldboy用戶7天內不能更改密碼,60天以後必須修改密碼,過期前10天提示,過期後30天後禁止用戶登錄。

/etc/shadow中查看

批量創建10個用戶stu01-stu10,並且設置隨機8位密碼,要求不能用shell循環(for、while等),只能用命令及管道實現。

useradd stu{1..10};

使用SHA算法來加密日期,並輸出結果的前8個字符:

date +%s | sha256sum | base64 | head -c 8 ; echo

echo "123456"|passwd test --stdin

修改用戶密碼有效期限相關命令chage

用法:chage [選項] 用戶名

chage參數選項

注釋說明

-d --lastday

最近日期,將最近一次密碼設置時間設為"最近日期"

-E --expiredate

將賬戶過期時間設為"過期日期",日期寫法:MM/DD/YY

-h --help

顯示此幫助信息並退出

-l --list

顯示賬戶年齡信息

-m --mindays

最小天數,將兩次改變密碼之間相距的最小天數設為"最小天數"

-M --maxdays

最大天數,將兩次改變密碼之間相距的最大天數設為"最大天數"

-W --warndays

警告天數,將過期警告天數設為"警告天數"

-I --inactive

失效天數,在密碼過期後多少天,用戶被禁掉

修改賬戶過期時間:

查看賬戶的狀態:

oldboy用戶8天內不能更改密碼,61天以後必須修改密碼,過期前11通知用戶,過期後31天後禁止用戶登錄。

與passwd -n 8 -x 61 -w 11 -i 31 oldboy、chage -m8 -M61 -W10 -I30 oldboy功能相同只是參數不一樣。

刪除用戶相關命令userdel

語法格式:userdel 用戶名 或語法格式:userdel 用戶名 -r

在生產場景中,不要輕易使用-r參數,這會在刪除用戶的同時刪除用戶家目錄下的所有的文件和目錄。如果一定要刪除家目錄,那麼在刪除前先備份。直接在/etc/passwd中注釋要刪除的用戶記錄是生產場景中常用的方法。

刪除用戶組相關命令groupdel

groupdel是用來刪除用戶組的,要求用戶組名必須是已存在的。用groupdel刪除用戶組實際修改/etc/group(用戶組文件)和/etc/gshadow(用戶組加密文件)。

語法格式:groupdel 用戶組

查看用戶組:

grep 用戶組 /etc/group

grep 用戶組 /etc/gshadow

用戶信息修改相關命令usermod

usermod參數選項

注釋說明

-e expire_date

加上用戶賬號停止日期。日期格式為MM/DD/YY。

-g initial_group

更新用戶新的起始登入用戶組。用戶組名必須已存在。

-U

取消凍結用戶的密碼,使恢復登錄,實際同樣是修改/etc/shadow的

-G group,[…]

定義用戶為一堆groups的成員。每個用戶組只用","逗號隔開。

-l login_name

變更用戶login時的名稱為login_name。其余信息不變。usermod -l newname oldname

-s shell

指定新登入shell。

-u uid

指定用戶UID只。這個值必須是唯一的,除非接-o參數,如usermod -u 505 -o oldboy(不能為負數)

-L

凍結用戶的密碼,使無法登陸。

-c

修改用戶賬號的備注信息

-d

修改用戶家目錄

-f

修改在密碼過期後多少天關閉該賬號

將oldboy用戶的注釋信息修改為OldBoy,UID修改為1806,歸屬修改為用戶組root、sa成員,其shell類型修改為/bin/tcsh,設置家目錄為/tmp/oldboy。

使用戶在2012-01-22後過期

http://xxxxxx/Linuxjc/1183619.html TechArticle

Copyright © Linux教程網 All Rights Reserved