轉自:http://634871.blog.51cto.com/624871/1325907
在實際工作中,公司不會將root用戶直接給員工使用,而是通過員工自己的賬號臨時獲得系統的root權限。
1.我現在測試的環境是:red hat linux 6
|
1
2
|
[root@rhel1 xcg]
# uname -a
Linux rhel1.kongzhong.com
2.6
.
32
-
279.el6
.x86_64
#1 SMP Wed Jun 13 18:24:36 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux
|
2.創建兩個普通用戶,分別為kongzhong,xcg ;並設置密碼
[下面只演示一個賬號的創建]
|
1
2
3
4
5
6
|
[root@rhel1 ~]
# useradd xcg
[root@rhel1 ~]
# passwd xcg
Changing password foruser xcg.
New password:
Retype new password:
passwd:
all
authentication tokens updated successfully.
|
3.下面有興趣的可以切換到剛才創建的賬號下,安裝一些只有root權限才可以安裝的軟件,看普通用戶是否有權限
4.賦予root權限,有三種方式,如下:
在修改時,我們發現此文件只讀,所以,我們需要在root用戶下,將權限改成可修改的權限,修改完后,記得將權限改為原來的440
|
1
2
3
4
5
6
7
|
[root@rhel1 ~]
# cd /etc/
[root@rhel1 etc]
# ll sudoers
-
r
-
-
r
-
-
-
-
-
.
1
root root
4002
Mar
2
2012
sudoers
[root@rhel1 etc]
# chmod 755 sudoers
[root@rhel1 etc]
# ll sudoers
-
rwxr
-
xr
-
x.
1
root root
4002
Mar
2
2012
sudoers
[root@rhel1 etc]
# chmod 440 sudoers # 此步,在修改好/etc/sudoers里面的內容后,將權限還原
|
(1).方法一:修改 /etc/sudoers 文件,找到下面一行,在root下面添加兩行,如下所示:
|
1
2
3
4
|
[root@rhel1 ~]
# vim /etc/sudoers
root
ALL
=
(
ALL
)
ALL
xcg
ALL
=
(
ALL
)
ALL
# 這個在切換時,是需要輸入密碼的,密碼是當前普通用戶的密碼
kongzhong
ALL
=
(
ALL
) NOPASSWD:
ALL
# 這個在切換時,不需要輸入密碼
|
修改完畢,用xcg,kongzhong帳號登錄,
然后,執行sudo 命令,即可執行相應的命令;
或者 執行sudo su ,臨時切換到root用戶下,獲取root權限。
(2).方法二:修改 /etc/sudoers 文件,去除下面這一行的注釋,然后修改普通用戶默認組為wheel
|
1
2
3
4
|
[root@rhel1 ~]
# vim /etc/sudoers
%
wheel
ALL
=
(
ALL
)
ALL
然后,修改普通用戶,使其屬於wheel 組,命令如下:
[root@rhel1 etc]
# usermod -g wheel kongzhong1
|
修改完畢,用kongzhong1帳號登錄;
然后,執行 sudo 命令,即可執行相應的命令;
或者 執行sudo su ,臨時切換到root用戶下,獲取root權限
(3).方法三:修改 /etc/passwd 文件,找到如下行,把用戶ID修改為 0 ,如下所示:
|
1
2
3
4
|
[root@rhel1 ~]
# vim /etc/passwd
kongzhong2:x:
504
:
504
:kongzhong2:
/
home
/
kongzhong2:
/
bin
/
bash
修改后如下
kongzhong2:x:
0
:
500
:kongzhong2:
/
home
/
kongzhong2:
/
bin
/
bash
|
保存,用kongzhong2賬戶登錄后,直接獲取的就是root帳號的權限。
以上三種方法,建議使用 第一種,第三種強烈不建議使用,企業也不會去使用。
