转自: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帐号的权限。
以上三种方法,建议使用 第一种,第三种强烈不建议使用,企业也不会去使用。