网络安全 频道

使用Sudo让Solaris更加安全

五、Sudo 命令参数详解

  sudo命令格式如下:

  sudo -K | -L | -V | -h | -k | -l | -vsudo [-HPSb] [-a auth_type] [-c class|-] [-p prompt] [-u username|#uid] {-e file [...] | -i | -s | command}

  下面我们再来看一下sudo其它常用的一些参数:

  还有一些不常用的参数,在手册页sudo(8)中可以找到。

  六、无需口令的情形

  有些情况下,没有必要每次运行sudo时都得输入口令,因为该用户已经登录到系统上了。所以,sudo 为我们提供了一种有效的方法来避免这种单调乏味的任务,办法就是在sudoers 文件中加入NOPASSWD 标签。修改goodcjh1的用户权限规定,如下所示:

  goodcjh1 cjh = NOPASSWD: /sbin/ifconfig, /bin/kill, /bin/ls

  然后按ESC键,然后键入:wq 来写入并退出文件。

  七、Sudo的日志功能

  sudo为安全考虑得很周到,不仅可以记录日志,还能在有必要时向系统管理员报告。但是,sudo的日志功能不是自动的,必须由管理员开启。这样来做:

  # touch /var/log/sudo# vi /etc/syslog.conf

  在syslog.conf最后面加一行(必须用tab分割开)并保存:

  local2.debug /var/log/sudo

  重启日志守候进程,

  ps aux | grep syslogd

  把得到的syslogd进程的PID(输出的第二列是PID)填入下面:

  kill –HUP PID

  这样,sudo就可以写日志了。

  小技巧:缺省visudo命令使用vi编辑。 如果你喜欢emacs或者pico,可以放置对可变的EDITOR环境变量,命令如下:

  例如,如果你使用pico编辑,运行bash解释器:

  export EDITOR=/usr/bin/pico

  csh和 tcsh解释器:

  setenv EDITOR /usr/bin/pico editor

  总结:通过sudo,我们能把某些超级权限有针对性的下放,并且不需要普通用户知道root密码,所以sudo 相对于权限无限制性的su来说,还是比较安全的,所以sudo 也能被称为受限制的su ;另外sudo 是需要授权许可的,所以也被称为授权许可的su; sudo 执行命令的流程是当前用户切换到root(或其它指定切换到的用户),然后以root(或其它指定的切换到的用户)身份执行命令,执行完成后,直接退回到当前用户;而这些的前提是要通过sudo的配置文件/etc/sudoers来进行授权。

  附录:BSD许可证

  The BSD License(BSD)是Berkeley Software Distribution License(柏克莱软件发布授权条款)的缩写,许多软件是在此一授权条款下发布的。因为BSD起源自加州大学柏克莱分校,所以最原始发布的BSD拥有者是加州大学董事会。又因一些软件设计师修订BSD的部份内容以做为其软件程序授权使用,造成BSD有多种不同条款内容,统称BSD-style授权条款。最初的BSD是由四个主要条款构成的,其中广告条款的存在让许多后来参与修改原始码的使用者均会将其名字加入声明之中,而遭受GNU计划(GNU Project)的批评:该广告条款造成非常冗长的声明内容,是相当不便利,且易发生使用上困扰而与GPL不兼容。而为了响应Richard Stallman(GNU 计划的主导者与GPL的起草者),BSD的官方主导人William Hoskins遂在一九九九年七月二十二日率先将该广告条款自BSD中删除,也引发其它使用BSD者的跟进,删除广告条款之后的BSD被称为「三条款 BSD」(3-clause BSD),而原本的被称为「四条款BSD」(4-clause BSD)。而BSD与其它授权条款如GPL条款内容相比,是几乎没有限制的,因此是更接近公共领域(public domain)的。BSD授权许可证没有实现"通透性"自由,也就是其不保证软件源代码开放的连续性。这样如果你希望采用别人开发的BSD软件,进行一些修改,然后作为产品卖,或者仅仅保密自己的做的一些除了软件开发以外的工作,那么你就可以从中得利。从赚钱为目的的商务角度看来,如果你使用了BSD授权许可证的软件,那么你就可以任意进行。你可以更好地控制你的OS系统,并且防止其他人拷贝你的商业产品。

0
相关文章