因为 PPP 需要设定网路设备,变更核心递送表格以及诸如此类的动作,所以它需要以 root 的权限来做这些事
如果 root 以外的使用者要能建立 PPP 连线,那么 pppd 程序应该设为以 root 的身分执行(setuid):-
-rwsr-xr-x 1 root root 95225 Jul 11 00:27 /usr/sbin/pppd
如果 /usr/sbin/ppd
不是设定为这样,那么以 root 的身分下这个指令:
chmod u+s /usr/sbin/pppd
这样是让 pppd 以 root 的权限执行,即使是由一般使用者所执行的 这能让一般使用者执行的 pppd 具有必要的权限建立网路界面及核心递送表格
以 root 的身分执行的程序在安全上是潜在的漏洞,所以你对于设定为 'setuid' 的程序必须非常地小心 许多地程序(包括 pppd)已经被小心地撰写以将用 root 的身分执行的危险降到最低,所以这样做应该是安全地(不过不保证)
根据你希望你的系统如何运作而定,特别是如果你希望你系统里的任何使用者都能启始 PPP 连结,你应该把你的 ppp-on/off 指令稿设定为全部的人都可以读取/执行 (如果你的 PC 只由你使用那么这样大概不错)
然而,如果你不希望任何人都能起始 PPP 连线(例如,你的孩子在你的 Linux PC 上有帐号而你不希望他们在没有你的监督下连上网际网路),你将得建立一个 PPP 群组(编辑 /etc/group
文档)并且:
-rwsr-x--- 1 root PPP 95225 Jul 11 00:27 /usr/sbin/pppd
-rwxr-x--- 1 root PPP 587 Mar 14 1995 /usr/sbin/ppp-on
-rwxr-x--- 1 root PPP 631 Mar 14 1995 /usr/sbin/ppp-off
即使如此,一般使用者仍然无法以软件的方式中止连结
执行 ppp-off
指令稿需要 root 的权限 然何,任何使用者都可以关掉数据机(或将电话线由内接式数据机拔下)
另外一种(更好的)办法,允许使用者使用 sudo
来起动 ppp 连结
这样可以提供更佳的安全性并且可以让你设定让任何(可信任的)使用者使用指令稿来启动/结束连结
使用 sudo
可以让一位可信任的使用者乾净而安全地启动/结束 PPP 连结