当我尝试从命令行或终端关闭计算机时,我必须具有 root 权限:
amy@amy:~$ shutdown now
shutdown: Need to be root
Run Code Online (Sandbox Code Playgroud)
和
amy@amy:~$ halt
halt: Need to be root
Run Code Online (Sandbox Code Playgroud)
但是当使用图形用户界面(即关机按钮或硬件关机按钮)关机时,我不需要输入密码。图形界面的关闭是什么,为什么它不需要密码或 root 权限?
我正在使用 Ubuntu 11.04 Natty。
正如我对模拟器的理解(以简单的方式),它们确实将使用系统 X 的函数的程序的函数调用转换或替换为正在运行程序的系统 Y 使用的函数。Wine项目声称 Wine 不是模拟器,因为:
Wine 不会像虚拟机或模拟器那样模拟内部 Windows 逻辑,而是将 Windows API 调用即时转换为 POSIX 调用,从而消除其他方法的性能和内存损失,并允许您将 Windows 应用程序干净地集成到桌面中。
那么,模拟器和虚拟机如何在主机非 Windows 系统上模拟内部 Windows 逻辑?那不是通过将Windows系统调用转换为主机自己的相应调用吗?模拟器和非模拟器(如 Wine)之间的区别是模拟器模拟整个操作系统,然后应用程序在不知道它正在与模拟器通信的情况下使用该系统 API,而非模拟器直接将应用程序的调用转换为主机的(应用程序也可能不知道)?额外的间接级别是模拟器和 Wine 之间的唯一区别吗?
我在 Windows Active Directory 域中有一个 Linux 机器(Ubuntu 服务器 11.10),并且使用likewise-open加入了域。该resolv.conf文件如下所示:
domain mydomain.com
nameserver 192.168.1.1
nameserver 8.8.8.8
nameserver 8.8.4.4
Run Code Online (Sandbox Code Playgroud)
192.168.1.1Windows 域的 Windows DNS 服务器在哪里。8.8.8.8并且8.8.4.4是 Google 的公共 DNS 服务器,我们更喜欢我们的 ISP 服务器。
该设置运行正常,直到由于我们的网络设计发生了一些变化,我们决定禁用 Windows DNS 服务器中的递归。我认为这会很顺利,因为我们已将其配置为接下来使用 Google 的服务器,但似乎不是:
mydomain\myuser@linux-server:~$ dig google.com
; <<>> DiG 9.7.3 <<>> google.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 55321
;; flags: qr rd; QUERY: 1, ANSWER: 0, AUTHORITY: 13, ADDITIONAL: 4
;; …Run Code Online (Sandbox Code Playgroud) 我认为这里的很多人都错误地输入rm -rf了错误的目录,希望它不会造成巨大的损失。有什么办法可以防止用户做类似的unix 恐怖故事?有人提到(在上一个链接的评论部分)
...我很确定现在每个使用 unix 的 unix 课程或公司都会设置 rm -fr 来禁用试图运行它的人的帐户或阻止他们运行它......
在任何当前的 Unix 或 Linux 发行版中是否有任何实现?即使是系统管理员(具有 root 访问权限),防止该错误的常见做法是什么?
似乎在 Solaris(自 2005 年)和 GNU(自 2006 年)中对根目录( /)有一些保护。无论如何也要对其他一些文件夹实施相同的保护方式吗??
为了更清晰,我没有询问有关使用的一般建议rm(并且我已经更新了标题以表明更多),我想要更像根文件夹保护的东西:为了rm -rf /您必须传递特定参数:rm -rf --no-preserve-root /.. 自定义目录集是否有类似的实现?或者我可以指定除了/受preserve-root选项保护的文件吗?