在Linux中為現(xiàn)有用戶(hù)創(chuàng)建主目錄:useradd問(wèn)題
Linux為現(xiàn)有用戶(hù)創(chuàng)建主目錄useradd
本文方法也適用于其它的linux 。
我使用的是manjaro ,屬于Arch linux 家族。為了配置samba,增加一個(gè)用戶(hù)user1。
[me@manjaro ~]$ sudo useradd user1
但是之后發(fā)現(xiàn)/home下面并沒(méi)有建立對(duì)應(yīng)的主目錄,例如 /home/user1 。
查找原因,原來(lái)是沒(méi)有加上參數(shù) -m :
[me@manjaro ~]$ sudo useradd -m user1
解決辦法
網(wǎng)上的方法,要么是手工建立目錄,指定屬性;再?gòu)?/etc/skel/下復(fù)制文件 。 要么是重新建立一個(gè)用戶(hù)。但是我找到一個(gè)簡(jiǎn)單的官方解決方法:
[me@manjaro ~]$ sudo mkhomedir_helper user1
就是利用了mkhomedir_helper 命令。它為已經(jīng)存在的用戶(hù)建立相應(yīng)的主目錄,并且自動(dòng)復(fù)制一些文件如.bashrc、.profiles ...
-rwxr-xr-x 1 root root 22704 2月 2 17:21 /usr/sbin/mkhomedir_helper
參考:
https://linuxhandbook.com/create-home-directory-existing-user/
補(bǔ)充:
上述 mkhomedir_helper 命令執(zhí)行之后,ctrl-alt-F2 (鍵盤(pán)第一排F1....F8,都可以試。Manjaro F7 是切換到桌面)打開(kāi)一個(gè) 終端界面:
以 user1 用戶(hù)登錄時(shí),可以登錄;但出現(xiàn)錯(cuò)誤提示;
--user1:user1:Change directory failed:No such file or directory.Logining in? with home="/" [user1@manjaro /]$?
這里,查看,/etc/passwd文件:
[user1@manjaro /]$ sudo cat /etc/passwd? ... user1:x:1001:1001::user1:/bin/bash ...
對(duì)應(yīng)user1一行應(yīng)該是:
user1:x:1001:1001::/home/user1:/bin/bash
mkhomedir_helpe 命令,僅僅是創(chuàng)建了用戶(hù)目錄,卻沒(méi)有修改/etc/passwd 文件。
解決方法就是,更改用戶(hù)user1的家目錄位置信息:
sudo usermod ?user1 ?--home ?/home/user1
再檢查passwd 文件內(nèi)容:
user1:x:1001:1001::/home/user1:/bin/bash
用戶(hù)user1 也能正常登錄了。
Linux用戶(hù)、組管理及目錄操作
linux用戶(hù)管理
1、任何使用linux的系統(tǒng)資源的用戶(hù)
必須用一個(gè)合法的賬號(hào)和密碼,賬號(hào)和密碼一般像系統(tǒng)管理員申請(qǐng),root是linux系統(tǒng)安裝時(shí)默認(rèn)創(chuàng)建的系統(tǒng)管理員賬號(hào)
2、添加用戶(hù):useradd 用戶(hù)名

linux中用戶(hù)不會(huì)獨(dú)立于組存在,創(chuàng)建用戶(hù)時(shí)如果不指定組,會(huì)默認(rèn)創(chuàng)建一個(gè)組,組名和用戶(hù)名相同,并將用戶(hù)添加到該組
3、給用戶(hù)設(shè)置密碼:passwd 用戶(hù)名

當(dāng)我們?cè)O(shè)置過(guò)于簡(jiǎn)單的密碼或者容易被破解的密碼時(shí),linux會(huì)給出相應(yīng)的提示,但是其實(shí)也是可以設(shè)置上的,再輸入一遍密碼即可設(shè)置成功,如果是正式環(huán)境請(qǐng)?jiān)O(shè)置復(fù)雜密碼,因?yàn)槲沂亲鰷y(cè)試,所以設(shè)置比較簡(jiǎn)單。
4、刪除用戶(hù):userdel 用戶(hù)名
userdel user:僅刪除用戶(hù)userdel -r user:刪除用戶(hù)的同時(shí)級(jí)聯(lián)刪除它的主目錄
5、查看用戶(hù)信息:id 用戶(hù)名

6、切換用戶(hù) :su 用戶(hù)名

從權(quán)限高的用戶(hù)切換到權(quán)限低的用戶(hù),不需要密碼驗(yàn)證,反之需要密碼驗(yàn)證
linux的組管理
1、linux中的組相當(dāng)于角色的概念,可以對(duì)有共性的用戶(hù)進(jìn)行統(tǒng)一管理,如上:每個(gè)用戶(hù)至少屬于一個(gè)組,不能獨(dú)立于組存在。
2、添加組:groupadd 組名
3、刪除組:groupdel 組名

4、把用戶(hù)添加到組中:gpasswd -a 用戶(hù)名 組名

5、把用戶(hù)從組中移除:gpasswd -d 用戶(hù)名 組名

6、添加用戶(hù)時(shí),指定所屬的組(主組):useradd -g 組名 用戶(hù)名

