Ubuntu創建新用戶並增加管理員權限
$是普通管員,#是系統管理員,在Ubuntu下,root用戶默認是沒有密碼的,因此也就無法使用(據說是為了安全)。想用root的話,得給root用戶設置一個密碼:
$ sudo passwd root
然后登錄時用戶名輸入root,再輸入密碼就行了。
ubuntu建用戶最好用adduser,雖然adduser和useradd是一樣的在別的linux糸統下,但是我在ubuntu下用useradd時,並沒有創建同名的用戶主目錄。
例子:adduser user1
這樣他就會自動創建用戶主目錄,創建用戶同名的組。
root@ubuntu:~# sudo adduser db
[sudo] password for xx:
輸入xx用戶的密碼,出現如下信息
正在添加用戶"db"…
正在添加新組"db" (1006)…
正在添加新用戶"db" (1006) 到組"db"…
創建主目錄"/home/db"…
正在從"/etc/skel"復制文件…
輸入新的 UNIX 口令:
重新輸入新的 UNIX 口令:
兩次輸入db的初始密碼,出現的信息如下
passwd: password updated successfully
Changing the user information for db
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Full Name []:等信息一路回車
這個信息是否正確? [Y/n] y
到此,用戶添加成功。如果需要讓此用戶有root權限,執行命令:
root@ubuntu:~# sudo vim /etc/sudoers
修改文件如下:
# User privilege specification
root ALL=(ALL) ALL
db ALL=(ALL) ALL
保存退出,db用戶就擁有了root權限。
如何修復/home分區和swap分區被誤刪的Ubuntu 12.04
2012-07-07 09:37:28
同事在Ubuntu上調試程序時,眼花繚亂中將掛載/home的分區和SWAP分區給刪除了,導致她的系統無法登錄。由於系統上安裝了很多更新和開發工具,新裝一個系統要重復安裝很多軟件包。這些軟件都安裝在根目錄所在的分區,所以依然在系統中,如果可以修復就避免了很長時間的安裝更新和開發工具的時間。基本上有兩件事要解決:1. 重新做一個掛載/home的分區出來(目前掛載/目錄的分區只有20GB,不夠用);2. 恢復用戶主目錄的基本目錄結構,包括一些默認的用戶配置。
首先重啟系統,用GParted Live CD(或USB Stick)啟動,用GPartd分區工具重新建兩個分區出來,一個格式化為Ext4文件系統,一個不要格式化,標記為swap分區。記住這兩個分區對應的設備節點。
然后重新啟動。由於Ubuntu 12.04並不支持在啟動時修改GRUB的內核啟動參數,無法直接進入單用戶模式操作;只能進入Ubuntu的恢復模式,選擇“Drop to root shell”。進入root shell后,注意到整個文件系統都只讀。這時要對配置文件做一些修改的話,必須將文件系統重新掛在為可讀寫的:
mount -n -o remount,rw /
之后修改/etc/fstab文件。現在這個文件都使用uuid來標識分區,但依然支持過去的用法——直接使用設備節點。刪除掉以前的/home和swap對應的uuid條目,替換成新的格式化后分區的設備節點,比如/dev/sda5,/dev/sda6。這樣就解決了/home的掛載問題。再解決另外一個問題:用戶的主目錄為空。由於過去的主目錄內容已經全部丟失,而且找回的幾率很小,那就可以先刪除用戶再添加用戶重新根據/etc/skel的內容生成用戶主目錄中的內容。簡單的說如下:
userdel -r $FAKE_USER
useradd -n -m -k -u uid $FAKE_USER
passwd $FAKE_USER
如果你擔心以前用戶寫入的文件無法讀取,你可以在重新添加用戶時指定用戶uid。這樣子就可以擁有以前用戶UID所擁有的權限了。
如果你還遇到新生成的$FAKE_USER登錄后無法通過sudo提權的問題,可以重新回到恢復模式下,依然將文件系統remount為可讀寫的,直接修改/etc/sudoers文件:
root ALL=(ALL:ALL) ALL
$FAKE_USER ALL=(ALL:ALL) ALL
或將$FAKE_USER加入到admin組中:
usermod -a -G admin $FAKE_USER
重新啟動,系統重新恢復正常。
重裝win7后如何恢復ubuntu引導
在重裝系統之后,開機啟動界面的ubuntu引導不見了,直接進入新安裝的window系統中。下面是如何恢復ubuntu引導的方法:
1)准備一張ubuntu系統安裝盤;
2)將ubuntu系統安裝盤放入光驅,重新啟動計算機,進入BIOS,將開機啟動設置為光驅(CD/ROM)啟動方式;
3)然后保存設置退出,等待片刻就進入到ubuntu的安裝界面,此時有兩個選擇
1.在該光盤上試用ubuntu系統
2.將ubuntu系統安裝到計算機上
選擇"在該光盤上試用ubuntu系統",進入到ubuntu系統之后,打開終端(快捷鍵組合是Ctrl+Alt+T);
4)在終端下輸入sudo -i(獲得管理員權限)
5)在終端下輸入fdisk -l(是小寫的字母'L',查看盤符列表)
會出現類似下面的信息:
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x70f7ab9c
Device Boot Start End Blocks Id System
/dev/sda1 1 1627 13060096 27 Unknown
Partition 1 does not end on cylinder boundary.
/dev/sda2 * 1627 1639102400 7 HPFS/NTFS
Partition 2 does not end on cylinder boundary.
/dev/sda3 1639 8166 52429859 7 HPFS/NTFS
/dev/sda4 8167 38913 246975277+ 5 Extended
/dev/sda5 8167 32385 194539082+ 7 HPFS/NTFS
/dev/sda6 32386 38788 51432066 83 Linux
/dev/sda7 38789 38913 1004031 82 Linux swap / Solaris
然后找到ID為83的盤符,根據上面顯示的信息可知當時裝ubuntu時是裝在sda6這個分區。
6)在終端輸入mount /dev/sda* /mnt
(*代表ubuntu系統所在的分區,即上一步顯示結果中ID為83的分區號,如上面顯示的是在sda6這個分區,
所以輸入的是mount /dev/sda6 /mnt
注意:mount后面有一個空格,sda6后面也有一個空格,這兩個空格千萬不要漏掉,否則會報錯)
7)上一步結束之后,繼續在終端中輸入grub-install --root-directory=/mnt /dev/sda
等待一會兒,若出現Installationfinished,No Error Reported則表示成功了
(注意:grub-install之間沒有空格,--root前面有一個空格,--root前面是兩個'-',/mnt后面有一個空格)
8)到此,ubuntu引導基本恢復,重啟電腦后,就可以看到熟悉的ubuntu引導界面了,進入ubuntu系統,打開終端輸入
sudo update-grub
等待片刻顯示以下信息:
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.31-20-generic
Found initrd image: /boot/initrd.img-2.6.31-20-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows Vista (loader) on /dev/sda1
Found Windows 7 (loader) on /dev/sda2
done
恢復工作便全部完成了。
$ sudo passwd root
然后登錄時用戶名輸入root,再輸入密碼就行了。
ubuntu建用戶最好用adduser,雖然adduser和useradd是一樣的在別的linux糸統下,但是我在ubuntu下用useradd時,並沒有創建同名的用戶主目錄。
例子:adduser user1
這樣他就會自動創建用戶主目錄,創建用戶同名的組。
root@ubuntu:~# sudo adduser db
[sudo] password for xx:
輸入xx用戶的密碼,出現如下信息
正在添加用戶"db"…
正在添加新組"db" (1006)…
正在添加新用戶"db" (1006) 到組"db"…
創建主目錄"/home/db"…
正在從"/etc/skel"復制文件…
輸入新的 UNIX 口令:
重新輸入新的 UNIX 口令:
兩次輸入db的初始密碼,出現的信息如下
passwd: password updated successfully
Changing the user information for db
Enter the new value, or press ENTER for the default
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Full Name []:等信息一路回車
這個信息是否正確? [Y/n] y
到此,用戶添加成功。如果需要讓此用戶有root權限,執行命令:
root@ubuntu:~# sudo vim /etc/sudoers
修改文件如下:
# User privilege specification
root ALL=(ALL) ALL
db ALL=(ALL) ALL
保存退出,db用戶就擁有了root權限。
如何修復/home分區和swap分區被誤刪的Ubuntu 12.04
2012-07-07 09:37:28
同事在Ubuntu上調試程序時,眼花繚亂中將掛載/home的分區和SWAP分區給刪除了,導致她的系統無法登錄。由於系統上安裝了很多更新和開發工具,新裝一個系統要重復安裝很多軟件包。這些軟件都安裝在根目錄所在的分區,所以依然在系統中,如果可以修復就避免了很長時間的安裝更新和開發工具的時間。基本上有兩件事要解決:1. 重新做一個掛載/home的分區出來(目前掛載/目錄的分區只有20GB,不夠用);2. 恢復用戶主目錄的基本目錄結構,包括一些默認的用戶配置。
首先重啟系統,用GParted Live CD(或USB Stick)啟動,用GPartd分區工具重新建兩個分區出來,一個格式化為Ext4文件系統,一個不要格式化,標記為swap分區。記住這兩個分區對應的設備節點。
然后重新啟動。由於Ubuntu 12.04並不支持在啟動時修改GRUB的內核啟動參數,無法直接進入單用戶模式操作;只能進入Ubuntu的恢復模式,選擇“Drop to root shell”。進入root shell后,注意到整個文件系統都只讀。這時要對配置文件做一些修改的話,必須將文件系統重新掛在為可讀寫的:
mount -n -o remount,rw /
之后修改/etc/fstab文件。現在這個文件都使用uuid來標識分區,但依然支持過去的用法——直接使用設備節點。刪除掉以前的/home和swap對應的uuid條目,替換成新的格式化后分區的設備節點,比如/dev/sda5,/dev/sda6。這樣就解決了/home的掛載問題。再解決另外一個問題:用戶的主目錄為空。由於過去的主目錄內容已經全部丟失,而且找回的幾率很小,那就可以先刪除用戶再添加用戶重新根據/etc/skel的內容生成用戶主目錄中的內容。簡單的說如下:
userdel -r $FAKE_USER
useradd -n -m -k -u uid $FAKE_USER
passwd $FAKE_USER
如果你擔心以前用戶寫入的文件無法讀取,你可以在重新添加用戶時指定用戶uid。這樣子就可以擁有以前用戶UID所擁有的權限了。
如果你還遇到新生成的$FAKE_USER登錄后無法通過sudo提權的問題,可以重新回到恢復模式下,依然將文件系統remount為可讀寫的,直接修改/etc/sudoers文件:
root ALL=(ALL:ALL) ALL
$FAKE_USER ALL=(ALL:ALL) ALL
或將$FAKE_USER加入到admin組中:
usermod -a -G admin $FAKE_USER
重新啟動,系統重新恢復正常。
重裝win7后如何恢復ubuntu引導
在重裝系統之后,開機啟動界面的ubuntu引導不見了,直接進入新安裝的window系統中。下面是如何恢復ubuntu引導的方法:
1)准備一張ubuntu系統安裝盤;
2)將ubuntu系統安裝盤放入光驅,重新啟動計算機,進入BIOS,將開機啟動設置為光驅(CD/ROM)啟動方式;
3)然后保存設置退出,等待片刻就進入到ubuntu的安裝界面,此時有兩個選擇
1.在該光盤上試用ubuntu系統
2.將ubuntu系統安裝到計算機上
選擇"在該光盤上試用ubuntu系統",進入到ubuntu系統之后,打開終端(快捷鍵組合是Ctrl+Alt+T);
4)在終端下輸入sudo -i(獲得管理員權限)
5)在終端下輸入fdisk -l(是小寫的字母'L',查看盤符列表)
會出現類似下面的信息:
Disk /dev/sda: 320.1 GB, 320072933376 bytes
255 heads, 63 sectors/track, 38913 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x70f7ab9c
Device Boot Start End Blocks Id System
/dev/sda1 1 1627 13060096 27 Unknown
Partition 1 does not end on cylinder boundary.
/dev/sda2 * 1627 1639102400 7 HPFS/NTFS
Partition 2 does not end on cylinder boundary.
/dev/sda3 1639 8166 52429859 7 HPFS/NTFS
/dev/sda4 8167 38913 246975277+ 5 Extended
/dev/sda5 8167 32385 194539082+ 7 HPFS/NTFS
/dev/sda6 32386 38788 51432066 83 Linux
/dev/sda7 38789 38913 1004031 82 Linux swap / Solaris
然后找到ID為83的盤符,根據上面顯示的信息可知當時裝ubuntu時是裝在sda6這個分區。
6)在終端輸入mount /dev/sda* /mnt
(*代表ubuntu系統所在的分區,即上一步顯示結果中ID為83的分區號,如上面顯示的是在sda6這個分區,
所以輸入的是mount /dev/sda6 /mnt
注意:mount后面有一個空格,sda6后面也有一個空格,這兩個空格千萬不要漏掉,否則會報錯)
7)上一步結束之后,繼續在終端中輸入grub-install --root-directory=/mnt /dev/sda
等待一會兒,若出現Installationfinished,No Error Reported則表示成功了
(注意:grub-install之間沒有空格,--root前面有一個空格,--root前面是兩個'-',/mnt后面有一個空格)
8)到此,ubuntu引導基本恢復,重啟電腦后,就可以看到熟悉的ubuntu引導界面了,進入ubuntu系統,打開終端輸入
sudo update-grub
等待片刻顯示以下信息:
Generating grub.cfg ...
Found linux image: /boot/vmlinuz-2.6.31-20-generic
Found initrd image: /boot/initrd.img-2.6.31-20-generic
Found memtest86+ image: /boot/memtest86+.bin
Found Windows Vista (loader) on /dev/sda1
Found Windows 7 (loader) on /dev/sda2
done
恢復工作便全部完成了。
