su和sudo的区别1

上一篇 / 下一篇  2008-12-11 22:16:16 / 个人分类:Lunix 点滴

  • 文件版本: V1.0
  • 开发商: 本站原创
  • 文件来源: 本地
  • 界面语言: 简体中文
  • 授权方式: 免费
  • 运行平台: Win9X/Win2000/WinXP
一.   使用 su 命令临时切换用户身份

1、su 的适用条件和威力51Testing软件测试网u4i(lIG;m#h$o

su命令就是切换用户的工具,怎么理解呢?比如我们以普通用户beinan登录的,但要添加用户任务,执行useradd ,beinan用户没有这个权限,而这个权限恰恰由root所拥有。解决办法无法有两个,一是退出beinan用户,重新以root用户登录,但这种办法并不是最好的;二是我们没有必要退出beinan用户,可以用su来切换到root下进行添加用户的工作,等任务完成后再退出root。我们可以看到当然通过su 切换是一种比较好的办法;

+q,Z O` hi |0

通过su可以在用户之间切换,如果超级权限用户root向普通或虚拟用户切换不需要密码,什么是权力?这就是!而普通用户切换到其它任何用户都需要密码验证;51Testing软件测试网Wg1YKr!P K

2、su 的用法:51Testing软件测试网6~ t"dSkjt

su [OPTION选项参数] [用户]51Testing软件测试网jZZ1NK]

-, -l, --login 登录并改变到所切换的用户环境;

H:^ s"o0M-^+v0

-c, --commmand=COMMAND 执行一个命令,然后退出所切换到的用户环境;

5n9a {&`M0

至于更详细的,请参看man su ;

0u4lK D$VGoAQ0

3、su 的范例:

Tm:s9[:m(k0

su 在不加任何参数,默认为切换到root用户,但没有转到root用户家目录下,也就是说这时虽然是切换为root用户了,但并没有改变root登录环境;用户默认的登录环境,可以在/etc/passwd 中查得到,包括家目录,SHELL定义等;51Testing软件测试网)_9S0|j"AWN

[beinan@localhost ~] $ su51Testing软件测试网1t;l0Qh.kOa*kb
Password:51Testing软件测试网SA7l0]pWR!sJ"H5]~5B
[root@localhost beinan]# pwd
R{5r4^9Y-D0/home/beinan

su 加参数 - ,表示默认切换到root用户,并且改变到root用户的环境;

B&HA2tUHH~u_0
[beinan@localhost ~] $ pwd51Testing软件测试网z8[E)X
pZ7KPAI/|
/home/beinan51Testing软件测试网8~U!aT*CU@OW
[beinan@localhost ~] $ su -
m@a:Yuj7gf0Password:
bj!WUG7K-Rx,F+r"[0[root@localhost ~]# pwd
8K^fUcOv5E5e0/root

su 参数 - 用户名

h3B5n'@)?*G%E0

[beinan@localhost ~] $ su - root 注:这个和su - 是一样的功能;

F}!`w1_u1ht0

Password:51Testing软件测试网'@"H3Gy YDq2F

[root@localhost ~]# pwd

3H~F7w!Bj kn0

/root

+JHM5A:Z\:D0

[beinan@localhost ~] $ su - linuxsir 注:这是切换到 linuxsir用户

0n2]%L}0@6~&s:]V"AUi0

Password: 注:在这里输入密码;51Testing软件测试网!enG9A|

[linuxsir@localhost ~] $ pwd 注:查看用户当前所处的位置;51Testing软件测试网%khl+f*rf%ef]3m

/home/linuxsir51Testing软件测试网-kTB-x tY5?

[linuxsir@localhost ~] $ id 注:查看用户的UID和GID信息,主要是看是否切换过来了;

b1xwR&FJx0

uid=505(linuxsir) gid=502(linuxsir) groups=0(root),500(beinan),502(linuxsir)51Testing软件测试网)T"D"T.V9rI

[linuxsir@localhost ~] $

&M"PnB%B:Irx#i0

[beinan@localhost ~] $ su - -c ls 注:这是su的参数组合,表示切换到root用户,并且改变到root环境,然后列出root家目录的文件,然后退出root用户;51Testing软件测试网Yg7|.E6q0a

Password: 注:在这里输入root的密码;

G F"[gN4r0

anaconda-ks.cfg Desktop install.log install.log.syslog testgroup testgroupbeinan testgrouproot

f4_ cPk7ohYO0

[beinan@localhost ~] $ pwd 注:查看当前用户所处的位置;51Testing软件测试网"E/k.c:fK-[

/home/beinan51Testing软件测试网0l3D7He3R

[beinan@localhost ~] $ id 注:查看当前用户信息;

6@#Rs Ai#Q&N$i0

uid=500(beinan) gid=500(beinan) groups=500(beinan)

(Da? n4q _Kc9F.X0

4、su的优缺点;

,qi,Co%SS/gf0

su 的确为管理带来方便,通过切换到root下,能完成所有系统管理工具,只要把root的密码交给任何一个普通用户,他都能切换到root来完成所有的系统管理工作;但通过su切换到root后,也有不安全因素;比如系统有10个用户,而且都参与管理。如果这10个用户都涉及到超级权限的运用,做为管理员如果想让其它用户通过su来切换到超级权限的root,必须把root权限密码都告诉这10个用户;如果这10个用户都有root权限,通过root权限可以做任何事,这在一定程度上就对系统的安全造成了威协;想想Windows吧,简直就是恶梦;“没有不安全的系统,只有不安全的人”,我们绝对不能保证这 10个用户都能按正常操作流程来管理系统,其中任何一人对系统操作的重大失误,都可能导致系统崩溃或数据损失;所以su 工具在多人参与的系统管理中,并不是最好的选择,su只适用于一两个人参与管理的系统,毕竟su并不能让普通用户受限的使用;超级用户root密码应该掌握在少数用户手中,这绝对是真理!所以集权而治的存在还是有一定道理的;51Testing软件测试网'`'Gr!fU^U!@

TAG:

 

评分:0

我来说两句

Open Toolbar