linux中的系統(tǒng)操作命令
關(guān)機(jī):
- shutdown now 立即關(guān)機(jī)
- shutdown -h xxx 定時(shí)關(guān)機(jī)
- shutdown -r now 立即重啟
重啟:reboot 立即重啟
同步數(shù)據(jù):sync
linux中的幫助命令
1、查看linux系統(tǒng)手冊(cè)上的幫助信息:man 命令
分屏顯示信息,按回車(chē)翻一行,按空格翻一頁(yè),按q退出查看
舉例:man ls

2、查看命令的內(nèi)置幫助信息:help 命令

linux中的文件目錄命令
1、查看當(dāng)前所在目錄:pwd

2、查看指定目錄下所有的子目錄或者文件列表:ls [指定目錄](méi)
- []表示參數(shù)可選ls

- ls -l [指定目錄](méi):列表形式顯示
- ls -a [指定目錄](méi):顯示包含虛擬目錄/隱藏目錄
- ls -al [指定目錄](méi):多個(gè)選項(xiàng)可以組合使用

3、 切換目錄: cd 目錄名
- 絕對(duì)目錄:以盤(pán)符開(kāi)始的目錄
- cd /opt/testDir
- 一個(gè)特殊的絕對(duì)目錄 ~:當(dāng)前用戶(hù)的根目錄 cd ~
- 相對(duì)目錄:以當(dāng)前目錄名開(kāi)始的目錄
- cd testDir
![]()
- 特殊的相對(duì)目錄 ..:當(dāng)前目錄的上一級(jí)目錄 cd ..
- .:當(dāng)前目錄 cd . 一般執(zhí)行shell文件時(shí)用到 ./xxx.sh
4、創(chuàng)建目錄:mkdir 目錄名(可用絕對(duì)/相對(duì)目錄)
mkdir默認(rèn)只創(chuàng)建一級(jí)目錄
增加-p選項(xiàng)可以一次創(chuàng)建多級(jí)目錄

5、刪除一個(gè)空目錄:rmdir 目錄名
6、創(chuàng)建文件:touch 文件名列表(文件名之間用空格隔開(kāi))

7、復(fù)制文件/目錄:cp source(源) dest(目標(biāo))

默認(rèn)只復(fù)制當(dāng)前一級(jí)
增加-r選項(xiàng)可以遞歸復(fù)制當(dāng)前級(jí)下的多級(jí)目錄 cp -r test3 test
8、刪除文件或目錄:rm 文件名/目錄名
- -f:強(qiáng)制刪除

- -r:遞歸刪除目錄

- -rf:遞歸強(qiáng)制刪除目錄
9、移動(dòng)文件或目錄:mv source(源) dest(目標(biāo))

- mv t3.txt t3_new.txt:文件重命名
10、查看文件內(nèi)容:cat 文件名
- 內(nèi)容一次性顯示出來(lái)
- -n:顯示行號(hào)

11、分頁(yè)查看文本內(nèi)容:more 文件名
- 空格鍵:翻一頁(yè)
- 回車(chē)鍵:翻一行
q:離開(kāi)more
12、分頁(yè)查看文件內(nèi)容:less 文件名 效率更高
- 空格鍵:翻一頁(yè)
- 回車(chē)鍵:翻一行
- /字串:向下搜尋字串
- ?字串:向上搜尋字串
13、查看文件頭10行內(nèi)容:head 文件名
-n 5:查看頭5行內(nèi)容
14、查看文件尾10行內(nèi)容:tail 文件名
-n 5:查看文件尾5行內(nèi)容-f:循環(huán)讀取
15、echo指令:主要用于輸出系統(tǒng)變量或者常量值到命令行終端
JAVA_HOME、PATH、CLASSPATH echo $JAVA_HOME

一般寫(xiě)在shell腳本中
16、>指令:向指定文件填寫(xiě)前一個(gè)命令的輸出結(jié)果
查看命令(ls、cat、more、less、、、) > 文件名(如果文件不存在,則會(huì)新建一個(gè))
如果目標(biāo)文件已存在,則把文件以前的內(nèi)容覆蓋

17、把前一個(gè)查看命令的結(jié)果追加輸出到指定的文件中:查看命令 >> 文件名
如果文件不存在,則會(huì)新建一個(gè)
如果目標(biāo)文件已存在,則把文件以前的內(nèi)容覆蓋

總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Ubuntu18.04安裝Pycharm教程的實(shí)現(xiàn)
這篇文章主要介紹了Ubuntu18.04安裝Pycharm教程的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-09-09
linux 使用bond實(shí)現(xiàn)雙網(wǎng)卡綁定單個(gè)IP的示例代碼
這篇文章主要介紹了linux 使用bond實(shí)現(xiàn)雙網(wǎng)卡綁定單個(gè)IP的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
Linux兩臺(tái)服務(wù)器之間傳輸文件和文件夾操作步驟
在本篇文章里小編給大家分享了關(guān)于Linux兩臺(tái)服務(wù)器之間傳輸文件和文件夾操作步驟以及注意點(diǎn),需要的朋友們跟著學(xué)習(xí)下。2019-02-02
Centos7實(shí)現(xiàn)磁盤(pán)限額設(shè)置方法
本篇文章給大家詳細(xì)分享了Centos7實(shí)現(xiàn)磁盤(pán)限額設(shè)置方法,對(duì)此有需要的朋友可以參考學(xué)習(xí)下。2018-02-02
vim配置顯示行號(hào)和語(yǔ)法高亮 即.vimrc文件的配置
本文主要介紹vim配置顯示行號(hào)和語(yǔ)法高亮的功能,比較實(shí)用,需要的朋友可以參考一下。2016-06-06

