首頁>技術>

場景:我在學習git 克隆的時候,想自己實操一下,發現本身的機器ssh的配置已經很好了。不想再刪了,然後就想新建一個使用者

怎麼沒有我剛開始建立的使用者目錄呀。先不管了,切換到test使用者上!!

怎麼跟我預想的不一樣呀。查找了一下useradd命令的幫助吧

man useradd

我們簡單列出幾個比較常用的吧,詳細的可以自己檢視

-b, --base-dir BASE_DIR 如果沒有使用 -d HOME_DIR,則使用預設的基目錄。BASE_DIR 加上賬戶名就是主目錄。選項沒有指定,useradd 將使用 /etc/default/useradd 中的 HOME 變數,或者預設的 /home。-d, --home-dir HOME_DIR  將建立新使用者,並使用 HOME_DIR 作為使用者登陸目錄的值。預設值是將 LOGIN 名附加到 BASE_DIR 後面,並使用這作為登陸目錄。目錄不一定必須已經存在 HOME_DIR,但是會在需要時建立 -m, --create-home 如果不存在,則建立使用者主目錄。骨架目錄中的檔案和目錄(可以使用 -k 選項指定),將會複製到主目錄。 -M, --no-create-home 不建立使用者主目錄,即使系統在 /etc/login.defs 中的設定 (CREATE_HOME) 為 yes-s, --shell SHELL 使用者的登入 shell 名。預設為留空,讓系統根據 /etc/default/useradd 中的 SHELL 變數選擇預設的登入 shell,預設為空字串。 -g, --gid GROUP  使用者初始登陸組的組名或號碼。組名必須已經存在。組號碼必須指代已經存在的組。

這其中涉及到兩個檔案,一個是/etc/default/useradd和/etc/login.defs

/etc/default/useradd 存放了一些預設值 /etc/login.defs 存放了建立使用者的一些預設配置

看到這裡,我們能看出來。我們建立使用者用的是無引數的。導致我們建立的使用者有很多配置沒有。那我們刪除使用者test,重新加引數建立

userdel test // 刪除使用者,後面會說到useradd -m testcd /home/llsudo su - test

這樣創建出來的使用者是在/home/有使用者目錄

我們可以看到,shell命令列,跟我們原來的不一樣。這是因為,預設建立的使用者使用的是登入shell是/bin/sh,而我們平常用的是/bin/bash(預設值在/etc/default/useradd下)

這樣我們就要更改一下test使用者的登入shell版本,

這樣一來,跟我們原來的一樣了。完美~~這時我們會發現登入使用者test還沒有設定密碼,我們再執行下面命令。輸入密碼,可以給test使用者設定密碼

關於建立使用者目錄,理解一下-m、-b、 -d三個引數。-b指定基目錄 -b指定使用者命令,-m其實是一個複製命令,會將/etc/skel得檔案骨架結構,複製到你建立使用者裡面(檔案不存在,就會建立)。一切都是預設值的話,使用者的目錄就是 /home/test/

至此,我們一個使用者就建立完成了。

sudo userdel test // 記住要登出,要不然刪除會報錯

使用者就會被刪除,但是我們可以發現,在home底下,對應的test檔案沒有刪除,我們執行刪除資料夾的命令就可以

其餘命令

在這學習中,我還發現了一個命令 adduser和deluser,其實這兩個命令跟useradd和deluser命令都是建立使用者的命令。

adduser他是一個perl指令碼,利用互動式的方式,來建立使用者,適合初學者。他預設登入shell就是'/bin/bash',能建立使用者目錄,還能直接設定密碼。但是最終還是用的useradd命令。deluser也是一樣的道理。有興趣的可以取看一下,很簡單的。

注意:系統不一樣,命令可能不太一樣,我的是ubuntu 18的,但是我看他們說,centos的adduser和useradd其實就是一個命令,通過軟連結得出的adduser

centos

ubuntu

總結:
useradd/adduser:新增使用者userdel/deluser:刪除使用者usermod:修改使用者資訊/etc/default/useradd:用useradd建立使用者的一些配置的預設值/etc/login.defs: 用useradd建立使用者的一些預設配置/etc/adduser.conf: 用adduser建立使用者的預設配置/etc/deluser.conf: 用deluser刪除使用者的預設配置/etc/passwd:存放所有使用者的資訊(所有使用者可見)/etc/shadow:存放使用者的加密密碼資訊(僅管理員可見)/etc/skel :新建使用者的根目錄的檔案結構 vipw命令:可以修改/etc/passwd vipw -s 命令:可以修改/etc/shadow

vipw 也是一中vi,不過僅是修改使用者資訊檔案的,開啟就是/etc/passwd,它會給檔案上鎖,如果已經被打開了,你就不可再打開了。除此之外,還有vipg,修改使用者組檔案

碼農不易,多多支援^__^

最新評論
  • BSA-TRITC(10mg/ml) TRITC-BSA 牛血清白蛋白改性標記羅丹明
  • 整合Streamr 與 Apache Spark