su和sudo命令的区别与使用技巧1

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

  • 文件版本: V1.0
  • 开发商: 本站原创
  • 文件来源: 本地
  • 界面语言: 简体中文
  • 授权方式: 免费
  • 运行平台: Win9X/Win2000/WinXP

 一.使用su命令临时切换用户身份51Testing软件测试网#r.]U(o,@&F

  1su的适用条件和威力

#]'T`)wwf&c }0

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

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

!Y7w+P Z"_0

  2su的用法:

{cfMu.ua0

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

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

Io1GQm sDC0

  -c, --commmand=COMMAND执行一个命令,然后退出所切换到的用户环境;51Testing软件测试网4Py_'t\^'S

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

'el6]A,zy8OW:f0

  3su的范例:

'NJ vmGAsG0

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

$ suPassword:[root@localhost beinan]# pwd/home/beinan   [beinan@localhost ~]

8Y;}D ^(Y0

  su加参数-,表示默认切换到root用户,并且改变到root用户的环境;51Testing软件测试网C Nd7j_e0F.M

$ su $ pwd/home/beinan[beinan@localhost ~]   [beinan@localhost ~] -Password:[root@localhost ~]# pwd/root51Testing软件测试网/E4] `9~2n*do9O%X%B

  su参数-用户名

cI@D7eM"Nn0

$ su - root注:这个和su -是一样的功能;  [beinan@localhost ~]51Testing软件测试网,D.AorA7c@$X

Password:51Testing软件测试网!MdiQ:Mw-[

  [root@localhost ~]# pwd51Testing软件测试网G5\!a"E ah~

  /root51Testing软件测试网Y9oU+no6O5{Zm'L%a L

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

,w@"CL8m0

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

b5\$YU R kb0

$ pwd注:查看用户当前所处的位置;  [linuxsir@localhost ~]

|G$`-Qa7^s0

  /home/linuxsir

z QusGGd0

$ id注:查看用户的UIDGID信息,主要是看是否切换过来了;  [linuxsir@localhost ~]51Testing软件测试网q.MN ny}Q#y\

  uid=505(linuxsir) gid=502(linuxsir) groups=0(root),500(beinan),502(linuxsir)51Testing软件测试网@:n P-PWk

$   [linuxsir@localhost ~]51Testing软件测试网:z$gNwV'M

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

u0~Sa!Y#T#SYw[0

  Password:注:在这里输入root的密码;51Testing软件测试网4m'R5t+S|2P;zm oz

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

R8p'SC(h3@ys^"A-K0

$ pwd注:查看当前用户所处的位置;  [beinan@localhost ~]

vKI[;I.\(o0

  /home/beinan51Testing软件测试网H"E2f^EHQH3m

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

!a1xJzxS1hh Qt0

  uid=500(beinan) gid=500(beinan) groups=500(beinan)51Testing软件测试网6g8gE6E p-\vV

  4su的优缺点;

x}|b yac0

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

+hT$A\hKKh0
  

TAG:

 

评分:0

我来说两句

Open Toolbar