首先,在linux中配置好sudo,让它给予用户bob以超级用户权限来执行ifconfig、kill和ls命令。
当bob 要运行这些命令时,他必须键入sudo 命令,并输入其口令。
1,首先,作为用户bob登录。
2,找出bob可以作为root用户执行的命令,为此,键入以下命令:
sudo –l
3、如果第一次以用户bob的身份运行sudo 的话,会给出一个警告:
4、提示您输入口令,注意,不要输入root用户的口令,而是bob的口令。
Password:
5、将列出允许bob在这个主机上运行的各个命令,如下所示:
⒍ 运行ifconfig 来测试sudo的配置情况。如果不用sudo 的话,该选项需要root权限。命令:
/sbin/ifconfig eth0 down
该命令无效,因为bob无权停用系统的连接设备。
⒎ 为了停用该连接设备,bob 必须使用sudo ,命令:
sudo /sbin/ifconfig eth0 down
这次将会成功执行。请注意,如果bob 的票据已经过期(默认有效期为五分钟)的话,sudo会要求输入bob的口令。 如果在票据的有效期内运行这个命令的话,系统不会提示键入口令。
⒏ 用以下命令来重新激活该连接设备:
sudo /sbin/ifconfig eth0 up
⒐ 然后,利用kill命令重新启动httpd 进程,具体如下所示:
ps aux | grep httpd
⒑ 从显示的列表中选择一个apache PID ;如果没有安装Apache 的话,也可以选择启动其他的服务进程。
命令如下:
kill –HUP [PID NUMBER]
⒒ 它是不会让你重启httpd进程的,因为你不是root用户。所以会收到如下信息:
bash: kill: (PID NUMBER) – Not owner
⒓ 现在,改为使用sudo作为root用户来运行该命令:
sudo kill –HUP (PID NUMBER)
这回成功了。
⒔ 接下来,以用户bob的身份利用ls 命令来显示root目录。
命令:
ls /root
结果被拒绝了,因为不是root用户。
⒕ 好了,现在使用sudo作为root用户执行该命令,看看结果如何:
sudo ls /root
请求被执行了。root用户的目录已经列出来了。
⒖ 为了使bob的时间戳过期,可以通过sudo –k命令来达此目的。这样一来,bob 下一次使用sudo时就必须再次输入口令。
六、无需口令的情形
有时不需要每次运行sudo时都得输入口令,因为该用户已经登录到系统上了。
所以,sudo 为提供了一种有效的方法来避免这种单调乏味的任务,办法就是在sudoers 文件中加入NOPASSWD 标签。
⒈ 为了在sudoers文件中取消对口令的要求,请登录为root 用户,然后键入以下命令:
visudo
⒉ Sudoers 文件会在vi 中打开。修改bob 的用户权限规定,如下所示:
bob your-hostname = NOPASSWD: /sbin/ifconfig, /bin/kill, /bin/ls
⒊ 按ESC键,然后键入:wq 来写入并退出文件:
⒋ 登录为bob ,用下列命令来停用连接设备:
sudo /sbin/ifconfig eth0 down
这次不会要求输入口令了,因为该命令将作为root用户来运行。
⒌ 用以下命令来重新激活该连接设备:
sudo /sbin/ifconfig eth0 up
您可能感兴趣的文章:
centos普通用户增加sudo权限的方法
centos中配置普通用户使用sudo命令的方法
用户无权限使用sudo的解决方法 centos sudoers用法
linux下sudo的日志功能
sudo在sudoers中配置无需输入密码的方法
经典:su sudo sudoers的用法详解
linux下Sudo的配置方法谈
不输入密码执行sudo命令的配置方法
centos启用sudo的简单方法
sudo的配置方法 /etc/sudoers配置文件说明
centos为普通用户添加sudo权限的方法
centos5.5中sudo日志文件的创建与跟踪
有关Sudo的日志功能详解
centos sudo日志文件的创建与跟踪
sudo日志记录到本地或远程的配置方法
linux下sudo的配置方法分享
如何在centos中启用sudo