电脑技术学习

FreeBSD连载(11):系统登录与退出

dn001

系统登录与退出

  系统执行完rc启动脚本之后,FreeBSD将读取/etc/ttys文件,按照配置启动多个虚拟控制台,在 控制台上启动登录进程login,以接受用户登录。使用者可以使用Alt-F1、Alt-F2和Alt-F3等功能键 在不同的控制台之间进行切换。缺省条件下有4个虚拟控制台(其中第四个没有提供登录服务),最多到有12个虚拟控制台 (受标准PC的12个功能键的限制)。

  系统在控制台上印出login提示,此时可以使用root用户和安装时设置的root口令登录系统。

  FreeBSD/i386 wb.online.ha.cn (ttyv0)

  login: root

  PassWord:

  用户通过口令认证之后,系统将/etc/motd中的内容显示到屏幕上,这个文件中通常放置系统管理员想通知 每个用户的通告内容,从而通知正在登录的用户有关信息。然后login程序启动用户的登录shell,由登录shell 执行/etc/profile为用户设置好使用环境。

  当登录到系统之后,用户就能输入各种命令,以使用FreeBSD系统处理各项任务。

  当工作完成之后,可以使用logout命令退出当前会话。使用exit,或使用键Ctrl-D(^D),都能 结束当前会话,退出登录过程。

  # logout

  • 关闭系统

  由于FreeBSD是多任务系统,同时有多个进程在运行,并且使用了磁盘缓冲技术以提供更佳的系统效率,因此 使用直接关闭电源的方法关闭计算机会对系统造成破坏。在非正常关机之后的再次启动过程中,系统将侦测到上次没有正确关 闭系统,并自动运行硬盘检查程序fsck(由rc文件启动),来检查并修复硬盘的错误。

  关机需要在以root身份登录进入系统之后,使用shutdown命令来进行关闭系统,需要使用-h参数,表 示halt,停机操作:

  # shutdown -h now

  Feb 4 12:18:26 wb shutdown: halt by root:

  Feb 4 12:18:29 wb syslogd: exiting on signal 15

  syncing disks... done

  The operating system has halted.

  Please press any key to reboot.

  一些情况下,如更新了系统内核时,要重新启动系统。则应使用-r参数,表示reboot,重新启动系统:

  # shutdown -r now

  如果没有使用-h或-r参数,shutdown命令将试图进入单用户状态,这与在启动时在boot loader 中下输入boot -s命令进入单用户模式略有差别,由于在多用户状态时系统中有多个进程运行,当进入单用户状态 时可能有些进程不能正常退出,同时文件系统的状态也有差别。

  而参数now为一个时间参数, “now” 表示立即执行shutdown操作。由于FreeBSD是多用户 系统,在执行shutdown时会有其他用户通过网络使用这个系统,正常情况下应该延迟一端时间再执行shutdown 操作,给那些正在连接的用户一定的时间用于保存数据并退出系统,就需要使用其他时间参数来启动shutdown。例 如:下面命令将使系统在2分钟后停机,同时也将向正在登录的用户发送广播信息,将后面参数中的信息通知当前登录的各个 用户:

  # shutdown -h +2 “Hi guys! please logout”

  时间参数除了这种增量形式,也可以使用不用”+”号的绝对形式来表示,那么时间参数就为hhmm的格式,如 0120表示1:20等。

  在系统还没有停机或重起的时间间隔内,shutdown将产生/etc/nologin文件,而系统中的 login程序将检查是否存在这个文件,当发现存在这个文件时就阻止非root用户登录系统。正常情况下shutdown 执行真正的停机或重起操作时会删除这个文件,如果这个文件因为某些原因而没有被删除,那么系统login进程将不允许 普通用户登录。

  用于立即启动和停机的命令还有reboot和halt,相当于使用-r或-h参数的shutdown指令。因 为这是立即执行的命令,没有提供警告登录用户的功能。由于命令相对简单,因此单人使用的系统中可以很方便的使用。

  如果使用者没有使用root登录进系统,但是可以接触到控制台,那么仍然可以正常关机而不破坏系统。使用者可 以使用Ctrl-Alt-Del热键重起计算机,就在计算机进入BIOS自检时,再关闭计算机的电源。这种方法在系统 屏蔽了Ctrl-Alt-Del热键的启动能力之后就不再有效。

  在重新定制内核时使用 “options SC_DISABLE_REBOOT” 可以屏蔽系统控制台 的热启动功能。

未完,待续。。。  

标签: