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

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

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

6sudo的用法;

O rlH,?Ig @H0

  我们在前面讲的/etc/sudoers的规则写法,最终的目的是让用户通过sudo读取配置文件中的规则来实现匹配和授权,以便替换身份来进行命令操作,进而完成在其权限下不可完成的任务;51Testing软件测试网X&P%DM@e mX5|

  我们只说最简单的用法;更为详细的请参考man sudo

E6u5l l D+~1I0

  sudo [参数选项]命令51Testing软件测试网/^8G8UK+ZN:n"c

  -l列出用户在主机上可用的和被禁止的命令;一般配置好/etc/sudoers后,要用这个命令来查看和测试是不是配置正确的;51Testing软件测试网[gB(U*[j

  -v验证用户的时间戳;如果用户运行sudo后,输入用户的密码后,在短时间内可以不用输入口令来直接进行sudo操作;用-v可以跟踪最新的时间戳;51Testing软件测试网Gr m ]6TdN

  -u指定以以某个用户执行特定操作;51Testing软件测试网_h2f(w,t9u`'u Vr

  -k删除时间戳,下一个sudo命令要求用求提供密码;51Testing软件测试网YA$c4BR

  举列:

.[r D,f.G,j] ^y,v0

  首先我们通过visudo来改/etc/sudoers文件,加入下面一行;

~b,NT&Je&E0

  beinan,linuxsir,%beinan ALL=/bin/chown,/bin/chmod,/usr/sbin/adduser,/usr/bin/passwd [A-Za-z]*,!/usr/bin/passwd root,/sbin/parted,/sbin/fdisk

k:M1}6i8^g0

  然后列出beinan用户在主机上通过sudo可以切换用户所能用的命令或被禁止用的命令;51Testing软件测试网6iqYv\o)P:P4K

$ sudo -l注:列出用户在主机上能通过切换用户的可用的或被禁止的命令;  [beinan@localhost ~]51Testing软件测试网&nE _&_sO4u

  Password:注:在这里输入您的用户密码;

W:~Nk:mE*D&H%o0

  User beinan may run the following commands on this host:51Testing软件测试网2i6@6dd5s]0iFd~

  (root) /bin/chown注:可以切换到root下用chown命令;

.bj DCC#O,BK0

  (root) /bin/chmod注:可以切换到root下用chmod命令;51Testing软件测试网| pK,?JW$I1X

  (root) /usr/sbin/adduser注:可以切换到root下用adduser命令;51Testing软件测试网 z)z {l&~/f;?/Q

  (root) /usr/bin/passwd [A-Za-z]*注:可以切换到root下用passwd命令;51Testing软件测试网9W(CD |6o#d w K

 (root) !/usr/bin/passwd root注:可以切换到root下,但不能执行passwd root来更改root密码;51Testing软件测试网d0~*{I.Ox4yyi C

  (root) /sbin/parted注:可以切换到root下执行parted

C2_ G*H5a}C0

  (root) /sbin/fdisk注:可以切换到root下执行fdisk

b~5v sMi8|/} |0

  通过上面的sudo -l列出可用命令后,我想通过chown命令来改变/opt目录的属主为beinan

]nk0r1R7K2m0

$ ls -ld /opt注:查看/opt的属主;  [beinan@localhost ~]51Testing软件测试网6M-[b6`-~l

  drwxr-xr-x 26 root root 4096 1027 10:09 /opt注:得到的答案是归属root用户和root用户组;51Testing软件测试网 uSbWH$b-C

$ sudo chown beinan:beinan /opt注:通过chown   [beinan@localhost ~]来改变属主为beinan用户和beinan用户组;51Testing软件测试网p|e4t*b8Mi8mK

$ ls -ld /opt注:查看/opt属主是不是已经改变了;  [beinan@localhost ~]51Testing软件测试网D @fW"`3T N&gJ6p

  drwxr-xr-x 26 beinan beinan 4096 1027 10:09 /opt

d6T(]h n:t0

  我们通过上面的例子发现beinan用户能切换到root后执行改变用户口令的passwd命令;但上面的sudo -l输出又明文写着不能更改root的口令;也就是说除了root的口令,beinan用户不能更改外,其它用户的口令都能更改。下面我们来测试;

5e%a%]^M.z0

  对于一个普通用户来说,除了更改自身的口令以外,他不能更改其它用户的口令。但如果换到root身份执行命令,则可以更改其它用户的口令;51Testing软件测试网)`!V8^-[ qt

  比如在系统中有linuxsir这个用户,我们想尝试更改这个用户的口令,51Testing软件测试网Gp3NI0Z2A Y

$ passwd linuxsir注:不通过sudo直接运行passwd   [beinan@localhost ~]来更改linuxsir用户的口令;

:pFZ,YV3r#P0

  passwd: Only root can specify a user name.注:失败,提示仅能通过root来更改;

A)]bO H*w"ud0

$ sudo passwd linuxsir注:我们通过/etc/sudoers   [beinan@localhost ~]的定义,让beinan切换到root下执行passwd命令来改变linuxsir的口令;

id#m%Hk6r3NZ0

  Changing password for user linuxsir.51Testing软件测试网 ] }M"aH!Q0^R

  New UNIX password:注:输入新口令;

4|%gq/U{M0

  Retype new UNIX password:注:再输入一次;

Zoi6Jm{U0
  passwd: all authentication tokens updated successfully.注:改变成功。

TAG:

 

评分:0

我来说两句

Open Toolbar