UBUNTU 用戶及用戶組管理 修改用戶和主機名

轉載鏈接:http://blog.sina.com.cn/s/blog_66439a3e0101dm1g.html


一、用戶及用戶組管理

創建組:
$sudo addgroup ccache

創建用戶:
$sudo useradd ccache -g ccache -M

創新wfz用戶并創建HOME目錄,指定用戶組為ccache
$sudo useradd wfz -g ccache -m

增加已存在用戶到指定組
$sudo adduser $USER ccache

$sudo adduser dbh ccache
$sudo adduser paul ccache
$sudo adduser wfz ccache

顯示用戶ID及組信息:
~$ id
uid=1001(dbh) gid=1001(dbh) groups=115(admin),1001(dbh)
$ cat /etc/group
ccache:x:1002:dbh,paul,wfz

1. 用戶和用戶組的管理:

Linux的多用戶概念是指多個用戶同時可以使用這個系統。

(1)用戶帳號文件——passwd

Passwd是一個文本文件(每一行標識1個用戶),定義了系統的用戶帳號,該文件位于“/etc”目錄下。文件中包含了一個系統帳戶列表,存放了每個賬戶一些有用的信息,如用戶ID,組ID,主目錄,shell等等(用“:”分隔開來)。只定義了用戶帳號,而不保存口令(用“x”表示,如果沒有sun::則表示沒有密碼)。真正的密碼存放在Shadow文件中,普通用戶根本不能讀,加密后的密文無法讀到就可以提高用戶帳號的安全性。

例如:

[root@sun root]# head /etc/passwd

root:x:0:0:root:/root:/bin/bash表示有7個字段:登錄名:有無口令:用戶ID:組ID:賬戶備注信息:用戶Home目錄:登錄時用戶shell的名稱(超級用戶有權限修改)

(2)用戶口令文件——shadow

每行定義了一個用戶信息,行中各字段用:分開,為進一步提高安全性,口令文件存放用戶已經加密的口令:*,特殊符號

[root@sun root]# head /etc/shadow

登錄名:加密的口令(用*或其他特殊字符表示):上次更改口令距離1970.1.1的天數:口令更改后不可更改的天數:口令更改后必須再更改的天數(有效期):口令失效前警告用戶的天數:口令失效后距帳號被查封的天數:帳號被封時距1970.1.1的天數:保留未用。

(3)用戶組帳號文件——group

用戶組:邏輯的組織用戶帳號的集合的方式,用戶允許在其組內共享文件,系統每個文件都有一個用戶和附屬的用戶組。使用“ls-l”命令可以查看每個文件的屬性和組。

[root@sun root]# head /etc/group

root:x:0:root,tom,mary (組名:組加密口令:GID:組成員列表(用,隔開的每個組用戶名))

(4)用戶組口令文件——gshadow

用于定義用戶組口令,用戶組管理員信息。該文件只有超級用戶root才可以讀取

每行記錄信息:

[root@sun root]# head /etc/gshadow

用戶組:用戶組加密口令:組管理員帳號(管理員有權進行增刪帳號):組成員列表

2. 用戶和用戶組賬戶維護的命令:

(1)增加用戶賬戶:useradd 用戶名

useradd –g 組名 用戶名 指定該用戶所使用的私有組名,默認是與用戶帳號同名的私有組。

useradd –D [-g group][-b base][-s shell][-f inactive][-e expire]用于顯示和設置useradd該命令所使用的默認值。

例如:#useradd sun //建立用戶帳號

#tail -l /etc/passwd //查詢passwd中添加的用戶賬戶的信息

#tail –l /etc/shadow

#ls /home //查看所建立帳號的主目錄

(2)修改用戶帳號屬性:usermod [-LU][-c ][-d ][-e ][-f ][-g][-G][-l][-s][-u][用戶帳號]

(3)刪除用戶帳號:userdel [-r][用戶帳號] //如果不加參數則只刪除用戶帳號,不刪除文件,否則兩者都刪除。

userdel [-r][用戶帳號] //-r用來刪除帳號登入目錄和目錄中所有文件

舉例:#grep sun /etc/passwd //查詢用戶帳號sun是否存在

#userdel sun //刪除用戶帳號sun

#grep sun /etc/passwd //再次查詢用戶帳號sun是否存在

#ll –d /home //查詢用戶sun主目錄是否存在

#userdel –r sun //刪除用戶的同時,刪除其工作主目錄

(4) 增加用戶組帳號:groupadd [-r][組帳號]

【注意】帳號ID唯一,數值不可為負,預設最小值不得小于500,且每增加一個,組帳號ID逐次自增1。其中-r參數是用來建立系統帳號的。0~499是給系統帳號準備的。

舉例:#groupadd magicSun //建立組賬戶magicSun

#grep magicSun /etc/group //查詢group文件中magicSun組賬戶是否建立

#groupadd –r sysWang //建立系統組賬戶sysWang

#grep sysWang /etc/group //查詢group文件中sysWang系統組賬戶是否建立

(5)修改組帳號:groupmod [-g ][-n][群組名稱]

其中-o表示重復使用群組識別碼

(6)刪除組帳號:groupdel [群組名稱]

【注意】必須先刪除組中的用戶才能刪除該組

(7) 口令維護:passwd [-s][-l][-u][-d][用戶名]超級用戶可以為每一位新增的用戶設置口令,普通用戶只能用不帶參數的passwd命令來修改自己的口令。其中參數-s表示用于查詢指定用戶帳號的狀態,-l用戶鎖定帳號的口令,-u解鎖帳號口令,-d刪除指定帳號的口令。

(8)組用戶成員維護:將一個賬戶添加到組、或將一個賬戶從組中刪除、將一個賬戶設為組管理員。

添加用戶到組:gpasswd –a 用戶帳號名 組帳號名

從組中刪除用戶:gpasswd –d用戶帳號名 組帳號名

設置用戶為組管理員:gpasswd –A 組管理員用戶列表 用戶組

(9)用戶和組的狀態命令:

id [選項] [用戶名稱] 用于顯示用戶當前UID,gid以及所屬群組的組列表

[選項]參數有:

-g :顯示用戶所屬群組的id

-G:顯示用戶所屬附加群組的id

-n:顯示用戶所屬群組或附加群組的名稱

-r:顯示實際ID

-u:顯示用戶ID

whoami 用于顯示登錄者自身的名稱(=id -un)

su [-flmp] [-][-c ][-s][用戶帳號]//用來將當前用戶轉換為其他用戶身份,暫時變更自己的登錄身份,用其他人的身份來登錄系統。前提是必須知道對方的口令。其中參數-c表示執行完指定的指令后恢復原來的身份。-f適用于csh和tsch,使shell不用去讀取啟動文件。-表示改變身份時也同時變更工作目錄,以及HOME,SHELL,USER,LOGNAME,此外也會變更PATH環境變量。-m,-p 變更身份時不變更環境變量。-s指定要執行的shell。若不指定要變更的用戶賬戶,那么預設為root超級用戶。

groups [用戶名稱] 用于顯示指定用戶所屬的組,若未指定用戶則顯示當前用戶所屬組


二、 Ubuntu更改用戶名及相應的用戶主目錄

方法1:
  1、修改用戶名。
  usermod -l new_username -d /home/new_username -mold_username
用usermod命令來修改用戶帳戶相關信息,-l指定新的登錄名稱,-d指定新的主目錄,如果同時指定-m選項則移動原來用戶主目錄的內容到新的用戶住目錄,最后指定原來的登錄用戶名。
  2、修改組名
  groupmod -n new_username old_username
groupmod命令用來修改組相關信息,-n用來指定新的組名,用原來的組名作為參數。這里修改的是與用戶默認同名的組。
  3、更改用戶的全稱
  chfn -f new_fullname new_username
chfn命令來修改真實的用戶名稱和其他相關信息,-f指定新的用戶全稱,需要修改全稱的用戶名作為參數
  4、其他修改
更改用戶主目錄后,有些依賴于絕對路徑的程序需要進行相應的修改。firefoxprofile路徑下的extensions.ini里面的有依賴于用戶名的絕對路徑,修改之,用vim打開,然后:%s/old_username/new_username/g,然后:wq即可,prefs.js里面做同樣的處理,firefox就可以正常使用了。其他的東西基本不用動就可以了。

方法2:

修改用戶名稱:

切換到root打開如下兩個配置文件

vi /etc/passwd?

把我想改的"xxx"這個用戶名改為"cyrec"了,保存并退出?
vi /etc/shadow?
同樣把"xxx"改為"cyrec" ,保存并退出?
重啟后名字就變成了cyrec@xxx-dest-top:
現在要修改計算機名稱xxx-dest-top為YYY-ZZZ:
修改有兩步:
[1]修改/etc/hosts:sudo vi /etc/hosts

127.0.0.1??????localhost
192.168.76.21???YYY-ZZZ

# The following lines are desirable for IPv6 capable hosts
::1????localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
~??????????????????????????????????????????????????????????????????????????????
~??????????????????????????????????????????????????????????????????????????????
~??????????????????????

[2]修改/etc/hostname
內容為

YYY-ZZZ

保存,退出,重啟,就可以了。

方法3:

ubuntu 如何修改當前用戶名?

以下我列出新建用戶變更權限的命令了。

增加用戶

sudo adduser用戶名(這個命令會建立文件夾到home下,而且會有更多的信息輸入)

禁用/啟用某個帳戶

sudo usermod -L 用戶名#鎖定用戶(L表示lock)

sudo usermod -U 用戶名#解鎖(U表示unlock)

sudo passwd -l 用戶名 #鎖定用戶(l表示--loginNEW_LOGIN)

sudo passwd -u 用戶名 #解鎖(u表示uid,new UIDfor the user account)

?

增加用戶到admin組,讓其有sudo權限

sudo usermod -G admin-a 用戶名

??????(G表示--groups? 即force use GROUP as new primarygroup。-a 表示append即append the user to the supplemental GROUPS)

刪除用戶 (建議用root登陸刪除)

sudo deluser 用戶名

修改當前用戶的密碼 

passwd

修改用戶密碼 

sudo passwd 用戶名

修改用戶資料

sudo chfn userid(chfn- 改變你的finger(指紋)訊息,即表示修改此用戶的信息,change finger的簡寫)

如何切換到其他帳號(需要該用戶的密碼)

su 用戶名

如何切換到root帳號

sudo -s

以上提供了相關的命令,相信這些應用會達到自己想要的目的了。此外,也可以在按照左上角的系統->系統管理->用戶和組里手動添加用戶和更改用戶的隸屬權限組別了。

具體的信息可以參考官方論壇資料: http://wiki.ubuntu.org.cn/UbuntuSkills中第十項的用戶管理了。

方法4:

ubuntu永久修改主機名

?

1、查看主機名

在Ubuntu系統中,快速查看主機名有多種方法:
其一,打開一個GNOME終端窗口,在命令提示符中可以看到主機名,主機名通常位于“@”符號后;
其二,在終端窗口中輸入命令:hostname或uname –n,均可以查看到當前主機的主機名。

2、臨時修改主機名

命令行下運行命令:“hostname 新主機名”
其中“新主機名”可以用任何合法字符串來表示。不過采用這種方式,新主機名并不保存在系統中,重啟系統后主機名將恢復為原先的主機名稱。
例子:hostname ubuntu-temp
這樣主機名字就臨時被修改為ubuntu-temp,但是終端下不會立即顯示生效后的主機名,重開一個終端窗口(通過ssh連接的終端需要重新連接才可以);


3、永久修改主機名

在Ubuntu系統中永久修改主機名也比較簡單。主機名存放在/etc/hostname文件中,修改主機名時,編輯hostname文件,在文件中輸入新的主機名并保存該文件即可。重啟系統后,參照上面介紹的快速查看主機名的辦法來確認主機名有沒有修改成功。

我用的是ubuntu,修改了計算機的名字,當運行sudo ...之后出現如下提示:

sudo: unable to resolve host ubuntu

提示不能解析主機ubuntu,在/etc/hosts中存放了網址的解析,計算機上網時,先訪問這個文件。

添加如下:
127.0.0.1 ubuntu ?#ubuntu是主機名。

保存之后,解決!


值的指出的是,在其它Linux發行版中,并非都存在/etc/hostname文件。如Fedora發行版將主機名存放在/etc/sysconfig/network文件中。所以,修改主機名時應注意區分是哪種Linux發行版。

3、/etc/hostname與/etc/hosts的區別
/etc/hostname中存放的是主機名,hostname文件的一個例子:
v-jiwan-ubuntu-tem

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/276141.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/276141.shtml
英文地址,請注明出處:http://en.pswp.cn/news/276141.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

ping -a 獲取不到主機名_網絡測試命令——PING

命令功能:Linux系統和windows系統的ping命令是常用的網絡命令,它通常用來測試與目標主機的連通性,這樣我們就可以根據它ping輸出的信息來確定目標主機是否可訪問(但這不是絕對的)。有些服務器為了防止通過ping探測到,通過防火墻設…

寫在2021: 值得關注/學習的前端框架和工具庫

前言最近在知乎看到了這么個問題:學完Vue還有必要學習React和Node嗎?[1], 有很奇妙的感覺,因為我在最開始入門前端時,也是以Vue入的門,在“學完”Vue之后, 我也有了這個疑問,但當時的…

萬物互聯之~RPC專欄

3.RPC引入 上篇回顧:萬物互聯之~深入篇 Code:https://github.com/lotapp/BaseCode/tree/master/python/6.net/6.rpc/ 其他專欄最新篇:協程加強之~兼容答疑篇 | 聊聊數據庫~SQL環境篇 3.1.概念 RPC(Remote Procedure Call):分布式系…

python判斷字符大小寫轉換_Python 字符串大小寫轉換的簡單實例

①所有字母都轉換為大寫# -*- coding:utf-8 -*-if __name__ "__main__":a hello, world!print(a.upper())輸出:HELLO, WORLD!②所有字母都轉換為小寫# -*- coding:utf-8 -*-if __name__ "__main__":a HELLO, WORLD!print(a.lower())輸出&am…

正則表達式如何匹配正反斜杠

轉載鏈接:http://wiki.ubuntu.org.cn/Python%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%93%8D%E4%BD%9C%E6%8C%87%E5%8D%97#.E5.8F.8D.E6.96.9C.E6.9D.A0.E7.9A.84.E9.BA.BB.E7.83.A6 反斜杠的麻煩 在早期規定中,正則表達式用反斜杠字符 ("…

前端進階必備Node.js,你得了解一下

作為前端開發,工作中肯定離不開 JavaScript ,而 Node.js 是基于 JavaScript 語言和 V8 引擎的 Web 服務器項目,讓你可以直接使用 JavaScript 來搭架服務器。而且在 Node 環境下,通過模塊化的 JavaScript 代碼,加上函數…

Google推出“Google實驗室” Ad Innovations

4月1日消息,據國外媒體報道,Google近日推出了Ad Innovations功能,類似于“Google實驗室”,但專門用于展示最新的廣告技術、方案等,并征求廣告主的反饋。 目前Ad Innovations已有數款新功能,Google將按照反饋…

JS中utf8和GBK的字符編碼轉換

1、PHP中的 json_encode 函數只限編碼UTF-8的數據,當轉換GBK或者GB2312等編碼的數據時,會將漢字轉為NULL。 2、JavaScript 中json 的使用: ① 將對象轉為json字符串:JSON.stringify(obj)② 將json轉為對象:dataObj ev…

tcptracerte參數_TCP/IP詳解學習筆記(4)-ICMP協議,ping和Traceroute【轉】

1.IMCP協議介紹前面講到了,IP協議并不是一個可靠的協議,它不保證數據被送達,那么,自然的,保證數據送達的工作應該由其他的模塊來完成。其中一個重要的模塊就是ICMP(網絡控制報文)協議。當傳送IP數據包發生錯誤&#xf…

[實踐系列]Promises/A+規范

前言 [實踐系列] 主要是讓我們通過實踐去加深對一些原理的理解。 實踐系列-前端路由 實踐系列-Babel原理 有興趣的同學可以關注 實踐系列 。 求star求follow~ 什么是Promise ? Promise是JS異步編程中的重要概念,異步抽象處理對象,是目前比較流行Javas…

Web Components 上手指南

現在的前端開發基本離不開 React、Vue 這兩個框架的支撐,而這兩個框架下面又衍生出了許多的自定義組件庫:Element(Vue)Ant Design(React)這些組件庫的出現,讓我們可以直接使用已經封裝好的組件&…

隱藏網頁文件的后綴(IIS測試通過)!

網上很多網站會看到如這樣的地址: /content?actadd&id1 /column?actedit&id2 原本是 /content.asp?actadd&id1 /column.asp?actedit&id2 這樣的效果就是在iis上做了下手腳,使用了rewrite重寫組件,就可以實現。 rewrite.rar轉載于:ht…

Linux下查看文件內容的ASCII碼以檢查內容的編碼一致

轉載鏈接:http://blog.csdn.net/tiantang46800/article/details/6460567 ascii查詢方式,查看文件以ascii顯示,od命令 隨著計算機飛速的發展,很多人開始學習Linux,怎樣才能學好Linux,一定要學好Linux的命令…

乘基取整法是什么_十進制小數轉二進制小數乘2取整法的直觀理解

乘2取整法介紹舉例:0.35轉換成二進制0.3520.7 取0(d1)0.721.4 取1(d2)0.420.8 取0(d3)0.821.6 取1(d4)0.621.2 取1(d5)0.220.4 取0(d6)直到滿足規定的位數為止所以(0.35)10(0.d1d2d3d4d5d6)2(0.010110)2這個方法不難掌握,就是有點不好理解&#xf…

如何遠程連接Windows和linux服務器

linux的方法在下面 Windows服務器遠程連接 登錄控制臺查看服務器系統是什么系統例如阿里云的ECS服務器 Windows系統可以使用微軟自帶的遠程工具進行連接,可以連接的系統有Windows server 和Windows 7-10 等等系列;Windows系統,例如Windows10系…

URL是什么

URL是什么意思? 懸賞分:0 - 提問時間2006-3-12 08:14我在玩QQ空間的時候,在添加音樂時會有一個添加URL的地方‘~我是想問那是什么意思???提問者: caoyiwang1107 - 魔法學徒 一級 其他…

手把手教你接入前端熱門抓包神器 - whistle

大家好,我是若川,今天推薦騰訊前端團隊的這篇好文。whistle 是一個基于 Node.js 的跨平臺網絡調試工具。最近隨著 Nohost 的開源,有不少同學問了 whistle 相關的問題,本篇文章將結合幾個常見的業務場景介紹如何在本地前端項目開發…

Linux命令之hexdump - ”十六“進制查看器

轉載鏈接:http://codingstandards.iteye.com/blog/805778 用途說明 hexdump命令一般用來查看”二進制“文件的十六進制編碼,但實際上它的用途不止如此,手冊頁上的說法是“ascii, decimal, hexadecimal, octal dump“,這也就是本文…

使用數據增強技術提升模型泛化能力

在《提高模型性能,你可以嘗試這幾招...》一文中,我們給出了幾種提高模型性能的方法,但這篇文章是在訓練數據集不變的前提下提出的優化方案。其實對于深度學習而言,數據量的多寡通常對模型性能的影響更大,所以擴充數據規…

關于不同用戶進入系統報錯的請求

我自己搞了個系統,用超級用戶進入系統正常,用普通用戶進入系統就報錯,Microsoft JET Database Engine (0x80040E07) 標準表達式中數據類型不匹配。 /xs/huiyuan/huiyuan_bf.asp, 第 203 行 代碼如下請各位高手幫忙 <% if request.Cookies("shiwei_username")"…