เวิร์กสเตชันออนไลน์ของ OnWorks Linux และ Windows

โลโก้

ฟรีโฮสติ้งออนไลน์สำหรับเวิร์กสเตชัน

<ก่อนหน้านี้ | Contents | ถัดไป>

6.6. การสร้างไฟล์สำคัญและ Symlinks‌

ภาพ

/tools/bin/{ทุบตี, cat, chmod, dd, echo, ln, mkdir, pwd, rm, stty, touch} / bin

/tools/bin/{ทุบตี, cat, chmod, dd, echo, ln, mkdir, pwd, rm, stty, touch} / bin

/tools/bin/{env,ติดตั้ง,perl,printf}

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

/tools/lib/libstdc++.{a ดังนั้น{,.6}}

/tools/bin/{env,ติดตั้ง,perl,printf}

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

/tools/lib/libstdc++.{a ดังนั้น{,.6}}

/ usr / bin

/ usr / lib

/ usr / lib

/ usr / bin

/ usr / lib

/ usr / lib

บางโปรแกรมใช้พาธแบบเดินสายไปยังโปรแกรมที่ยังไม่มี เพื่อให้เป็นไปตามโปรแกรมเหล่านี้ ให้สร้างลิงก์สัญลักษณ์จำนวนหนึ่งซึ่งจะถูกแทนที่ด้วยไฟล์จริงตลอดบทนี้หลังจากติดตั้งซอฟต์แวร์แล้ว:


ลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลล

ln

-sv

-sv

-sv

-sv

ลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลลล

ln


ln -sv ทุบตี /bin/sh

ln -sv ทุบตี /bin/sh

วัตถุประสงค์ของแต่ละลิงค์:

/ bin / bash

หลาย ทุบตี สคริปต์ระบุ / bin / bash.

/ถังขยะ/แมว

ชื่อพาธนี้มีฮาร์ดโค้ดในสคริปต์กำหนดค่าของ Glibc

/bin/dd

เส้นทางไป dd จะถูกฮาร์ดโค้ดลงใน /usr/bin/libtool ประโยชน์

/bin/เสียงสะท้อน

นี่คือการตอบสนองหนึ่งในการทดสอบในชุดทดสอบของ Glibc ซึ่งคาดว่า /bin/เสียงสะท้อน.

/usr/bin/env

ชื่อพาธนี้มีฮาร์ดโค้ดในโพรซีเดอร์การสร้างแพ็คเกจบางตัว

/usr/bin/ติดตั้ง

เส้นทางไป ติดตั้ง จะถูกฮาร์ดโค้ดลงใน /usr/lib/bash/Makefile.inc ไฟล์

/ถัง/ลิตร

เส้นทางไป ln จะถูกฮาร์ดโค้ดลงใน /usr/lib/perl5/5.30.0/ /Config_ heavy.pl ไฟล์

/bin/pwd

เรื่อง กำหนดค่า สคริปต์โดยเฉพาะของ Glibc มีชื่อเส้นทางนี้ฮาร์ดโค้ด

/ถัง/rm

เส้นทางไป rm จะถูกฮาร์ดโค้ดลงใน /usr/lib/perl5/5.30.0/ /Config_ heavy.pl ไฟล์

/ bin / stty

ชื่อพาธนี้มีการกำหนดตายตัวใน Expect ดังนั้นจึงจำเป็นสำหรับชุดทดสอบ Binutils และ GCC เพื่อผ่าน

/usr/bin/perl

สคริปต์ Perl จำนวนมากฮาร์ดโค้ดเส้นทางนี้ไปยัง Perl โครงการ

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

Glibc ต้องการสิ่งนี้เพื่อให้ไลบรารี pthreads ทำงานได้

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

สิ่งนี้จำเป็นสำหรับการทดสอบหลายอย่างในชุดทดสอบของ Glibc รวมถึงการรองรับ C++ ใน GMP

bin / sh /

ฮาร์ดโค้ดของเชลล์สคริปต์จำนวนมาก bin / sh /.


ในอดีต ลินุกซ์จะรักษารายการของระบบไฟล์ที่ถูกเมาต์ในไฟล์ / etc / mtab. เมล็ดพืชสมัยใหม่เก็บรักษารายการนี้ไว้ภายในและเปิดเผยให้ผู้ใช้ทราบผ่านทาง / proc ระบบไฟล์ เพื่อตอบสนองสาธารณูปโภคที่คาดว่าจะมีอยู่ของ /etc/mtabให้สร้างลิงก์สัญลักษณ์ต่อไปนี้:


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

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


เพื่อให้ผู้ใช้ ราก เพื่อให้สามารถเข้าสู่ระบบและเพื่อให้รู้จักชื่อ "รูท" จะต้องมีรายการที่เกี่ยวข้องใน / 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 ผู้ใช้:/dev/ null:/bin/false

messagebus:x:18:18:D-Bus Message Daemon ผู้ใช้:/var/run/dbus:/bin/false none:x:99:99:Unprivileged User:/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 ผู้ใช้:/dev/ null:/bin/false

messagebus:x:18:18:D-Bus Message Daemon ผู้ใช้:/var/run/dbus:/bin/false none:x:99:99:Unprivileged User:/dev/null:/bin/false

EOF


ภาพ

รหัสผ่านที่แท้จริงสำหรับ ราก (ตัว "x" ที่ใช้ในที่นี้เป็นเพียงตัวยึดตำแหน่ง) จะถูกตั้งค่าในภายหลัง สร้าง / etc / group ไฟล์โดยรันคำสั่งต่อไปนี้:


แมว > /etc/group รูท:x:0: bin:x:1:daemon sys:x:2:

กม.:x:3:

เทป:x:4:

tty:x:5: daemon:x:6: floppy:x:7: ดิสก์:x:8:

lp:x:9: dialout:x:10: เสียง:x:11: วิดีโอ:x:12: utmp:x:13: usb:x:14: cdrom:x:15: adm:x:16: messagebus: x:18: อินพุต:x:24: mail:x:34: kvm:x:61: ล้อ:x:97: nogroup:x:99: ผู้ใช้:x:999:

EOF

<<

"อีฟ"

แมว > /etc/group รูท:x:0: bin:x:1:daemon sys:x:2:

กม.:x:3:

เทป:x:4:

tty:x:5: daemon:x:6: floppy:x:7: ดิสก์:x:8:

lp:x:9: dialout:x:10: เสียง:x:11: วิดีโอ:x:12: utmp:x:13: usb:x:14: cdrom:x:15: adm:x:16: messagebus: x:18: อินพุต:x:24: mail:x:34: kvm:x:61: ล้อ:x:97: nogroup:x:99: ผู้ใช้:x:999:

EOF


กลุ่มที่สร้างขึ้นไม่ได้เป็นส่วนหนึ่งของมาตรฐานใดๆ—เป็นกลุ่มที่ตัดสินใจบางส่วนโดยข้อกำหนดของการกำหนดค่า Udev ในบทนี้ และบางส่วนมาจากแบบแผนทั่วไปที่ใช้โดยลีนุกซ์รุ่นที่มีอยู่จำนวนหนึ่ง นอกจากนี้ ชุดทดสอบบางชุดยังขึ้นอยู่กับผู้ใช้หรือกลุ่มที่เฉพาะเจาะจง Linux Standard Base (LSB ดูได้ที่ http://www. linuxbase.org) แนะนำเพียงว่านอกจากกลุ่ม ราก ด้วย ID กลุ่ม (GID) ของ 0 กลุ่ม ถัง โดยมี GID เท่ากับ 1 ผู้ดูแลระบบสามารถเลือกชื่อกลุ่มและ GID อื่นๆ ได้อย่างอิสระ เนื่องจากโปรแกรมที่เขียนอย่างดีไม่ได้ขึ้นอยู่กับหมายเลข GID แต่ใช้ชื่อกลุ่มแทน

หากต้องการลบ "ฉันไม่มีชื่อ!" ให้เริ่มเชลล์ใหม่ เนื่องจาก Glibc เต็มรูปแบบได้รับการติดตั้งในบทที่ 5 และ / etc / รหัสผ่าน และ / etc / group สร้างไฟล์แล้ว การแก้ไขชื่อผู้ใช้และชื่อกลุ่มจะทำงานได้ในขณะนี้:


exec /tools/bin/bash --login +h

exec /tools/bin/bash --login +h

สังเกตการใช้ +h คำสั่ง นี้บอก ทุบตี ไม่ใช้การแฮชเส้นทางภายใน หากไม่มีคำสั่งนี้ ทุบตี จะจำเส้นทางไปสู่ไบนารีที่มันได้ดำเนินการ เพื่อให้แน่ใจว่าจะใช้ไบนารีที่คอมไพล์ใหม่ทันทีที่ติดตั้ง +h คำสั่งจะใช้ในช่วงระยะเวลาของบทนี้

ภาพ

/var/log/{btmp,lastlog,faillog,wtmp}

/var/log/{btmp,lastlog,faillog,wtmp}

-v

-v

-v

-v

-v

-v

ยูเอ็มพี 664

600

ยูเอ็มพี 664

600

/var/log/loadlog

/var/log/loadlog

/var/log/btmp

/var/log/loadlog

/var/log/loadlog

/var/log/btmp

การขอ เข้าสู่ระบบ, เก็ตตี้และ init โปรแกรม (และอื่น ๆ ) ใช้ไฟล์บันทึกจำนวนหนึ่งเพื่อบันทึกข้อมูลเช่นใครเข้าสู่ระบบและเมื่อใด อย่างไรก็ตาม โปรแกรมเหล่านี้จะไม่เขียนลงในล็อกไฟล์หากไม่มีอยู่ เริ่มต้นไฟล์บันทึกและให้สิทธิ์ที่เหมาะสม:


แตะ chgrp chmod

chmod

แตะ chgrp chmod

chmod

ภาพ

การขอ /var/log/wtmp ไฟล์บันทึกการเข้าสู่ระบบและออกจากระบบทั้งหมด NS /var/log/loadlog ไฟล์จะบันทึกเมื่อผู้ใช้แต่ละคนเข้าสู่ระบบครั้งล่าสุด The /var/log/ล้มเหลว บันทึกไฟล์ล้มเหลวในการพยายามเข้าสู่ระบบ NS /var/log/btmp ไฟล์บันทึกความพยายามในการเข้าสู่ระบบที่ไม่ถูกต้อง


หมายเหตุ

การขอ /รัน/utmp file จะบันทึกผู้ใช้ที่เข้าสู่ระบบอยู่ ไฟล์นี้ถูกสร้างขึ้นแบบไดนามิกในบูตสคริปต์

หมายเหตุ

การขอ /รัน/utmp file จะบันทึกผู้ใช้ที่เข้าสู่ระบบอยู่ ไฟล์นี้ถูกสร้างขึ้นแบบไดนามิกในบูตสคริปต์


ระบบปฏิบัติการคลาวด์คอมพิวติ้งยอดนิยมที่ OnWorks: