大连网站建设 仟亿,广州市住房和城乡建设局,《电子商务网站开发》实验报告,做网站用什么软件方便Sudo 是允许系统管理员让普通用户执行一些或者全部的root 命令的一个工具#xff0c;如halt#xff0c;reboot#xff0c;su 等等。这样不仅减少了root 用户的登陆 和管理时间#xff0c;同样也提高了安全性。Sudo 不是对shell 的一个代替#xff0c;它是面向每个命令的。… Sudo 是允许系统管理员让普通用户执行一些或者全部的root 命令的一个工具如haltrebootsu 等等。这样不仅减少了root 用户的登陆 和管理时间同样也提高了安全性。Sudo 不是对shell 的一个代替它是面向每个命令的。它的特性主要有这样几点 § Sudo 能够限制用户只在某台主机上运行某些命令。 § Sudo 提供了丰富的日志详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器。 § Sudo 使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时用户获得了一张存活期为5分钟的票这个值可以在编译的时候改变。 § Sudo 的配置文件是sudoers 文件它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers 属性必须为0411。 编辑配置文件命令:visudo 默认配置文件位置:/etc/sudoers[rootlocalhost ~]# cat /etc/sudoers# sudoers file.## This file MUST be edited with the visudo command as root.## See the sudoers man page for the details on how to write a sudoers file.## Host alias specification# User alias specification# Cmnd alias specification# Defaults specification# Runas alias specification# User privilege specificationroot ALL(ALL) ALL# Uncomment to allow people in group wheel to run all commands# %wheel ALL(ALL) ALL# Same thing without a password# %wheel ALL(ALL) NOPASSWD: ALL# Samples# %users ALL/sbin/mount /cdrom,/sbin/umount /cdrom# %users localhost/sbin/shutdown -h now[rootlocalhost ~]# 可以用visudo 编辑sudoers 配置文件不过也可以直接通过修改sudoers 文件实现不过编辑之前最好看一下它的sample.sudoers 文件里面有一个相当详细的例子可以参考。 第一部分用户定义将用户分为FULLTIMERS、PARTTIMERS 和WEBMASTERS 三类。User_Alias FULLTIMERS millert, mikef, dowdy User_Alias PARTTIMERS bostley, jwfox, crawl User_Alias WEBMASTERS will, wendy, wim第二部分将操作类型分类。Runas_Alias OP root, operator Runas_Alias DB oracle, sybase#第三部分将主机分类。这些都是随便分得目的是为了更好地管理。Host_Alias SPARC bigtime, eclipse, moet, anchor :\ SGI grolsch, dandelion, black :\ ALPHA widget, thalamus, foobar :\ HPPA boa, nag, python Host_Alias CUNETS 128.138.0.0/255.255.0.0 Host_Alias CSNETS 128.138.243.0, 128.138.204.0/24, 128.138.242.0 Host_Alias SERVERS master, mail, www, ns Host_Alias CDROM orion, perseus, hercules第四部分定义命令和命令地路径。命令一定要使用绝对路径避免其他目录的同名命令被执行造成安全隐患 ,因此使用的时候也是使用绝对路径!Cmnd_Alias DUMPS /usr/bin/mt, /usr/sbin/dump, /usr/sbin/rdump,\ /usr/sbin/restore, /usr/sbin/rrestore Cmnd_Alias KILL /usr/bin/kill Cmnd_Alias PRINTING /usr/sbin/lpc, /usr/bin/lprm Cmnd_Alias SHUTDOWN /usr/sbin/shutdown Cmnd_Alias HALT /usr/sbin/halt, /usr/sbin/fasthalt Cmnd_Alias REBOOT /usr/sbin/reboot, /usr/sbin/fastboot Cmnd_Alias SHELLS /usr/bin/sh, /usr/bin/csh, /usr/bin/ksh, \ /usr/local/bin/tcsh, /usr/bin/rsh, \ /usr/local/bin/zsh Cmnd_Alias SU /usr/bin/su 这里是针对不同的用户采用不同地策略比如默认所有的syslog直接通过auth 输出。FULLTIMERS组不用看到lecture第一次运行时产生的消息用户millert使用sudo时不用输入密码以及logfile的 路径在/var/log/sudo.log而且每一行日志中必须包括年。Defaults syslogauth Defaults:FULLTIMERS !lecture Defaults:millert !authenticate DefaultsSERVERS log_year, logfile/var/log/sudo.logroot 和wheel 组的成员拥有任何权利。 如果想对一组用户进行定义可以在组名前加上%对其进行设置.root ALL (ALL) ALL %wheel ALL (ALL) ALLFULLTIMERS可以运行任何命令在任何主机而不用输入自己的密码 FULLTIMERS ALL NOPASSWD: ALL PARTTIMERS 可以运行任何命令在任何主机但是必须先验证自己的密码。 PARTTIMERS ALL ALL jack可以运行任何命令在定义地CSNET128.138.243.0, 128.138.242.0和 128.138.204.0/24 的子网 中不过注意前两个不需要匹配子网掩码而后一个必须匹配掩码。 jack CSNETS ALL lisa 可以运行任何命令在定义为CUNETS128.138.0.0 的子网中主机上。 lisa CUNETS ALL #用户operator 可以运行DUMPS,KILL,PRINTING,SHUTDOWN,HALT,REBOOT 以及在/usr/oper/bin 中的所有命令。 operator ALL DUMPS, KILL, PRINTING, SHUTDOWN, HALT, REBOOT,\ /usr/oper/bin/ joe 可以运行su operator 命令 joe ALL /usr/bin/su operator pete 可以为除root 之外地用户修改密码。 pete HPPA /usr/bin/passwd [A-z]*, !/usr/bin/passwd root bob 可以在SPARC 和SGI 机器上和OP 用户组中的root 和operator 一样运行如何命令。 bob SPARC (OP) ALL : SGI (OP) ALL jim 可以运行任何命令在biglab 网络组中。Sudo 默认“”是一个网络组地前缀。 jim biglab ALL 在secretaries 中地用户帮助管理打印机并且可以运行adduser 和rmuser 命令。 secretaries ALL PRINTING, /usr/bin/adduser, /usr/bin/rmuser fred 能够直接运行oracle 或者sybase 数据库。 fred ALL (DB) NOPASSWD: ALL john 可以在ALPHA 机器上su 除了root 之外地所有人。 john ALPHA /usr/bin/su [!-]*, !/usr/bin/su *root* jen 可以在除了SERVERS 主机组的机器上运行任何命令。 jen ALL, !SERVERS ALL jill 可以在SERVERS 上运行/usr/bin/ 中的除了su 和shell 命令之外的所有命令。 jill SERVERS /usr/bin/, !SU, !SHELLS steve 可以作为普通用户运行在CSNETS主机上的/usr/local/op_commands/ 内的任何命令。 steve CSNETS (operator) /usr/local/op_commands/ matt 可以在他的个人工作站上运行kill 命令。 matt valkyrie KILL WEBMASTERS 用户组中的用户可以以 www 的用户名运行任何命令或者可以su www 。 WEBMASTERS www (www) ALL, (root) /usr/bin/su www 任何用户可以mount 或者umount 一个cd-rom 在CDROM 主机上而不用输入密码。 ALL CDROM NOPASSWD: /sbin/umount /CDROM,\ /sbin/mount -o nosuid\,nodev /dev/cd0a /CDROM 三,使用指令名称sudo 使用权限在 /etc/sudoers 中有出现的使用者 使用方式sudo -V sudo -h sudo -l sudo -v sudo -k sudo -s sudo -H sudo [ -b ] [ -p prompt ] [ -u username/#uid] -s用法:sudo command 说明以系统管理者的身份执行指令也就是说经由 sudo 所执行的指令就好像是 root 亲自执行参数 -V 显示版本编号 -h 会显示版本编号及指令的使用方式说明 -l 显示出自己执行 sudo 的使用者的权限 -v 因为 sudo 在第一次执行时或是在 N 分钟内没有执行 N 预设为五会问密码这个参数是重新做一次确认如果超过 N 分钟也会问密码 -k 将会强迫使用者在下一次执行 sudo 时问密码不论有没有超过 N 分钟 -b 将要执行的指令放在背景执行 -p prompt 可以更改问密码的提示语其中 %u 会代换为使用者的帐号名称 %h 会显示主机名称 -u username/#uid 不加此参数代表要以 root 的身份执行指令而加了此参数可以以 username 的身份执行指令#uid 为该username 的使用者号码 -s 执行环境变数中的 SHELL 所指定的 shell 或是 /etc/passwd 里所指定的 shell -H 将环境变数中的 HOME 家目录指定为要变更身份的使用者家目录如不加 -u 参数就是系统管理者 root command 要以系统管理者身份或以 -u 更改为其他人执行的指令范例 sudo -l 列出目前的权限 sudo -V 列出 sudo 的版本资讯指令名称:sudoers 在fc5 下显示不能找到此命令但用man 可以查到其用法。用来显示可以使用sudo 的用户 转载于:https://blog.51cto.com/shenyj/1381156