OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

6.6. 创建基本文件和符号链接‌

图片

/工具/bin/{bash,cat,chmod,dd,echo,ln,mkdir,pwd,rm,stty,touch} /bin

/工具/bin/{bash,cat,chmod,dd,echo,ln,mkdir,pwd,rm,stty,touch} /bin

/tools/bin/{环境、安装、perl、printf}

/tools/lib/libgcc_s.so{,.1}

/tools/lib/libstdc++.{a,so{,.6}}

/tools/bin/{环境、安装、perl、printf}

/tools/lib/libgcc_s.so{,.1}

/tools/lib/libstdc++.{a,so{,.6}}

/ usr / bin

/ usr / lib目录

/ usr / lib目录

/ usr / bin

/ usr / lib目录

/ usr / lib目录

一些程序使用硬连线路径指向尚不存在的程序。 为了满足这些程序的要求,在安装软件后,在本章的整个过程中创建一些符号链接,这些符号链接将被真实文件替换:


ln ln

ln

-sv

-sv

-sv

-sv

ln ln

ln


ln -sv bash /bin/sh

ln -sv bash /bin/sh

每个链接的目的:

/ bin / bash

更多来自Google的 打坏 脚本指定 / bin / bash.

/斌/猫

这个路径名被硬编码到 Glibc 的配置脚本中。

/bin/dd

通往的道路 dd 将被硬编码到 /usr/bin/libtool 效用。

/斌/回声

这是为了满足 Glibc 的测试套件中的一个测试,它期望 /斌/回声.

/usr/bin/环境

这个路径名被硬编码到一些包构建过程中。

/usr/bin/安装

通往的道路 安装 将被硬编码到 /usr/lib/bash/Makefile.inc 文件中。

/bin/ln

通往的道路 ln 将被硬编码到 /usr/lib/perl5/5.30.0/ /Config_heavy.pl 文件中。

/bin/密码

配置 脚本,特别是 Glibc 的,有这个路径名硬编码。

/bin/rm

通往的道路 rm 将被硬编码到 /usr/lib/perl5/5.30.0/ /Config_heavy.pl 文件中。

/斌/的stty

该路径名被硬编码到 Expect 中,因此需要 Binutils 和 GCC 测试套件才能通过。

/usr/bin/perl

许多 Perl 脚本将此路径硬编码到 perl的 程序。

/usr/lib/libgcc_s.so{,.1}

Glibc 需要这个来让 pthreads 库工作。

/usr/lib/libstdc++{,.6}

Glibc 的测试套件中的几个测试以及 GMP 中的 C++ 支持都需要这样做。

/ bin / sh的

许多 shell 脚本硬编码 / bin / sh的.


历史上,Linux 在文件中维护一个已挂载的文件系统列表 / etc / mtab. 现代内核在内部维护这个列表,并通过 / proc中 文件系统。 为了满足期望存在的公用事业 /etc/mtab, 创建以下符号链接:


ln -sv /proc/self/mounts /etc/mtab

ln -sv /proc/self/mounts /etc/mtab


为了用户 为了能够登录并识别名称“root”,必须在 / etc / passwd文件 / etc / group 文件。

创建 / etc / passwd文件 通过运行以下命令创建文件:


cat > /etc/passwd << "EOF" root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/dev/null:/bin/false daemon:x:6:6:Daemon User:/dev/空:/斌/假

messagebus:x:18:18:D-Bus 消息守护程序用户:/var/run/dbus:/bin/false 无人:x:99:99:非特权用户:/dev/null:/bin/false

EOF

cat > /etc/passwd << "EOF" root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/dev/null:/bin/false daemon:x:6:6:Daemon User:/dev/空:/斌/假

messagebus:x:18:18:D-Bus 消息守护程序用户:/var/run/dbus:/bin/false 无人:x:99:99:非特权用户:/dev/null:/bin/false

EOF


图片

实际密码 (这里使用的“x”只是一个占位符)稍后会设置。 创建 / etc / group 通过运行以下命令创建文件:


猫 > /etc/group 根:x:0: bin:x:1:守护进程 sys:x:2:

公里:x:3:

磁带:x:4:

tty:x:5: 守护进程:x:6: 软盘:x:7: 磁盘:x:8:

lp:x:9: dialout:x:10: audio:x:11: video:x:12: utmp:x:13: usb:x:14: cdrom:x:15: adm:x:16: messagebus: x:18: 输入:x:24: 邮件:x:34: kvm:x:61: wheel:x:97: nogroup:x:99: users:x:999:

EOF

<<

“EOF”

猫 > /etc/group 根:x:0: bin:x:1:守护进程 sys:x:2:

公里:x:3:

磁带:x:4:

tty:x:5: 守护进程:x:6: 软盘:x:7: 磁盘:x:8:

lp:x:9: dialout:x:10: audio:x:11: video:x:12: utmp:x:13: usb:x:14: cdrom:x:15: adm:x:16: messagebus: x:18: 输入:x:24: 邮件:x:34: kvm:x:61: wheel:x:97: nogroup:x:99: users:x:999:

EOF


创建的组不是任何标准的一部分——它们部分是由本章中 Udev 配置的要求决定的,部分是由许多现有 Linux 发行版采用的通用约定决定的。 此外,一些测试套件依赖于特定的用户或组。 Linux 标准库(LSB,可在 http://www. linuxbase.org) 只建议,除了组 组 ID (GID) 为 0 时,组 箱子 存在 GID 为 1 的情况。 系统管理员可以自由选择所有其他组名和 GID,因为编写良好的程序不依赖于 GID 编号,而是使用组名。

删除“我没有名字!” 提示,启动一个新的shell。 由于在第 5 章中安装了完整的 Glibc,并且 /etc/passwd / etc / group 文件已创建,用户名和组名解析现在可以工作:


执行 /tools/bin/bash --login +h

执行 /tools/bin/bash --login +h

注意使用 +h 指示。 这告诉 打坏 不使用其内部路径散列。 如果没有这个指令, 打坏 会记住它已执行的二进制文件的路径。 为确保新编译的二进制文件安装后立即使用, +h 指令将用于本章的持续时间。

图片

/var/log/{btmp,lastlog,失败日志,wtmp}

/var/log/{btmp,lastlog,失败日志,wtmp}

-v

-v

-v

-v

-v

-v

转码 664

600

转码 664

600

/var/log/loadlog

/var/log/loadlog

/var/日志/btmp

/var/log/loadlog

/var/log/loadlog

/var/日志/btmp

这款 登录, 盖蒂初始化 程序(和其他程序)使用许多日志文件来记录信息,例如谁登录到系统以及何时登录。 但是,如果这些程序不存在,它们将不会写入日志文件。 初始化日志文件并赋予它们适当的权限:


触摸 chgrp chmod

CHMOD

触摸 chgrp chmod

CHMOD

图片

这款 /var/日志/wtmp 文件记录所有登录和注销。 这 /var/log/loadlog 文件记录每个用户上次登录的时间。 /var/日志/故障日志 文件记录失败的登录尝试。 这 /var/日志/btmp 文件记录了错误的登录尝试。


备注

这款 /运行/utmp 文件记录了当前登录的用户。这个文件是在引导脚本中动态创建的。

备注

这款 /运行/utmp 文件记录了当前登录的用户。这个文件是在引导脚本中动态创建的。


OnWorks 的顶级操作系统云计算: