轉載鏈接: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 [用戶名稱] 用于顯示指定用戶所屬的組,若未指定用戶則顯示當前用戶所屬組
方法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?
127.0.0.1?
192.168.76.21?
# The following lines are desirable for IPv6 capable hosts
::1?
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 用戶名
?
刪除用戶 (建議用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 ...之后出現如下提示:
值的指出的是,在其它Linux發行版中,并非都存在/etc/hostname文件。如Fedora發行版將主機名存放在/etc/sysconfig/network文件中。所以,修改主機名時應注意區分是哪種Linux發行版。
3、/etc/hostname與/etc/hosts的區別
/etc/hostname中存放的是主機名,hostname文件的一個例子:
v-jiwan-ubuntu-tem