Debian控制台基础

2024-11-09 36

Debian是一种广泛使用的开源操作系统。它以其稳定性、安全性和灵活性而闻名,被广泛应用于服务器和个人计算机。对于那些想要深入了解Debian系统的人来说,掌握控制台操作是非常重要的。本教程将介绍Debian控制台的相关功能和配置,帮助大家更好地理解和管理Debian系统。

一、shell提示符

启动系统之后,如果没有安装 GUI(例如GNOME 或者 KDE),那么会看到字符登录界面。假设主机名为foo,那么登录提示符将如下所示。

如果安装了一个 GUI 环境,那么仍然能够用 Ctrl-Alt-F3 进入基于字符的登录提示符,同时能通过 Ctrl-Alt-F2 回到 GUI 环。

foo login:

在登录提示符下输入用户名,例如 penguin,然后按回车键,接下来输入密码并再次按回车键。

注意:遵循 Unix 传统,Debian 系统下的用户名和密码是大小写敏感的。用户名通常由小写字母组成。第一个用户账号通常在安装期间进行创建。额外的用户账号由 root 用户用 adduser(8) 创建。

系统以保存在 “/etc/motd” 中的欢迎信息(Message Of The Day)来开始,同时显示一个命令提示符。

Debian GNU/Linux 11 foo tty1
foo login: penguin
Password:
Linux foo 5.10.0-6-amd64 #1 SMP Debian 5.10.28-1 (2021-04-09) x86_64
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu May 13 08:47:13 JST 2021 on tty1
foo:~$

现在,通过shell 解析命令。

二、GUI下的shell提示符

如果在安装 Debian 的过程中,安装了一个 GUI 环境,那么在启动系统后将使用图形登录界面。输入用户名和密码可以登录到非特权用户帐号。使用 Tab 键(跳格键)可以在用户名和密码之间移动,也可以使用鼠标主要键点击。

要在 GUI(图形用户界面)环境下获得 shell 提示符,必须启动一个x 终端模拟器程序,例如gnome-terminal(1)、rxvt(1)或xterm(1)。在 GNOME 桌面环境下,可以按 超级键(Windows 键),在搜索提示里输入”terminal”来打开终端。在其它一些桌面系统(如 fluxbox)下面,可能没有明显的开始菜单入口。如果是这种情况,试下右击桌面屏幕并希望能有弹出菜单。

三、root账户

root 账户也被称作超级用户或特权用户,使用这个账户能够履行下面的系统管理任务:

1、读、写和删除系统上的任何文件,不顾它们的文件权限

2、设置系统上任何文件的所有者和权限

3、设置系统上任何非特权用户的密码

4、免用户密码登录任何帐户

无限权力的 root 账户,要求慎重和负责任的使用。

注意:

  • 千万不要和其他人共享 root 密码.

  • 一个文件(包括硬件设备,如 CD-ROM 等,这些对 Debian 系统来说都只是一个文件)的权限可能会导致非 root 用户无法使用或访问它 。虽然在这种情况下,使用 root 帐户是一个快速的方法,但正确的解决方法应该是对文件权限和用户组的成员进行合适的设置。

四、root shell提示符

这里有一些基本的方法可以让在输入 root 密码后获得 root的 shell 提示符:

1、在字符界面的登录提示符,键入 root 作为用户名登录。

2、在任意用户的 shell 提示符下输入“su -l”。

  • 这不会保存当前用户的环境设定。

3、在任意用户的 shell 提示符下输入“su”。

  • 这会保存当前用户的一些环境设定。

五、GUI系统管理工具

如果桌面菜单没有使用适当权限启动 GUI(图形用户界面)的自动化管理工具,可以在终端模拟器(例如gnome-terminal(1)、rxvt(1)或xterm(1))中 root 的 shell 提示符下启动它。

注意:

永远不要在显示管理器(例如gdm3(1))的提示符下输入root来使用 root 账户启动 GUI 显示/会话 管理器;

永远不要在显示关键信息的 X Window下运行不受信任的远程 GUI 程序,因为它可能会监听 X 屏幕。

六、虚拟控制台

在默认的 Debian 系统中,提供了6个可切换的类VT100字符控制台,用户可以直接在 Linux 主机上启动 shell。除非处于 GUI 环境下,否则可以通过按下左 Alt 键和 F1-F6 中的一个键来在虚拟控制台之间进行切换。每个字符控制台都允许独立登录账户,并提供多用户环境。

如果处于 GUI 环境中,可以通过 Ctrl-Alt-F3 键前往字符控制台 3,也就是同时按下左 Ctrl 键、左 Alt 键和F3 键。可以按下 Alt-F2 回到 GUI 环境,它一般运行在虚拟控制台 2。也可以使用命令行切换到另一个虚拟控制台,例如切换到控制台 3。

# chvt 3

七、退出命令行提示符

在命令行输入Ctrl-D,即同时按下左侧-Ctrl-键和d-键,即可关闭 shell 活动。如果正处于字符控制台,将会返回到登录提示行。尽管这些控制字符 “control D” 使用了大写字母,并不需要按住 Shift-键。Ctrl-D 也可以简写为 ^D。或者,也可以键入 ”exit” 退出命令行。

如果位于x 终端模拟器(1)中,可以使用这个关闭x 终端模拟器窗口。

八、关闭系统

就像任何其他的现代操作系统一样,Debian 会通过内存中的缓存数据进行文件操作以提高性能,因此在电源被安全地关闭前需要适当的关机过程,通过将内存中的数据强制写入硬盘来维持文件的完整性。如果软件的电源控制可用,那么关机过程中会自动关闭系统电源。(否则,可能需要在关机过程之后按电源键几秒钟。)

在普通多用户模式模式下,可以使用命令行关闭系统。

# shutdown -h now

在单用户模式下,可以使用命令行关闭系统。

# poweroff -i -f

九、控制台恢复正常

在有些情况下,例如“cat二进制文件”后,屏幕会发狂,可以在命令行输入“reset”,可能无法在屏幕上看到输入的命令,也可以输入“clear”来清屏。

十、安装额外软件包

建议新手安装的额外软件包,尽管连无需任何桌面环境的 Debian 系统最小安装都提供了基本的 Unix 功能,但对新手而言,使用 apt-get(8) 安装一些基于字符终端的命令行和 curses 软件包(例如 mc 和 vim)依旧是一个不错的主意。

# apt-get update
...
# apt-get install mc vim sudo aptitude
...

如果已经安装了这些软件包,那么不会有新的软件包被安装。

文本模式程序包列表:

软件包流行度大小说明
mcV:50, I:2131542文本模式的全屏文件管理器
sudoV:681, I:8376540给普通用户授予部分 root 权限的程序
vimV:95, I:3733742Unix 文本编辑器 Vi 的改进版,一个程序员的文本编辑器(标准版)
vim-tinyV:57, I:9741730Unix 文本编辑器 Vi 的改进版,一个程序员的文本编辑器(精简版)
emacs-noxV:3, I:1635109GNU 项目的 Emacs,基于 Lisp 的扩展文本编辑器
w3mV:15, I:1872828文本模式的万维网浏览器
gpmV:10, I:12521Unix 风格的文本控制台复制粘贴工具(守护进程)

软件包信息文档列表

软件包流行度大小说明
doc-debianI:865187Debian 项目文档,(Debian 常见问题)和其它文档
debian-policyI:154379Debian 策略手册和相关文档
developers-referenceV:0, I:52604Debian 开发者指导方针和信息
debmake-docI:011701Debian 维护者手册
debian-historyI:04692Debian 项目历史
debian-faqI:862790Debian 常见问题

可以用下面的命令安装这些包。

# apt-get install package_name

十一、额外用户账号

如果不想用自己的主用户账户来进行下面的练习操作,可以使用下面的方式创建一个练习用户账户,比如说,创建一个用户名为 fish 的账号。

# adduser fish

回答所有问题。

这将创建一个名为 fish 的新账号。在练习完成后,可以使用下面的命令删除这个用户账号和它的用户主目录。

# deluser --remove-home fish

十二、sudo配置

对于典型的单用户工作站,例如运行在笔记本电脑上的桌面 Debian 系统,通常简单地配置 sudo(8) 来使为非特权用户(例如用户 penguin)只需输入用户密码而非 root 密码就能获得管理员权限。

# echo "penguin ALL=(ALL) ALL" >> /etc/sudoers

另外,可以使用下列命令使非特权用户(例如用户 penguin)无需密码就获得管理员权限。

# echo "penguin ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers

这些技巧只对管理的单用户工作站中那个唯一的用户有用。

注意:

  • 在多用户工作站中不要建立这样的普通用户账户,因为它会导致非常严重的系统安全问题;

  • 在上述例子中,用户 penguin 的密码及账号要有和 root 账号密码同样多的保护;

  • 为了对受限的设备和文件提供访问权限,应该考虑使用组来提供受限访问,而不是通过sudo(8)来使用 root权限。

随着越来越细致周密的配置,sudo(8) 可以授予一个共享系统上的其它用户有限的管理权限而不共享 root 密码。这可以帮助对有多个管理员的主机进行责任追究,可以了解到是谁做什么。另一方面,可能不想任何人有这样的权限。

十三、动手时间

现在已经准备好在 Debian 系统上开工了,只要使用非特权用户账号就不会有风险。这是因为 Debian 系统(即使是默认安装)会设置适当的文件权限来防止非特权用户对系统造成破坏。