ตั้งค่า NFS Share บน Debian
NFS เป็นระบบไฟล์บนเครือข่ายที่อนุญาตให้คอมพิวเตอร์เข้าถึงไฟล์ผ่านเครือข่ายคอมพิวเตอร์ คู่มือนี้จะอธิบายวิธีการเปิดเผยโฟลเดอร์ผ่าน NF
ภายใต้ Linux วัตถุจำนวนมากถือเป็นไฟล์โดยไม่คำนึงว่าวัตถุนั้นเป็นไฟล์อุปกรณ์ไดเรกทอรีหรือซ็อกเก็ตหรือไม่ การแสดงไฟล์เป็นเรื่องง่ายมีเชลล์ในตัวls
สำหรับสิ่งนั้น แต่ถ้าผู้ใช้ต้องการเห็นไฟล์ใดบ้างที่เปิดโดยกระบวนการเซิร์ฟเวอร์เว็บ หรือถ้าผู้ใช้นั้นต้องการค้นหาว่าไฟล์ใดบ้างที่เปิดในไดเรกทอรีหนึ่ง นั่นคือสิ่งที่lsof
เข้ามาเล่น ลองนึกภาพlsof
ว่าเป็นls
ด้วยนอกเหนือจาก "เปิดไฟล์ที่"
โปรดทราบว่าขณะที่ BSD มีสาธารณูปโภคที่แตกต่างกันสำหรับงานนี้fstat
หลายรสชาติอื่น ๆ ของระบบปฏิบัติการยูนิกซ์ (Solaris, ตัวอย่างเช่น) lsof
นอกจากนี้ยังมี ตัวเลือกและค่าสถานะจะแตกต่างกันในแพลตฟอร์มอื่น ๆ รวมถึงรูปลักษณ์ของผลลัพธ์ แต่โดยทั่วไปความรู้ในบทความนี้ควรนำไปใช้กับพวกเขาด้วยเช่นกัน
อันดับแรกให้ดูที่รูปแบบของlsof
เอาต์พุตและวิธีอ่าน เอาต์พุตปกติของlsof
โดยไม่มีพารามิเตอร์ใด ๆ จะมีลักษณะดังต่อไปนี้ สิ่งนี้ถูกตัดแต่งเพื่อให้สามารถอ่านได้
COMMAND PID TID USER FD TYPE DEVICE SIZE/OFF NODE NAME
init 1 root cwd DIR 254,1 4096 2 /
init 1 root rtd DIR 254,1 4096 2 /
init 1 root txt REG 254,1 36992 7077928 /sbin/init
init 1 root mem REG 254,1 14768 7340043 /lib/x86_64-linux-gnu/libdl-2.13.so
init 1 root mem REG 254,1 1603600 7340040 /lib/x86_64-linux-gnu/libc-2.13.so
init 1 root mem REG 254,1 126232 7340078 /lib/x86_64-linux-gnu/libselinux.so.1
init 1 root mem REG 254,1 261184 7340083 /lib/x86_64-linux-gnu/libsepol.so.1
init 1 root mem REG 254,1 136936 7340037 /lib/x86_64-linux-gnu/ld-2.13.so
init 1 root 10u FIFO 0,14 0t0 4781 /run/initctl
คอลัมน์เหล่านี้หมายถึงสิ่งต่อไปนี้:
init
กระบวนการที่เปิดไฟล์เป็นในตัวอย่างนี้ทุกอย่างที่เกี่ยวข้องกับinit
root
cwd
- ไดเรกทอรีการทำงานปัจจุบัน (คุณอาจสังเกตเห็นความคล้ายคลึงกันกับpwd
คำสั่งที่พิมพ์ไดเรกทอรีการทำงานปัจจุบัน)rtd
- ไดเรกทอรีรากของกระบวนการtxt
- A text file
อาจหมายถึงไฟล์การกำหนดค่าที่เกี่ยวข้องกับกระบวนการหรือ "ซอร์สโค้ด" ที่เกี่ยวข้องกับ (หรือเป็นของ) กระบวนการmem
- "หน่วยความจำที่แมปไฟล์" ซึ่งหมายถึงส่วนของหน่วยความจำเสมือน (อ่าน: RAM) ที่ได้รับมอบหมายให้ไฟล์r
- อ่านw
- เขียนu
- อ่านและเขียน.REG
- ไฟล์ปกติDIR
- ไดเรกทอรีFIFO
- เข้าก่อนออกก่อนตอนนี้อาจจะล้นหลามไปหน่อย แต่ถ้าคุณทำงานกับlsof
สองสามครั้งมันจะซึมซาบเข้าสู่สมองของคุณอย่างรวดเร็ว
ดังที่ได้กล่าวมาแล้วผลลัพธ์ของlsof
สั้นลงที่นี่ หากไม่มีข้อโต้แย้งหรือตัวกรองlsof
จะสร้างบรรทัดเอาต์พุตจำนวนหลายร้อยบรรทัดซึ่งจะทำให้คุณสับสนเท่านั้น
มีวิธีการพื้นฐานสองวิธีในการแก้ปัญหานี้:
lsof
ตัวเลือกบรรทัดคำสั่งหนึ่งรายการขึ้นไปเพื่อ จำกัด ผลลัพธ์ให้แคบลงgrep
ท่อผ่านการส่งออกเช่นในขณะที่ตัวเลือกหลังอาจฟังดูสบายกว่าเนื่องจากคุณไม่ต้องจำlsof
ตัวเลือกบรรทัดคำสั่ง แต่โดยทั่วไปจะไม่ยืดหยุ่นและมีประสิทธิภาพดังนั้นเราจะยึดติดกับตัวเลือกแรก
ลองจินตนาการว่าคุณต้องการเปิดไฟล์ด้วยโปรแกรมแก้ไขข้อความที่คุณชื่นชอบและโปรแกรมแก้ไขข้อความจะบอกคุณว่าสามารถเปิดได้ในโหมดอ่านอย่างเดียวเท่านั้นเนื่องจากมีโปรแกรมอื่นเข้าถึงอยู่แล้ว lsof
จะช่วยให้คุณทราบว่าใครคือผู้กระทำผิด:
lsof /path/to/your/file
สิ่งนี้จะสร้างผลลัพธ์คล้ายกับสิ่งนี้:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
vim 2679 root 5w REG 254,1 121525 6035622 /root/lsof.txt
เห็นได้ชัดว่าคุณลืมที่จะปิดและเซสชั่นที่มีอายุมากกว่า! ปัญหาที่คล้ายกันมากเกิดขึ้นเมื่อคุณพยายามยกเลิกการเมานต์การแชร์ NFS และumount
บอกคุณว่าไม่สามารถทำได้เพราะบางสิ่งยังคงเข้าถึงโฟลเดอร์ที่เมาท์อยู่ อีกครั้งlsof
สามารถช่วยคุณระบุผู้กระทำผิด:
lsof +D /path/to/your/directory/
สังเกตุเห็นว่ามีการทับส่วนท้ายที่สำคัญ มิฉะนั้นlsof
จะถือว่าคุณหมายถึงไฟล์ปกติ อย่าสับสนโดย+
ในด้านหน้าของธง - lsof
มีตัวเลือกบรรทัดคำสั่งจำนวนมากเพื่อที่จะตอบสนองความต้องการนอกเหนือจากการร่วมกันมากขึ้น+
-
ผลลัพธ์จะเป็นดังนี้:
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
mocp 5637 music 4r REG 0,19 10147719 102367344 /home/Music/RMS_GNU_SONG.ogg
นั่นหมายความว่ากระบวนการmocp
ที่มี PID 5637
เป็นของผู้ใช้ที่ได้เปิดไฟล์ที่เรียกว่าmusic
RMS_GNU_SONG.ogg
อย่างไรก็ตามแม้หลังจากปิดกระบวนการดังกล่าวแล้วยังคงมีปัญหาอยู่ - วอลุ่ม NFS ไม่สามารถยกเลิกการต่อเชื่อมได้
lsof
มีการ-c
ตั้งค่าสถานะที่แสดงไฟล์ที่เปิดชื่อกระบวนการโดยพลการ
lsof -c mocp
ที่จะสร้างผลลัพธ์เช่นนี้:
mocp 9383 music 4r REG 0,19 10147719 102367344 /home/Music/ANOTHER_RMS_GNU_SONG.ogg
ในตัวอย่างนี้มีอินสแตนซ์อื่นของการmocp
ทำงานทำให้คุณไม่ต้องถอนการติดตั้งการแชร์ หลังจากปิดกระบวนการดังกล่าวคุณต้องแน่ใจว่าผู้ใช้music
ไม่มีไฟล์ที่อาจเป็นปัญหาอื่น ๆ เปิดอยู่ lsof
มีการ-u
ตั้งค่าสถานะสำหรับการแสดงไฟล์ที่เปิดโดยผู้ใช้เฉพาะ โปรดจำไว้ว่าไฟล์ไม่ได้เป็นเพียงไฟล์ปกติในฮาร์ดดิสก์ของคุณ!
lsof -u music
คุณสามารถส่งต่อผู้ใช้หลายคนโดยคั่นด้วยเครื่องหมายจุลภาค:
lsof -u music,moremusic
สำคัญหมายเหตุเกี่ยวกับการทำงานเริ่มต้นของlsof
: ผลลัพธ์ที่หรือ -based ซึ่งหมายความว่าคุณจะเห็นผลไฟล์เปิดโดยกระบวนการที่เป็นเจ้าของโดยทั้งผู้ใช้หรือผู้ใช้music
moremusic
หากคุณต้องการเห็นกระบวนการจับคู่ผลลัพธ์ที่ผู้ใช้ทั้งสองเป็นเจ้าของคุณจะต้องผ่านการตั้งค่าสถานะ-a
:
lsof -au music, moremusic
เนื่องจากผู้ใช้ทั้งสองอยู่ในกลุ่มmusicusers
คุณจึงสามารถแสดงรายการไฟล์ตามกลุ่ม:
lsof -g musicusers
คุณยังสามารถรวมการตั้งค่าสถานะบรรทัดคำสั่ง:
lsof -u music,moremusic -c mocp
or
lsof -u ^music +D /home/Music
ในบรรทัดสุดท้ายที่เราเพิ่มอีกธง - พิเศษ^
ซึ่งย่อมาจากตรรกะไม่ หากเอาต์พุตว่างหลังจากรันคำสั่งนั้นการ unmounting จะประสบความสำเร็จมากที่สุด
ในตัวอย่างก่อนหน้าเราส่วนใหญ่ดูไฟล์ปกติ ซ็อกเก็ตและการเชื่อมต่อเครือข่ายเป็นอย่างไร
ในการแสดงรายการการเชื่อมต่อเครือข่ายปัจจุบันทั้งหมดlsof
มีการ-i
ตั้งค่าสถานะ:
lsof -i
ผลลัพธ์ดูเหมือนกับสิ่งที่เราเคยเห็น ...
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
owncloud 3509 myuser 25u IPv4 44946 0t0 TCP strix.local:34217->myserver.vultr.com:https (ESTABLISHED)
firefox 3612 myuser 82u IPv4 49663 0t0 TCP strix.local:43897->we-in-f100.1e100.net:https (ESTABLISHED)
ssh 3784 myuser 3u IPv4 10437 0t0 TCP strix.local:51416->someserver.in:ssh (ESTABLISHED)
wget 4140 myuser 3w IPv4 45586 0t0 TCP strix.local:54460->media.ccc.de:http (CLOSE_WAIT)
... ยกเว้นข้อแตกต่าง: แทนที่ชื่อไฟล์หรือไดเรกทอรีNAME
ตอนนี้คอลัมน์จะแสดงข้อมูลการเชื่อมต่อ แต่ละการเชื่อมต่อประกอบด้วยส่วนต่าง ๆ ดังต่อไปนี้:
เช่นเดียวกับเครื่องมืออื่น ๆ มากมายคุณอาจเลือกที่จะไม่ระบุชื่อและพอร์ต DNS ( -n
และ-P
ตามลำดับ) การตั้งค่าสถานะ-i
ใช้พารามิเตอร์เพิ่มเติม คุณสามารถระบุหรือไม่ที่จะแสดงให้เห็นtcp
, udp
หรือicmp
การเชื่อมต่อหรือพอร์ตบาง:
lsof -i :25
or
lsof -i :smtp
สามารถรวมพารามิเตอร์ได้อีกครั้ง ตัวอย่างต่อไปนี้ ...
lsof -i tcp:80
... จะแสดงการเชื่อมต่อ TCP โดยใช้พอร์ต 80 เท่านั้นคุณสามารถรวมเข้ากับตัวเลือกที่คุณรู้จักจากไฟล์ "classic":
lsof -a -u httpd -i tcp
นี้จะแสดงการเชื่อมต่อ TCP httpd
ทั้งหมดเปิดโดยผู้ใช้ หมายเหตุการ-a
ตั้งค่าสถานะซึ่งเปลี่ยนลักษณะการทำงานเริ่มต้นของlsof
(ตามที่กล่าวไว้ก่อนหน้านี้) เช่นเดียวกับเครื่องมือบรรทัดคำสั่งส่วนใหญ่คุณสามารถลงลึกได้อย่างมาก ต่อไปนี้จะแสดงการเชื่อมต่อ TCP ที่มีสถานะเป็น "ESTABLISHED" เท่านั้น:
lsof -i -s TCP:ESTABLISHED
ณ จุดนี้คุณควรมีความเข้าใจพื้นฐานเกี่ยวกับวิธีการlsof
ทำงานพร้อมกับกรณีการใช้งานทั่วไปบางอย่าง สำหรับการอ่านเพิ่มเติมดู manpage ของlsof
ในระบบของคุณ
NFS เป็นระบบไฟล์บนเครือข่ายที่อนุญาตให้คอมพิวเตอร์เข้าถึงไฟล์ผ่านเครือข่ายคอมพิวเตอร์ คู่มือนี้จะอธิบายวิธีการเปิดเผยโฟลเดอร์ผ่าน NF
ใช้ระบบที่แตกต่างกันอย่างไร Directus 6.4 CMS เป็นระบบการจัดการเนื้อหาแบบไม่มีหัว (Headless Content Management: CMS) ที่ทรงพลังและยืดหยุ่นซึ่งให้ผู้พัฒนา
TeamTalk เป็นระบบการประชุมที่ช่วยให้ผู้ใช้สามารถสนทนาด้วยเสียง / วิดีโอคุณภาพสูงสนทนาผ่านข้อความถ่ายโอนไฟล์และแชร์หน้าจอ มันฉัน
ใช้ระบบที่แตกต่างกันอย่างไร Pagekit เป็น CMS โอเพนซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Pagekit นั้นโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า
สฟิงซ์เป็นเครื่องมือค้นหาข้อความแบบโอเพนซอร์ซฟรีและโอเพนซอร์สซึ่งสามารถรวมเข้ากับเว็บแอปพลิเคชั่นต่าง ๆ เพื่อให้ได้คุณภาพที���รวดเร็วและสูง
Vultr มีคุณสมบัติที่อนุญาตให้คุณติดตั้งคีย์ SSH ล่วงหน้าเมื่อสร้างอินสแตนซ์ใหม่ สิ่งนี้อนุญาตให้คุณเข้าถึงผู้ใช้รูทเซิร์ฟเวอร์อย่างไรก็ตาม
ใช้ระบบที่แตกต่างกันอย่างไร Diaspora เป็นเครือข่ายโซเชียลที่ตระหนักถึงความเป็นส่วนตัวและเป็นโอเพ่นซอร์ส ในบทช่วยสอนนี้คุณจะได้เรียนรู้วิธีการตั้งค่าและกำหนดค่า po Diaspora
ใช้ระบบที่แตกต่างกันอย่างไร Fuel CMS เป็นระบบจัดการเนื้อหาที่ใช้ CodeIgniter ซอร์สโค้ดของมันถูกโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า
ใช้ระบบที่แตกต่างกันอย่างไร Snipe-IT เป็นเว็บแอปพลิเคชั่นฟรีและโอเพนซอร์สสำหรับการจัดการสินทรัพย์ด้านไอที มันถูกเขียนบนกรอบงาน Laravel 5.2 และการใช้งาน
ใช้ระบบที่แตกต่างกันอย่างไร ไทกะเป็นแอปพลิเคชั่นฟรีและโอเพ่นซอร์สสำหรับการจัดการโครงการ ซึ่งแตกต่างจากเครื่องมือการจัดการโครงการอื่น ๆ ไทก้าใช้ส่วนเพิ่ม
FTP ที่ปลอดภัยมากหรือเพียงแค่ vsFTPd เป็นซอฟต์แวร์น้ำหนักเบาที่มีความสามารถในการปรับแต่ง ในบทช่วยสอนนี้เราจะรักษาความปลอดภัยของข้อความ
CentOS ติดตามการพัฒนา Red Hat Enterprise Linux (RHEL) RHEL พยายามที่จะเป็นแพลตฟอร์มเซิร์ฟเวอร์ที่มั่นคงซึ่งหมายความว่าจะไม่รีบเร่งในการรวม
Ranger เป็นตัวจัดการไฟล์แบบบรรทัดคำสั่งที่มีการเชื่อมโยงคีย์ VI มันจัดเตรียมอินเตอร์เฟส curses ที่เรียบง่ายและดีพร้อมมุมมองบนลำดับชั้นไดเร็กทอรี
ใช้ระบบที่แตกต่างกันอย่างไร Brotli เป็นวิธีการบีบอัดแบบใหม่ที่มีอัตราการบีบอัดที่ดีกว่า GZIP ซอร์สโค้ดของมันถูกโฮสต์แบบสาธารณะบน Githu นี้
ในบางโอกาสผู้ดูแลระบบอาจต้องสร้างบัญชีผู้ใช้และ จำกัด การเข้าถึงเพื่อจัดการไฟล์ของตัวเองผ่าน sFTP เท่านั้น
ใช้ระบบที่แตกต่างกันอย่างไร Omeka Classic 2.4 CMS เป็นแพลตฟอร์มเผยแพร่ดิจิตอลฟรีและโอเพ่นซอร์สและระบบการจัดการเนื้อหา (CMS) สำหรับการแบ่งปันดิจิต้า
การอนุญาตให้ล็อกอินรูทผ่าน SSH นั้นถือว่าเป็นการปฏิบัติด้านความปลอดภัยที่ไม่ดีทั่วทั้งอุตสาหกรรมเทคโนโลยี คุณสามารถดำเนินการที่ละเอียดอ่อนแทน
ใช้ระบบที่แตกต่างกันอย่างไร Moodle เป็นแพลตฟอร์มการเรียนรู้โอเพนซอร์ซหรือระบบจัดการหลักสูตร (CMS) - ชุดซอฟต์แวร์โอเพ่นซอร์สฟรีที่ออกแบบมาเพื่อช่วย
ใช้ระบบที่แตกต่างกันอย่างไร RabbitMQ เป็นนายหน้าข้อความโอเพ่นซอร์สที่ใช้กันอย่างแพร่หลายเขียนในภาษาการเขียนโปรแกรม Erlang เป็นมิดเดิลแวร์ที่มุ่งเน้นข้อความ
ในบทความนี้ฉันจะอธิบายวิธีสร้าง LEMP สแต็คที่ได้รับการป้องกันโดย ModSecurity ModSecurity เป็นไฟร์วอลล์เว็บแอพพลิเคชันแบบโอเพนซอร์สที่มีประโยชน์
เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย
เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์
เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ
ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน
การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane
ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+
อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ
เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม
13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data
คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true