นี่คือคำสั่ง firejail ที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
Firejail - โปรแกรมแซนด์บ็อกซ์เนมสเปซ Linux
เรื่องย่อ
เริ่มแซนด์บ็อกซ์:
firejail [ตัวเลือก] [โปรแกรมและอาร์กิวเมนต์]
การกำหนดปริมาณการรับส่งข้อมูลเครือข่ายสำหรับแซนด์บ็อกซ์ที่มีอยู่:
เรือนจำ --bandwidth={ | } คำสั่งแบนด์วิดธ์
การตรวจสอบ:
firejail {--รายการ | --netstats | --top | --ต้นไม้}
เบ็ดเตล็ด:
เรือนจำไฟ {-? | --debug-caps | --debug-errnos | --debug-syscalls | --debug-โปรโตคอล
| --help | --รุ่น}
DESCRIPTION
Firejail เป็นโปรแกรมแซนด์บ็อกซ์ SUID ที่ช่วยลดความเสี่ยงของการละเมิดความปลอดภัยโดย
การจำกัดสภาพแวดล้อมการทำงานของแอปพลิเคชันที่ไม่น่าเชื่อถือโดยใช้เนมสเปซ Linux
ความสามารถ seccomp-bpf และ Linux ช่วยให้กระบวนการและลูกหลานทั้งหมดมี
มุมมองส่วนตัวของตนเองเกี่ยวกับทรัพยากรเคอร์เนลที่ใช้ร่วมกันทั่วโลก เช่น สแต็กเครือข่าย
ตารางกระบวนการ, ตารางเมานต์ Firejail สามารถทำงานในสภาพแวดล้อม SELinux หรือ AppArmor และ
มันถูกรวมเข้ากับ Linux Control Groups
เขียนด้วยภาษา C โดยแทบไม่มีการพึ่งพา ซอฟต์แวร์ทำงานบนคอมพิวเตอร์ Linux เครื่องใดก็ได้ด้วย
เคอร์เนลเวอร์ชัน 3.x หรือใหม่กว่า มันสามารถแซนด์บ็อกซ์กระบวนการทุกประเภท: เซิร์ฟเวอร์, กราฟิก
แอปพลิเคชันและแม้แต่เซสชันการเข้าสู่ระบบของผู้ใช้
Firejail อนุญาตให้ผู้ใช้จัดการความปลอดภัยของแอปพลิเคชันโดยใช้โปรไฟล์ความปลอดภัย แต่ละ
profile กำหนดชุดการอนุญาตสำหรับแอปพลิเคชันเฉพาะหรือกลุ่มแอปพลิเคชัน
ซอฟต์แวร์นี้มีโปรไฟล์ความปลอดภัยสำหรับโปรแกรม Linux ทั่วไปจำนวนมาก เช่น
เช่น Mozilla Firefox, Chromium, VLC, Transmission เป็นต้น
การใช้
หากไม่มีตัวเลือกใดๆ แซนด์บ็อกซ์จะประกอบด้วยการสร้างระบบไฟล์ chroot ในการเมานต์ใหม่
เนมสเปซและเนมสเปซ PID และ UTS ใหม่ สามารถเพิ่ม IPC เครือข่ายและเนมสเปซผู้ใช้ได้
โดยใช้ตัวเลือกบรรทัดคำสั่ง ระบบไฟล์ Firejail เริ่มต้นขึ้นอยู่กับโฮสต์
ระบบไฟล์ที่ติดตั้งไดเร็กทอรีหลักแบบอ่านอย่างเดียว เท่านั้น / หน้าแรก และ / Tmp สามารถเขียนได้
เมื่อเริ่มต้นขึ้น Firejail พยายามค้นหาโปรไฟล์ความปลอดภัยตามชื่อของ
แอปพลิเคชัน. หากไม่พบโปรไฟล์ที่เหมาะสม Firejail จะใช้โปรไฟล์เริ่มต้น
โปรไฟล์เริ่มต้นค่อนข้างจำกัด กรณีใช้งานไม่ได้ ให้ใช้
--noprofile ตัวเลือกที่จะปิดการใช้งาน ดูรายละเอียดเพิ่มเติมได้ที่ การรักษาความปลอดภัย ประวัติ
มาตรา.
หากไม่ได้ระบุอาร์กิวเมนต์โปรแกรม Firejail เริ่มทำงาน / bin / bash เปลือก. ตัวอย่าง:
$ firejail [ตัวเลือก] # เริ่มต้น a / bin / bash เปลือกหอย
$ firejail [ตัวเลือก] firefox # กำลังเริ่ม Mozilla Firefox
# sudo firejail [ตัวเลือก] /etc/init.d/nginx start
OPTIONS
-- ส่งสัญญาณการสิ้นสุดตัวเลือกและปิดใช้งานการประมวลผลตัวเลือกเพิ่มเติม
--แบนด์วิดธ์=ชื่อ
ตั้งค่าขีดจำกัดแบนด์วิดท์สำหรับแซนด์บ็อกซ์ที่ระบุชื่อ โปรดดูที่ การจราจร รูปร่าง
สำหรับรายละเอียดเพิ่มเติม
--แบนด์วิธ=pid
ตั้งค่าขีดจำกัดแบนด์วิดท์สำหรับแซนด์บ็อกซ์ที่ระบุโดย PID โปรดดูที่ การจราจร รูปร่าง ส่วน
.
--bind=dirname1,dirname2
Mount-bind dirname1 ด้านบนของ dirname2 ตัวเลือกนี้ใช้ได้เฉพาะเมื่อรัน
กล่องทรายเป็นรูท
ตัวอย่าง:
# ไฟคุก --bind=/config/www,/ var / www
--bind=ชื่อไฟล์1,ชื่อไฟล์2
Mount-bind filename1 ที่ด้านบนของชื่อไฟล์2 ตัวเลือกนี้ใช้ได้เฉพาะเมื่อ
ทำงานเป็นรูท
ตัวอย่าง:
# firejail --bind=/config/etc/passwd,/ etc / passwd
--blacklist=dirname_or_filename
ไดเรกทอรีหรือไฟล์บัญชีดำ
ตัวอย่าง:
$ firejail --บัญชีดำ=/ sbin --บัญชีดำ=/ usr / sbin
$ firejail --บัญชีดำ=~/.mozilla
$ firejail "--blacklist=/home/username/My Virtual Machines"
-c ดำเนินการคำสั่งและออก
--หมวก ความสามารถของลินุกซ์เป็นคุณสมบัติเคอร์เนลที่ออกแบบมาเพื่อแยกสิทธิ์ของรูทออกเป็น
ชุดของสิทธิพิเศษที่แตกต่างกัน สิทธิ์เหล่านี้สามารถเปิดหรือปิดได้
อย่างอิสระจึงจำกัดสิ่งที่กระบวนการทำงานในฐานะรูทสามารถทำได้ใน
ระบบ
โดยค่าเริ่มต้น โปรแกรมรูทจะทำงานโดยเปิดใช้งานความสามารถทั้งหมด --caps ตัวเลือกปิดการใช้งาน
ความสามารถดังต่อไปนี้: CAP_SYS_MODULE, CAP_SYS_RAWIO, CAP_SYS_BOOT,
CAP_SYS_NICE, CAP_SYS_TTY_CONFIG, CAP_SYSLOG, CAP_MKNOD, CAP_SYS_ADMIN ตัวกรอง
ถูกนำไปใช้กับกระบวนการทั้งหมดที่เริ่มต้นในแซนด์บ็อกซ์
ตัวอย่าง:
$ sudo firejail --caps "/etc/init.d/nginx start && sleep inf"
--caps.drop=ทั้งหมด
ยกเลิกความสามารถทั้งหมดสำหรับกระบวนการที่ทำงานอยู่ในแซนด์บ็อกซ์ ตัวเลือกนี้คือ
แนะนำสำหรับการรันโปรแกรม GUI หรือโปรแกรมอื่นๆ ที่ไม่ต้องการรูท
สิทธิพิเศษ เป็นตัวเลือกที่จำเป็นสำหรับการติดตั้งโปรแกรมที่ไม่น่าเชื่อถือในแซนด์บ็อกซ์
จากแหล่งที่ไม่เป็นทางการ เช่น เกม โปรแกรม Java เป็นต้น
ตัวอย่าง:
$firejail --caps.drop=all warzone2100
--caps.drop=ความสามารถ ความสามารถ ความสามารถ
กำหนดตัวกรองความสามารถของลินุกซ์บัญชีดำที่กำหนดเอง
ตัวอย่าง:
$ firejail --caps.keep=net_broadcast,net_admin,net_raw
--caps.keep=ความสามารถ ความสามารถ ความสามารถ
กำหนดตัวกรองความสามารถของลินุกซ์รายการที่อนุญาตพิเศษ
ตัวอย่าง:
$ sudo firejail --caps.keep=chown,net_bind_service,setgid,\ setuid
/etc/init.d/nginx เริ่มต้น
หมายเหตุสั้น ๆ เกี่ยวกับการผสม --รายการอนุญาตพิเศษ และ --อ่านอย่างเดียว ไวท์ลิสต์
ไดเร็กทอรีควรทำแบบอ่านอย่างเดียวโดยอิสระ การทำให้ไดเร็กทอรีหลักอ่าน-
เท่านั้น จะไม่ทำให้ไวท์ลิสต์เป็นแบบอ่านอย่างเดียว ตัวอย่าง:
$ firejail --whitelist=~/งาน --อ่านอย่างเดียว=~/ --อ่านอย่างเดียว=~/งาน
--caps.print=ชื่อ
พิมพ์ตัวกรองแคปสำหรับแซนด์บ็อกซ์ที่ระบุตามชื่อ
ตัวอย่าง:
$ firejail --name=mygame --caps.drop=all warzone2100 &
[ ... ]
$firejail --caps.print=mygame
--caps.print=pid
พิมพ์ตัวกรองแคปสำหรับแซนด์บ็อกซ์ที่ระบุโดย PID
ตัวอย่าง:
$ firejail -- รายการ
3272:netblue:firejail --ส่วนตัว firefox
$firejail --caps.print=3272
--cgroup=งานไฟล์
วางแซนด์บ็อกซ์ในกลุ่มควบคุมที่ระบุ task-file เป็นเส้นทางแบบเต็มของ
ไฟล์งาน cgroup
ตัวอย่าง:
# เรือนจำ --cgroup=/sys/fs/cgroup/g1/tasks
--chroot=dirname
Chroot sandbox ลงในระบบไฟล์รูท หากแซนด์บ็อกซ์เริ่มต้นตามปกติ
ผู้ใช้ ตัวกรอง seccomp และความสามารถเริ่มต้นถูกเปิดใช้งาน
ตัวอย่าง:
$ firejail --chroot=/media/ubuntu warzone2100
--cpu=หมายเลข cpu, หมายเลข cpu, หมายเลข cpu
ตั้งค่าความสัมพันธ์ของ CPU
ตัวอย่าง:
$ firejail --cpu=0,1 เบรกมือ
--csh ใช้ /bin/csh เป็นเชลล์ผู้ใช้เริ่มต้น
ตัวอย่าง:
$ คุก --csh
--debug
พิมพ์ข้อความแก้ไขข้อบกพร่อง
ตัวอย่าง:
$firejail --debug Firefox
--debug-บัญชีดำ
ดีบักบัญชีดำ
ตัวอย่าง:
$ firejail --debug-บัญชีดำ firefox
--debug-หมวก
พิมพ์ความสามารถที่รู้จักทั้งหมดในการสร้างและออกจากซอฟต์แวร์ Firejail ปัจจุบัน
ตัวอย่าง:
$ firejail --debug-caps
--debug-check-ชื่อไฟล์
ดีบักการตรวจสอบชื่อไฟล์
ตัวอย่าง:
$ firejail --debug-check-ชื่อไฟล์ firefox
--debug-ข้อผิดพลาด
พิมพ์หมายเลขข้อผิดพลาดที่รู้จักทั้งหมดในการสร้างและออกจากซอฟต์แวร์ Firejail ปัจจุบัน
ตัวอย่าง:
$ firejail --debug-ernos
--debug-โปรโตคอล
พิมพ์โปรโตคอลที่รู้จักทั้งหมดในการสร้างและออกจากซอฟต์แวร์ Firejail ปัจจุบัน
ตัวอย่าง:
$ firejail --debug-โปรโตคอล
--debug-syscalls
พิมพ์การเรียกระบบที่รู้จักทั้งหมดในการสร้างและออกจากซอฟต์แวร์ Firejail ปัจจุบัน
ตัวอย่าง:
$ firejail --debug-syscalls
--debug-whitels
ดีบักรายการที่อนุญาตพิเศษ
ตัวอย่าง:
$ firejail --debug- รายการที่อนุญาตพิเศษ firefox
--defaultgw=ที่อยู่
ใช้ที่อยู่นี้เป็นเกตเวย์เริ่มต้นในเนมสเปซเครือข่ายใหม่
ตัวอย่าง:
$ firejail --net=eth0 --defaultgw=10.10.20.1 ไฟร์ฟอกซ์
--dns=ที่อยู่
ตั้งค่าเซิร์ฟเวอร์ DNS สำหรับแซนด์บ็อกซ์ สามารถกำหนดเซิร์ฟเวอร์ DNS ได้สูงสุดสามเซิร์ฟเวอร์ ใช้สิ่งนี้
ตัวเลือกถ้าคุณไม่เชื่อถือการตั้งค่า DNS บนเครือข่ายของคุณ
ตัวอย่าง:
$ firejail --dns=8.8.8.8 --dns=8.8.4.4 ไฟร์ฟอกซ์
--dns.print=ชื่อ
พิมพ์การกำหนดค่า DNS สำหรับแซนด์บ็อกซ์ที่ระบุชื่อ
ตัวอย่าง:
$ firejail --name=mygame --caps.drop=all warzone2100 &
[ ... ]
$firejail --dns.print=mygame
--dns.print=pid
พิมพ์การกำหนดค่า DNS สำหรับแซนด์บ็อกซ์ที่ระบุโดย PID
ตัวอย่าง:
$ firejail -- รายการ
3272:netblue:firejail --ส่วนตัว firefox
$firejail --dns.print=3272
--env=ชื่อ=ค่า
ตั้งค่าตัวแปรสภาพแวดล้อมในแซนด์บ็อกซ์ใหม่
ตัวอย่าง:
$ firejail --env=LD_LIBRARY_PATH=/opt/test/lib
--บังคับ
โดยค่าเริ่มต้น หาก Firejail เริ่มทำงานในแซนด์บ็อกซ์ที่มีอยู่ โปรแกรมจะเรียกใช้โปรแกรม
ในเปลือกทุบตี ตัวเลือกนี้ปิดใช้งานลักษณะการทำงานนี้ และพยายามเริ่มต้น
Firejail ในแซนด์บ็อกซ์ที่มีอยู่ อาจมีสาเหตุหลายประการที่จะล้มเหลว
ตัวอย่างเช่น ถ้าแซนด์บ็อกซ์ที่มีอยู่ปิดใช้งานความสามารถของผู้ดูแลระบบ ไบนารี SUID หรือ
ถ้ามันรัน seccomp
--fs.print=ชื่อ
พิมพ์บันทึกระบบไฟล์สำหรับแซนด์บ็อกซ์ที่ระบุชื่อ
ตัวอย่าง:
$ firejail --name=mygame --caps.drop=all warzone2100 &
[ ... ]
$firejail --fs.print=mygame
--fs.print=pid
พิมพ์บันทึกระบบไฟล์สำหรับแซนด์บ็อกซ์ที่ระบุโดย PID
ตัวอย่าง:
$ firejail -- รายการ
3272:netblue:firejail --ส่วนตัว firefox
$firejail --fs.print=3272
-?, --ช่วยด้วย
ตัวเลือกการพิมพ์สิ้นสุดทางออก
--ชื่อโฮสต์=ชื่อ
ตั้งชื่อโฮสต์แซนด์บ็อกซ์
ตัวอย่าง:
$ firejail --hostname=officepc ไฟร์ฟอกซ์
--ignore=คำสั่ง
ละเว้นคำสั่งในไฟล์โปรไฟล์
ตัวอย่าง:
$ firejail --ignore=shell --ignore=seccomp firefox
--อินเทอร์เฟซ=อินเทอร์เฟซ
ย้ายอินเทอร์เฟซในเนมสเปซเครือข่ายใหม่ มากถึงสี่ --interface ตัวเลือกสามารถเป็น
ระบุไว้
ตัวอย่าง:
$ firejail --interface=eth1 --interface=eth0.vlan100
--ip=ที่อยู่
กำหนดที่อยู่ IP ให้กับอินเทอร์เฟซเครือข่ายสุดท้ายที่กำหนดโดยตัวเลือก --net NS
เกตเวย์เริ่มต้นถูกกำหนดโดยค่าเริ่มต้น
ตัวอย่าง:
$ firejail --net=eth0 --ip=10.10.20.56 ไฟร์ฟอกซ์
--ip=ไม่มี
ไม่มีการกำหนดค่าที่อยู่ IP และไม่มีเกตเวย์เริ่มต้นสำหรับอินเทอร์เฟซสุดท้ายที่กำหนดไว้
โดยตัวเลือก --net ใช้ตัวเลือกนี้ในกรณีที่คุณต้องการเริ่มต้น DHCP . ภายนอก
ลูกค้าในแซนด์บ็อกซ์
ตัวอย่าง:
$ firejail --net=eth0 --ip=none
--ip6=ที่อยู่
กำหนดที่อยู่ IPv6 ให้กับอินเทอร์เฟซเครือข่ายสุดท้ายที่กำหนดโดยตัวเลือก --net
ตัวอย่าง:
$ firejail --net=eth0 --ip6=2001:0db8:0:f101::1/64 firefox
--iprange=ที่อยู่,ที่อยู่
กำหนดที่อยู่ IP ในช่วงที่กำหนดให้กับอินเทอร์เฟซเครือข่ายสุดท้ายที่กำหนดโดย
ตัวเลือก --net เกตเวย์เริ่มต้นถูกกำหนดโดยค่าเริ่มต้น
ตัวอย่าง:
$ firejail --net=eth0 --iprange=192.168.1.100,192.168.1.150
--ipc-เนมสเปซ
เปิดใช้งานเนมสเปซ IPC ใหม่ หากแซนด์บ็อกซ์เริ่มต้นในฐานะผู้ใช้ทั่วไป IPC
เนมสเปซถูกเปิดใช้งานโดยค่าเริ่มต้นสำหรับแซนด์บ็อกซ์ที่เริ่มต้นเป็นรูท
ตัวอย่าง:
$ firejail --ipc-namespace ไฟร์ฟอกซ์
--join=ชื่อ
เข้าร่วมแซนด์บ็อกซ์ที่ระบุชื่อ โดยค่าเริ่มต้น a / bin / bash เชลล์เริ่มต้นหลังจาก
เข้าร่วมแซนด์บ็อกซ์ หากโปรแกรมถูกระบุ โปรแกรมจะถูกรันในแซนด์บ็อกซ์
หาก --join ออกคำสั่งในฐานะผู้ใช้ทั่วไป ตัวกรองความปลอดภัยทั้งหมดจะได้รับการกำหนดค่า
สำหรับกระบวนการใหม่ เหมือนกับที่กำหนดค่าไว้ในแซนด์บ็อกซ์ ถ้า --join command
ออกมาเป็นรูท, ตัวกรองความปลอดภัย, กลุ่ม c และการกำหนดค่าซีพียูไม่ได้
นำไปใช้กับกระบวนการเข้าร่วมแซนด์บ็อกซ์
ตัวอย่าง:
$ firejail --name=mygame --caps.drop=all warzone2100 &
[ ... ]
$firejail --join=mygame
--เข้าร่วม=pid
เข้าร่วมแซนด์บ็อกซ์ที่ระบุโดย ID กระบวนการ โดยค่าเริ่มต้น a / bin / bash เชลล์เริ่มแล้ว
หลังจากเข้าร่วมแซนด์บ็อกซ์ หากมีการระบุโปรแกรม โปรแกรมจะถูกรันใน
กล่องทราย หาก --join ออกคำสั่งในฐานะผู้ใช้ทั่วไป ตัวกรองความปลอดภัยทั้งหมดจะเป็น
กำหนดค่าสำหรับกระบวนการใหม่เหมือนกับที่กำหนดค่าไว้ในแซนด์บ็อกซ์ ถ้า
--join คำสั่งออกมาเป็น root, ตัวกรองความปลอดภัย, cgroups และ cpus
การกำหนดค่าจะไม่ถูกนำไปใช้กับกระบวนการที่เข้าร่วมแซนด์บ็อกซ์
ตัวอย่าง:
$ firejail -- รายการ
3272:netblue:firejail --ส่วนตัว firefox
$ firejail --join=3272
--join-filesystem=ชื่อ
เข้าร่วมเนมสเปซการเมานท์ของแซนด์บ็อกซ์ที่ระบุด้วยชื่อ โดยค่าเริ่มต้น a / bin / bash
เชลล์เริ่มต้นหลังจากเข้าร่วมแซนด์บ็อกซ์ หากมีการระบุโปรแกรม โปรแกรม
ถูกเรียกใช้ในแซนด์บ็อกซ์ คำสั่งนี้มีให้สำหรับผู้ใช้รูทเท่านั้น ความปลอดภัย
ตัวกรอง cgroups และการกำหนดค่า cpus ไม่ได้ใช้กับกระบวนการที่เข้าร่วม
Sandbox
--เข้าร่วมระบบไฟล์=pid
เข้าร่วมเนมสเปซการเมาต์ของแซนด์บ็อกซ์ที่ระบุโดย ID กระบวนการ โดยค่าเริ่มต้น a
/ bin / bash เชลล์เริ่มต้นหลังจากเข้าร่วมแซนด์บ็อกซ์ หากมีการระบุโปรแกรม
โปรแกรมทำงานในแซนด์บ็อกซ์ คำสั่งนี้มีให้สำหรับผู้ใช้รูทเท่านั้น
ตัวกรองความปลอดภัย cgroups และการกำหนดค่าซีพียูจะไม่ถูกนำไปใช้กับกระบวนการ
เข้าร่วมแซนด์บ็อกซ์
--เข้าร่วมเครือข่าย=ชื่อ
เข้าร่วมเนมสเปซเครือข่ายของแซนด์บ็อกซ์ที่ระบุตามชื่อ โดยค่าเริ่มต้น a
/ bin / bash เชลล์เริ่มต้นหลังจากเข้าร่วมแซนด์บ็อกซ์ หากมีการระบุโปรแกรม
โปรแกรมทำงานในแซนด์บ็อกซ์ คำสั่งนี้มีให้สำหรับผู้ใช้รูทเท่านั้น
ตัวกรองความปลอดภัย cgroups และการกำหนดค่าซีพียูจะไม่ถูกนำไปใช้กับกระบวนการ
เข้าร่วมแซนด์บ็อกซ์
--เข้าร่วมเครือข่าย=pid
เข้าร่วมเนมสเปซเครือข่ายของแซนด์บ็อกซ์ที่ระบุโดย ID กระบวนการ โดยค่าเริ่มต้น a
/ bin / bash เชลล์เริ่มต้นหลังจากเข้าร่วมแซนด์บ็อกซ์ หากมีการระบุโปรแกรม
โปรแกรมทำงานในแซนด์บ็อกซ์ คำสั่งนี้มีให้สำหรับผู้ใช้รูทเท่านั้น
ตัวกรองความปลอดภัย cgroups และการกำหนดค่าซีพียูจะไม่ถูกนำไปใช้กับกระบวนการ
เข้าร่วมแซนด์บ็อกซ์
--รายการ แสดงรายการแซนด์บ็อกซ์ทั้งหมด ดู การติดตามตรวจสอบ สำหรับรายละเอียดเพิ่มเติม
ตัวอย่าง:
$ firejail -- รายการ
7015:netblue:firejail ไฟร์ฟอกซ์
7056:netblue:firejail --net=eth0 Transmission-gtk
7064:netblue:firejail --noroot xterm
$
--mac=ที่อยู่
กำหนดที่อยู่ MAC ให้กับอินเทอร์เฟซเครือข่ายสุดท้ายที่กำหนดโดยตัวเลือก --net
ตัวอย่าง:
$ firejail --net=eth0 --mac=00:11:22:33:44:55 ไฟร์ฟอกซ์
--mtu=จำนวน
กำหนดค่า MTU ให้กับอินเทอร์เฟซเครือข่ายสุดท้ายที่กำหนดโดยตัวเลือก --net
ตัวอย่าง:
$ firejail --net=eth0 --mtu=1492
--name=ชื่อ
ตั้งชื่อแซนด์บ็อกซ์ หลายตัวเลือก เช่น --join และ --shutdown สามารถใช้ชื่อนี้ได้
เพื่อระบุแซนด์บ็อกซ์
ตัวอย่าง:
$ firejail --name=mybrowser firefox
--net=bridge_interface
เปิดใช้งานเนมสเปซเครือข่ายใหม่และเชื่อมต่อกับอินเทอร์เฟซบริดจ์นี้ เว้นแต่
ระบุด้วยตัวเลือก --ip และ --defaultgw ที่อยู่ IP และเกตเวย์เริ่มต้น
จะถูกกำหนดให้กับแซนด์บ็อกซ์โดยอัตโนมัติ ที่อยู่ IP ได้รับการตรวจสอบโดยใช้ ARP
ก่อนได้รับมอบหมาย ที่อยู่ที่กำหนดค่าเป็นเกตเวย์เริ่มต้นคืออุปกรณ์บริดจ์
ที่อยู่ IP. สามารถกำหนดอุปกรณ์ --net bridge ได้สูงสุดสี่เครื่อง สะพานผสมและ
อนุญาตให้ใช้อุปกรณ์ macvlan
ตัวอย่าง:
$ sudo brctl addbr br0
$ sudo ifconfig br0 10.10.20.1/24
$ sudo brctl addbr br1
$ sudo ifconfig br1 10.10.30.1/24
$ firejail --net=br0 --net=br1
--net=ethernet_interface
เปิดใช้งานเนมสเปซเครือข่ายใหม่และเชื่อมต่อกับอินเทอร์เฟซอีเธอร์เน็ตนี้โดยใช้
ไดรเวอร์ Linux macvlan มาตรฐาน เว้นแต่จะระบุไว้ด้วยตัวเลือก --ip และ --defaultgw
ที่อยู่ IP และเกตเวย์เริ่มต้นจะถูกกำหนดให้กับแซนด์บ็อกซ์โดยอัตโนมัติ
ที่อยู่ IP ได้รับการตรวจสอบโดยใช้ ARP ก่อนมอบหมาย ที่อยู่ที่กำหนดค่าเป็น
เกตเวย์เริ่มต้นคือเกตเวย์เริ่มต้นของโฮสต์ มากถึงสี่ --net อุปกรณ์สามารถ
กำหนดไว้ อนุญาตให้ผสมอุปกรณ์บริดจ์และอุปกรณ์ macvlan
ตัวอย่าง:
$ firejail --net=eth0 --ip=192.168.1.80 --dns=8.8.8.8 firefox
--net=ไม่มี
เปิดใช้งานเนมสเปซเครือข่ายใหม่ที่ไม่ได้เชื่อมต่อ อินเทอร์เฟซเดียวที่มีอยู่ใน
เนมสเปซใหม่เป็นอินเทอร์เฟซแบบวนรอบใหม่ (แท้จริง) ใช้ตัวเลือกนี้เพื่อปฏิเสธเครือข่าย
การเข้าถึงโปรแกรมที่ไม่ต้องการการเข้าถึงเครือข่ายจริงๆ
ตัวอย่าง:
$ firejail --net=none vlc
--netfilter
เปิดใช้งานตัวกรองเครือข่ายไคลเอ็นต์เริ่มต้นในเนมสเปซเครือข่ายใหม่ เครือข่ายใหม่
เนมสเปซถูกสร้างขึ้นโดยใช้ตัวเลือก --net หากเนมสเปซเครือข่ายใหม่ไม่ใช่
สร้างแล้ว --netfilter ตัวเลือกไม่ทำอะไรเลย ตัวกรองเริ่มต้นจะเป็นดังนี้:
*กรอง
:อินพุตลดลง [0:0]
:ไปข้างหน้าดรอป [0:0]
:ยอมรับผลลัพธ์ [0:0]
-A อินพุต -i lo -j ยอมรับ
-A INPUT -m state --สถานะที่เกี่ยวข้อง,ESTABLISHED -j ACCEPT
-A INPUT -p icmp --icmp-type ปลายทางที่ไม่สามารถเข้าถึงได้ -j ACCEPT
-A INPUT -p icmp --icmp-type เกินเวลา -j ACCEPT
-A INPUT -p icmp --icmp-type echo-request -j ยอมรับ
COMMIT
ตัวอย่าง:
$ firejail --net=eth0 --netfilter ไฟร์ฟอกซ์
--netfilter=ชื่อไฟล์
เปิดใช้งานตัวกรองเครือข่ายที่ระบุโดยชื่อไฟล์ในเนมสเปซเครือข่ายใหม่ NS
รูปแบบไฟล์ตัวกรองคือรูปแบบของคำสั่ง iptables-save และ iptable-restore
เนมสเปซเครือข่ายใหม่ถูกสร้างขึ้นโดยใช้ตัวเลือก --net หากเนมสเปซเครือข่ายใหม่
ไม่ได้ถูกสร้างขึ้น --netfilter ตัวเลือกไม่ทำอะไรเลย
ตัวกรองต่อไปนี้มีอยู่ในไดเร็กทอรี /etc/firejail:
เว็บเซิร์ฟเวอร์.net เป็นตัวกรองเว็บเซิร์ฟเวอร์ที่อนุญาตให้เข้าถึงเฉพาะพอร์ต TCP 80 และ
443 ตัวอย่าง:
$ firejail --netfilter=/etc/firejail/webserver.net --net=eth0 \
/etc/init.d/apache2 เริ่มต้น
nolocal.net เป็นตัวกรองไคลเอนต์ที่ปิดการเข้าถึงเครือข่ายท้องถิ่น ตัวอย่าง:
$ firejail --netfilter=/etc/firejail/nolocal.net \
--net=eth0 ไฟร์ฟอกซ์
--netfilter6=ชื่อไฟล์
เปิดใช้งานตัวกรองเครือข่าย IPv6 ที่ระบุโดยชื่อไฟล์ในเนมสเปซเครือข่ายใหม่
รูปแบบไฟล์ตัวกรองคือรูปแบบของ ip6tables-save และ ip6table-restore
คำสั่ง เนมสเปซเครือข่ายใหม่ถูกสร้างขึ้นโดยใช้ตัวเลือก --net หากเป็นเครือข่ายใหม่
ไม่ได้สร้างเนมสเปซ --netfilter6 ตัวเลือกไม่ทำอะไรเลย
--netstats
ตรวจสอบสถิติเนมสเปซเครือข่าย ดู การติดตามตรวจสอบ สำหรับรายละเอียดเพิ่มเติม
ตัวอย่าง:
$firejail --netstats
ผู้ใช้ PID คำสั่ง RX(KB/s) TX(KB/s)
1294 netblue 53.355 1.473 firejail --net=eth0 ไฟร์ฟอกซ์
7383 netblue 9.045 0.112 firejail --net = eth0 การส่ง
--noblacklist=dirname_or_filename
ปิดใช้งานบัญชีดำสำหรับไดเร็กทอรีหรือไฟล์นี้
ตัวอย่าง:
$ คุกไฟ
$ nc dict.org 2628
ทุบตี: /ถัง/nc: ปฏิเสธการอนุญาต
$ ทางออก
$ firejail --noblacklist=/ถัง/nc
$ nc dict.org 2628
220 pan.alephnull.com dictd 1.12.1/rf บน Linux 3.14-1-amd64
--ไม่มีกลุ่ม
ปิดการใช้งานกลุ่มเสริม หากไม่มีตัวเลือกนี้จะเปิดใช้งานกลุ่มเสริม
สำหรับผู้ใช้ที่เริ่มต้นแซนด์บ็อกซ์ สำหรับผู้ใช้ root กลุ่มเสริมอยู่เสมอ
พิการ
ตัวอย่าง:
รหัส $
uid=1000(เน็ตบลู) gid=1000(เน็ตบลู)
groups=1000(netblue),24(cdrom),25(floppy),27(sudo),29(audio)
$ firejail --nogroups
ผู้ปกครอง pid 8704 ลูก pid 8705
เริ่มต้นกระบวนการลูกแล้ว
รหัส $
uid=1000(netblue) gid=1000(netblue) กลุ่ม=1000(netblue)
$
--noprofile
อย่าใช้โปรไฟล์ความปลอดภัย
ตัวอย่าง:
$ คุกไฟ
กำลังอ่านโปรไฟล์ /etc/firejail/generic.profile
ผู้ปกครอง pid 8553 ลูก pid 8554
เริ่มต้นกระบวนการลูกแล้ว
[ ... ]
$ firejail --noprofile
ผู้ปกครอง pid 8553 ลูก pid 8554
เริ่มต้นกระบวนการลูกแล้ว
[ ... ]
--ไม่มีราก
ติดตั้งเนมสเปซผู้ใช้ด้วยผู้ใช้คนเดียว - ผู้ใช้ปัจจุบัน ผู้ใช้รูทไม่ได้
มีอยู่ในเนมสเปซใหม่ ตัวเลือกนี้ต้องใช้เคอร์เนล Linux เวอร์ชัน 3.8 หรือ
ใหม่กว่า ไม่รองรับตัวเลือกนี้สำหรับ --chroot และ --overlay configurations หรือ
สำหรับแซนด์บ็อกซ์ที่เริ่มต้นเป็นรูท
ตัวอย่าง:
$ firejail --noroot
ผู้ปกครอง pid 8553 ลูก pid 8554
เริ่มต้นกระบวนการลูกแล้ว
$ ปิง google.com
ping: icmp open socket: ไม่อนุญาตให้ใช้งาน
$
--ไม่มีเสียง
ปิดระบบเสียง.
ตัวอย่าง:
$ firejail --nosound ไฟร์ฟอกซ์
--output=logfile
การบันทึก stdout และการหมุนบันทึก คัดลอก stdout ไปยังไฟล์บันทึก และรักษาขนาดของ
ไฟล์ที่มีขนาดไม่เกิน 500KB โดยใช้การหมุนบันทึก ห้าไฟล์ที่มีคำนำหน้า .1 ถึง .5 ใช้ใน
การหมุน
ตัวอย่าง:
$ firejail --output=sandboxlog / bin / bash
[ ... ]
$ ls -l แซนด์บ็อกซ์ล็อก*
-rw-r--r-- 1 netblue netblue 333890 2 มิ.ย. 07:48 sandboxlog
-rw-r--r-- 1 netblue netblue 511488 2 มิ.ย. 07:48 sandboxlog.1
-rw-r--r-- 1 netblue netblue 511488 2 มิ.ย. 07:48 sandboxlog.2
-rw-r--r-- 1 netblue netblue 511488 2 มิ.ย. 07:48 sandboxlog.3
-rw-r--r-- 1 netblue netblue 511488 2 มิ.ย. 07:48 sandboxlog.4
-rw-r--r-- 1 netblue netblue 511488 2 มิ.ย. 07:48 sandboxlog.5
--ซ้อนทับ
เมานต์ระบบไฟล์ซ้อนทับบนระบบไฟล์ปัจจุบัน ระบบไฟล์ทั้งหมด
การปรับเปลี่ยนจะเข้าสู่โอเวอร์เลย์ โอเวอร์เลย์ถูกเก็บไว้ใน $HOME/.firejail
ไดเรกทอรี
จำเป็นต้องมีการรองรับ OverlayFS ในเคอร์เนล Linux เพื่อให้ตัวเลือกนี้ทำงานได้ โอเวอร์เลย์FS
เปิดตัวอย่างเป็นทางการใน Linux kernel เวอร์ชัน 3.18
ตัวอย่าง:
$ firejail -- โอเวอร์เลย์ firefox
--โอเวอร์เลย์-tmpfs
เมานต์ระบบไฟล์ซ้อนทับบนระบบไฟล์ปัจจุบัน ระบบไฟล์ทั้งหมด
การปรับเปลี่ยนจะเข้าสู่โอเวอร์เลย์ และจะถูกยกเลิกเมื่อปิดแซนด์บ็อกซ์
จำเป็นต้องมีการรองรับ OverlayFS ในเคอร์เนล Linux เพื่อให้ตัวเลือกนี้ทำงานได้ โอเวอร์เลย์FS
เปิดตัวอย่างเป็นทางการใน Linux kernel เวอร์ชัน 3.18
ตัวอย่าง:
$ firejail --overlay-tmpfs ไฟร์ฟอกซ์
--ส่วนตัว
เมานต์ใหม่ /ราก และ /home/user ไดเร็กทอรีในระบบไฟล์ชั่วคราว ทั้งหมด
การปรับเปลี่ยนจะถูกยกเลิกเมื่อปิดแซนด์บ็อกซ์
ตัวอย่าง:
$ firejail --ส่วนตัว firefox
--ส่วนตัว=ไดเรกทอรี
ใช้ไดเร็กทอรีเป็นโฮมผู้ใช้
ตัวอย่าง:
$ firejail --private=/home/netblue/firefox-บ้านของ firefox
--private-bin=ไฟล์,ไฟล์
สร้างไฟล์ / bin ในระบบไฟล์ชั่วคราว และคัดลอกโปรแกรมในรายการ NS
ไดเร็กทอรีเดียวกันก็ถูกผูกมัดทับด้วย / sbin, / usr / bin และ /usr/sbin.
ตัวอย่าง:
$ firejail --private-bin=bash,sed,ls,cat
ผู้ปกครอง pid 20841 ลูก pid 20842
เริ่มต้นกระบวนการลูกแล้ว
$ ล / bin
ทุบตีแมว ls sed
--เอกชน-dev
สร้างใหม่ / dev ไดเร็กทอรี เฉพาะ dri, null, เต็ม, ศูนย์, tty, pts, ptmx, สุ่ม,
มีอุปกรณ์สุ่มบันทึกและ shm
ตัวอย่าง:
$ firejail --private-dev
ผู้ปกครอง pid 9887 ลูก pid 9888
เริ่มต้นกระบวนการลูกแล้ว
$ ล / dev
dri บันทึกแบบเต็ม null ptmx pts สุ่ม shm tty urandom zero
$
--private-etc=file,directory
สร้างไฟล์ / ฯลฯ ในระบบไฟล์ชั่วคราว และคัดลอกไฟล์และไดเร็กทอรีใน
รายการ. การปรับเปลี่ยนทั้งหมดจะถูกยกเลิกเมื่อปิดแซนด์บ็อกซ์
ตัวอย่าง:
$ firejail --private-etc=group,ชื่อโฮสต์,เวลาท้องถิ่น, \
nsswitch.conf,passwd,resolv.conf
--ส่วนตัว-tmp
เมานต์ระบบไฟล์ชั่วคราวที่ว่างเปล่าที่ด้านบนของ / Tmp ไดเรกทอรี
ตัวอย่าง:
$ firejail --private-tmp
--profile=ชื่อไฟล์
โหลดโปรไฟล์ความปลอดภัยที่กำหนดเองจากชื่อไฟล์ สำหรับชื่อไฟล์ให้ใช้เส้นทางที่แน่นอนหรือ
เส้นทางที่สัมพันธ์กับเส้นทางปัจจุบัน ดูข้อมูลเพิ่มเติมได้ที่ การรักษาความปลอดภัย ประวัติ
ด้านล่าง
ตัวอย่าง:
$ firejail --profile=โปรไฟล์ของฉัน
--profile-path=ไดเรกทอรี
ใช้ไดเร็กทอรีนี้เพื่อค้นหาไฟล์โปรไฟล์ ใช้เส้นทางที่แน่นอนหรือเส้นทางใน
โฮมไดเร็กตอรี่ที่ขึ้นต้นด้วย ~ /. สำหรับข้อมูลเพิ่มเติมโปรดดูที่ การรักษาความปลอดภัย ประวัติ
ส่วนด้านล่างและ การย้ายถิ่นฐาน ภาพรวมบริษัท ไฟล์ in มนุษย์ 5 โปรไฟล์ของ firejail.
ตัวอย่าง:
$ firejail --profile-path=~/โปรไฟล์ของฉัน
$ firejail --profile-path=/home/netblue/myprofiles
--โปรโตคอล=โปรโตคอล,โปรโตคอล,โปรโตคอล
เปิดใช้งานตัวกรองโปรโตคอล ตัวกรองขึ้นอยู่กับ seccomp และตรวจสอบก่อน
อาร์กิวเมนต์เพื่อเรียกระบบซ็อกเก็ต ค่าที่รู้จัก: unix, inet, inet6, netlink และ
ห่อ
ตัวอย่าง:
$ firejail --protocol=unix,inet,inet6 firefox
--protocol.print=ชื่อ
พิมพ์ตัวกรองโปรโตคอลสำหรับแซนด์บ็อกซ์ที่ระบุชื่อ
ตัวอย่าง:
$ firejail --name=mybrowser firefox &
[ ... ]
$firejail --print.print=mybrowser
ยูนิกซ์,inet,inet6,netlink
--โปรโตคอล.พิมพ์=pid
พิมพ์ตัวกรองโปรโตคอลสำหรับแซนด์บ็อกซ์ที่ระบุโดย PID
ตัวอย่าง:
$ firejail -- รายการ
3272:netblue:firejail --ส่วนตัว firefox
$firejail --protocol.print=3272
ยูนิกซ์,inet,inet6,netlink
--เงียบ
ปิดเอาต์พุตของ Firejail
--อ่านอย่างเดียว=dirname_or_filename
ตั้งค่าไดเร็กทอรีหรือไฟล์แบบอ่านอย่างเดียว
ตัวอย่าง:
$ firejail --อ่านอย่างเดียว=~/.mozilla Firefox
--rlimit-fsize=จำนวน
กำหนดขนาดไฟล์สูงสุดที่กระบวนการสร้างได้
--rlimit-nofile=จำนวน
กำหนดจำนวนไฟล์สูงสุดที่สามารถเปิดได้โดยกระบวนการ
--rlimit-nproc=จำนวน
กำหนดจำนวนกระบวนการสูงสุดที่สามารถสร้างได้สำหรับ ID ผู้ใช้จริงของ
กระบวนการโทร
--rlimit-sigpending=จำนวน
กำหนดจำนวนสูงสุดของสัญญาณที่รอดำเนินการสำหรับกระบวนการ
--สแกน ARP-สแกนเครือข่ายทั้งหมดจากภายในเนมสเปซเครือข่าย สิ่งนี้ทำให้เป็นไปได้
เพื่อตรวจหาไดรเวอร์อุปกรณ์เคอร์เนล macvlan ที่ทำงานอยู่บนโฮสต์ปัจจุบัน
ตัวอย่าง:
$ firejail --net=eth0 --สแกน
--seccomp
เปิดใช้งานตัวกรอง seccomp และขึ้นบัญชีดำ syscalls ในรายการเริ่มต้น ค่าเริ่มต้น
รายการมีดังนี้: เมานต์, umount2, ptrace, kexec_load, kexec_file_load,
open_by_handle_at, init_module, Finit_module, delete_module, iopl, ioperm, swapon,
สลับ, syslog, process_vm_readv, process_vm_writev, sysfs, _sysctl, adjtimex,
clock_adjtime, lookup_dcookie, perf_event_open, fanotify_init, kcmp, add_key,
request_key, keyctl, uselib, acct, modified_ldt, pivot_root, io_setup, io_destroy,
io_getevents, io_submit, io_cancel, remap_file_pages, mbind, get_mempolicy,
set_mempolicy, migrate_pages, move_pages, vmsplice, perf_event_open และ chroot
ตัวอย่าง:
$ firejail --seccomp
--seccomp=syscall,syscall,syscall
เปิดใช้งานตัวกรอง seccomp ขึ้นบัญชีดำรายการเริ่มต้นและ syscalls ที่ระบุโดย
คำสั่ง
ตัวอย่าง:
$ firejail --seccomp=utime, utimensat, utimes firefox
--seccomp.drop=syscall,syscall,syscall
เปิดใช้งานตัวกรอง seccomp และขึ้นบัญชีดำ syscalls ที่ระบุโดยคำสั่ง
ตัวอย่าง:
$ firejail --seccomp.drop=utime,utimensat,utimes
--seccomp.keep=syscall,syscall,syscall
เปิดใช้งานตัวกรอง seccomp และอนุญาต syscalls ที่ระบุโดยคำสั่ง
ตัวอย่าง:
$ firejail --shell=none --seccomp.keep=poll,select,[...] Transmission-gtk
--seccomp. =syscall,syscall,syscall
เปิดใช้งานตัวกรอง seccomp และส่งคืน errno สำหรับ syscalls ที่ระบุโดยคำสั่ง
ตัวอย่าง: Bash shell ที่การลบไฟล์ถูกปิดใช้งาน
$ firejail --seccomp.eperm=unlinkat
ผู้ปกครอง pid 10662 ลูก pid 10663
เริ่มต้นกระบวนการลูกแล้ว
$ สัมผัสไฟล์ทดสอบ
ไฟล์ทดสอบ $ rm
rm: ไม่สามารถลบ `testfile': ไม่อนุญาตให้ดำเนินการ
--seccomp.print=ชื่อ
พิมพ์ตัวกรอง seccomp สำหรับแซนด์บ็อกซ์ที่เริ่มใช้ --name ตัวเลือก
ตัวอย่าง:
$ firejail --name=เบราว์เซอร์ firefox &
$firejail --seccomp.print=browser
ตัวกรอง SECCOMP:
VALIDATE_สถาปัตยกรรม
EXAMINE_SYSCALL
BLACKLIST 165 เม้าท์
แบล็คลิสต์ 166 umount2
บัญชีดำ 101 ptrace
บัญชีดำ 246 kexec_load
BLACKLIST 304 เปิด_by_handle_at
บัญชีดำ 175 init_module
บัญชีดำ 176 delete_module
BLACKLIST 172 ขึ้นไป
บัญชีดำ 173 ไอโอเปอเรม
BLACKLIST 167 เปลี่ยน
BLACKLIST 168 การแลกเปลี่ยน
บัญชีดำ 103 syslog
บัญชีดำ 310 process_vm_readv
บัญชีดำ 311 process_vm_writev
BLACKLIST 133 ล้านดอลล่าร์
บัญชีดำ 139 sysfs
แบล็คลิสต์ 156 _sysctl
บัญชีดำ 159 ปรับเวลา
บัญชีดำ 305 clock_adjtime
บัญชีดำ 212 lookup_dcookie
บัญชีดำ 298 perf_event_open
บัญชีดำ 300 fanotify_init
RETURN_อนุญาต
$
--seccomp.print=pid
พิมพ์ตัวกรอง seccomp สำหรับแซนด์บ็อกซ์ที่ระบุโดย ID กระบวนการ ใช้ --list option
เพื่อรับรายการแซนด์บ็อกซ์ที่ทำงานอยู่ทั้งหมด
ตัวอย่าง:
$ firejail -- รายการ
10786:netblue:firejail --name=เบราว์เซอร์ firefox $ firejail --seccomp.print=10786
ตัวกรอง SECCOMP:
VALIDATE_สถาปัตยกรรม
EXAMINE_SYSCAL
BLACKLIST 165 เม้าท์
แบล็คลิสต์ 166 umount2
บัญชีดำ 101 ptrace
บัญชีดำ 246 kexec_load
BLACKLIST 304 เปิด_by_handle_at
บัญชีดำ 175 init_module
บัญชีดำ 176 delete_module
BLACKLIST 172 ขึ้นไป
บัญชีดำ 173 ไอโอเปอเรม
BLACKLIST 167 เปลี่ยน
BLACKLIST 168 การแลกเปลี่ยน
บัญชีดำ 103 syslog
บัญชีดำ 310 process_vm_readv
บัญชีดำ 311 process_vm_writev
BLACKLIST 133 ล้านดอลล่าร์
บัญชีดำ 139 sysfs
แบล็คลิสต์ 156 _sysctl
บัญชีดำ 159 ปรับเวลา
บัญชีดำ 305 clock_adjtime
บัญชีดำ 212 lookup_dcookie
บัญชีดำ 298 perf_event_open
บัญชีดำ 300 fanotify_init
RETURN_อนุญาต
$
--shell=ไม่มี
รันโปรแกรมโดยตรง โดยไม่มีเชลล์ผู้ใช้
ตัวอย่าง:
$ firejail --shell=none script.sh
--shell=โปรแกรม
ตั้งค่าเชลล์ผู้ใช้เริ่มต้น ใช้เชลล์นี้เพื่อเรียกใช้แอปพลิเคชันโดยใช้ -c shell
ตัวเลือก. ตัวอย่างเช่น "firejail --shell=/ถัง/แดช firefox" จะเริ่ม Mozilla
Firefox เป็น "/ถัง/แดช -c firefox" โดยค่าเริ่มต้น Bash shell (/ bin / bash) ถูกนำมาใช้.
ตัวเลือกเช่น --zsh และ --csh ยังสามารถตั้งค่าเชลล์เริ่มต้นได้
ตัวอย่าง: $firejail --shell=/ถัง/แดช script.sh
--shutdown=ชื่อ
ปิดแซนด์บ็อกซ์เริ่มใช้ตัวเลือก --name
ตัวอย่าง:
$ firejail --name=mygame --caps.drop=all warzone2100 &
[ ... ]
$firejail --shutdown=mygame
--shutdown=ปิด
ปิดแซนด์บ็อกซ์ที่ระบุโดย ID กระบวนการ ใช้ --list ตัวเลือกเพื่อรับรายการของ
แซนด์บ็อกซ์ที่ทำงานอยู่ทั้งหมด
ตัวอย่าง:
$ firejail -- รายการ
3272:netblue:firejail --ส่วนตัว firefox
$ firejail --ปิดเครื่อง=3272
--tmpfs=dirname
เมานต์ระบบไฟล์ tmpfs บนไดเร็กทอรี dirname ตัวเลือกนี้ใช้ได้เฉพาะเมื่อ
เรียกใช้แซนด์บ็อกซ์ในฐานะรูท
ตัวอย่าง:
# เรือนจำ --tmpfs=/ var
--สูงสุด ตรวจสอบแซนด์บ็อกซ์ที่ใช้ CPU มากที่สุด ดู การติดตามตรวจสอบ สำหรับรายละเอียดเพิ่มเติม
ตัวอย่าง:
$ คุกไฟ --top
--ติดตาม
ติดตามการเปิด เข้าถึง และเชื่อมต่อการโทรของระบบ
ตัวอย่าง:
$ firejail --trace wget -q www.debian.org
ผู้ปกครอง pid 11793 ลูก pid 11794
เริ่มต้นกระบวนการลูกแล้ว
1:ทุบตี:เปิด /dev/tty
1:wget:fopen64 /etc/wgetrc
1:wget:fopen / etc / hosts
1:wget:ซ็อกเก็ต AF_INET SOCK_DGRAM IPPROTO_IP
1:wget:เชื่อมต่อ 8.8.8.8:53
1: wget: ซ็อกเก็ต AF_INET SOCK_STREAM IPPROTO_IP
1:wget:เชื่อมต่อ 140.211.15.34:80
1:wget:fopen64 index.html.1
พ่อแม่ปิดเทอม บาย...
--บันทึกการติดตาม
ตัวเลือกนี้เปิดใช้งานการตรวจสอบไฟล์และไดเร็กทอรีในบัญชีดำ ข้อความถูกส่ง
เพื่อ syslog ในกรณีที่มีการเข้าถึงไฟล์หรือไดเร็กทอรี
ตัวอย่าง:
$ firejail --tracelog ไฟร์ฟ็อกซ์
ข้อความตัวอย่าง:
$ sudo หาง -f / var / log / syslog
[ ... ]
3 ธันวาคม 11:43:25 เดเบียน firejail [70]: การละเมิดบัญชีดำ - sandbox 26370, exe
firefox, syscall open64, เส้นทาง / etc / shadow
3 ธันวาคม 11:46:17 เดเบียน firejail [70]: การละเมิดบัญชีดำ - sandbox 26370, exe
firefox, syscall opendir, เส้นทาง / boot
[ ... ]
--ต้นไม้ พิมพ์แผนผังของกระบวนการแซนด์บ็อกซ์ทั้งหมด ดู การติดตามตรวจสอบ สำหรับรายละเอียดเพิ่มเติม
ตัวอย่าง:
$ คุกไฟ -- ต้นไม้
11903:netblue:firejail ไอซ์พังพอน
11904:netblue:iceweasel
11957:netblue:/usr/lib/iceweasel/plugin-container.dll
11969:netblue:firejail --net=eth0 Transmission-gtk
11970:netblue:เกียร์-gtk
--ผู้ใช้=ผู้ใช้ใหม่
เปลี่ยนผู้ใช้ก่อนเริ่มแซนด์บ็อกซ์ คำสั่งนี้ควรรันเป็นรูท
ตัวอย่าง:
# firejail --user=www-ข้อมูล
--รุ่น
พิมพ์เวอร์ชันของโปรแกรมและออก
ตัวอย่าง:
$ firejail -- เวอร์ชัน
เรือนจำรุ่น 0.9.27
--whitelist=dirname_or_filename
ไดเรกทอรีหรือไฟล์ที่อนุญาตพิเศษ คุณลักษณะนี้มีการใช้งานสำหรับบ้านผู้ใช้เท่านั้น / dev,
/ครึ่ง, /เลือก, / varและ / Tmp ไดเรกทอรี
ตัวอย่าง:
$ firejail --whitelist=~/.mozilla --ไวท์ลิสต์=~ / ดาวน์โหลด
$ firejail --whitelist=/tmp/.X11-ยูนิกซ์ --whitelist=/dev/null
$ firejail "--whitelist=/home/username/My Virtual Machines"
--zsh ใช้ /usr/bin/zsh เป็นเชลล์ผู้ใช้เริ่มต้น
ตัวอย่าง:
$ ไฟคุก --zsh
การจราจร รูปร่าง
แบนด์วิดท์เครือข่ายเป็นทรัพยากรราคาแพงที่ใช้ร่วมกันระหว่างแซนด์บ็อกซ์ทั้งหมดที่ทำงานบนระบบ
การจัดรูปแบบการรับส่งข้อมูลทำให้ผู้ใช้สามารถเพิ่มประสิทธิภาพเครือข่ายโดยการควบคุมปริมาณ
ของข้อมูลที่ไหลเข้าและออกจากแซนด์บ็อกซ์
Firejail ใช้ตัวสร้างการจำกัดอัตราอย่างง่ายโดยใช้คำสั่ง Linux tc หุ่นเชิด
ทำงานที่ระดับแซนด์บ็อกซ์ และสามารถใช้ได้เฉพาะกับแซนด์บ็อกซ์ที่กำหนดค่าด้วยเครือข่ายใหม่
เนมสเปซ
กำหนดขีดจำกัดอัตรา:
firejail --bandwidth={name|pid} ตั้งค่าการอัปโหลดเครือข่ายดาวน์โหลด
ล้างขีดจำกัดอัตรา:
firejail --bandwidth={name|pid} ล้างเครือข่าย
สถานะ:
firejail --bandwidth={name|pid} สถานะ
ที่:
ชื่อ - ชื่อแซนด์บ็อกซ์
pid - กล่องทราย pid
เครือข่าย - อินเทอร์เฟซเครือข่ายที่ใช้โดย --net option
ดาวน์โหลด - ความเร็วในการดาวน์โหลดเป็น KB/s (กิโลไบต์ต่อวินาที)
อัพโหลด - ความเร็วในการอัพโหลดเป็น KB/s (กิโลไบต์ต่อวินาที)
ตัวอย่าง:
$ firejail --name=mybrowser --net=eth0 firefox &
$ firejail --bandwidth=mybrowser ตั้งค่า eth0 80 20
$ firejail --bandwidth = สถานะเบราว์เซอร์ของฉัน
$ firejail --bandwidth=mybrowser ล้าง eth0
การติดตามตรวจสอบ
ตัวเลือก --list พิมพ์รายการแซนด์บ็อกซ์ทั้งหมด รูปแบบสำหรับรายการกระบวนการแต่ละรายการคือ
ดังต่อไปนี้:
PID:ผู้ใช้:คำสั่ง
ตัวเลือก --tree พิมพ์แผนผังของกระบวนการที่ทำงานอยู่ในแซนด์บ็อกซ์ รูปแบบของแต่ละคน
การเข้าสู่กระบวนการมีดังนี้:
PID:ผู้ใช้:คำสั่ง
ตัวเลือก --top คล้ายกับคำสั่งบนสุดของ UNIX แต่ใช้กับแซนด์บ็อกซ์เท่านั้น
ตัวเลือก --netstats พิมพ์สถิติเครือข่ายสำหรับแซนด์บ็อกซ์ที่ใช้งานอยู่ซึ่งติดตั้งเครือข่ายใหม่
เนมสเปซ
รายการด้านล่างเป็นฟิลด์ที่พร้อมใช้งาน (คอลัมน์) ตามลำดับตัวอักษรสำหรับ --top และ
--netstat ตัวเลือก:
คำสั่ง
คำสั่งที่ใช้เริ่มแซนด์บ็อกซ์
การใช้งาน CPU% CPU ส่วนแบ่งแซนด์บ็อกซ์ของเวลา CPU ที่ผ่านไปตั้งแต่อัปเดตหน้าจอครั้งล่าสุด
PID ID กระบวนการที่ไม่ซ้ำสำหรับงานที่ควบคุมแซนด์บ็อกซ์
Prcs จำนวนโปรเซสที่ทำงานอยู่ในแซนด์บ็อกซ์ รวมถึงกระบวนการควบคุม
ขนาดหน่วยความจำที่อยู่อาศัย RES (KiB) หน่วยความจำกายภาพแบบไม่สลับแซนด์บ็อกซ์ เป็นผลรวมของ
ค่า RES สำหรับกระบวนการทั้งหมดที่ทำงานอยู่ในแซนด์บ็อกซ์
RX(KB/วินาที)
เครือข่ายรับความเร็ว
SHR Shared Memory Size (KiB) ซึ่งสะท้อนถึงหน่วยความจำที่แชร์กับกระบวนการอื่นๆ มันคือ
ผลรวมของค่า SHR สำหรับกระบวนการทั้งหมดที่ทำงานอยู่ในแซนด์บ็อกซ์ ซึ่งรวมถึง
กระบวนการควบคุม
TX(KB/วินาที)
ความเร็วในการส่งเครือข่าย
เวลาทำงานของแซนด์บ็อกซ์ในรูปแบบชั่วโมง:นาที:วินาที
ผู้ใช้ เจ้าของแซนด์บ็อกซ์
การรักษาความปลอดภัย ประวัติ
สามารถส่งผ่านตัวเลือกบรรทัดคำสั่งต่างๆ ไปยังโปรแกรมได้โดยใช้ไฟล์โปรไฟล์ เรือนจำ Fire
เลือกไฟล์โปรไฟล์ดังนี้:
1. หากผู้ใช้จัดเตรียมไฟล์โปรไฟล์ด้วยตัวเลือก --profile ไฟล์โปรไฟล์จะเป็น
โหลดแล้ว ตัวอย่าง:
$ firejail --profile=/home/netblue/icecat.profile ไอซ์แคท
โปรไฟล์การอ่าน /home/netblue/icecat.profile
[ ... ]
2. หากมีไฟล์โปรไฟล์ที่มีชื่อเดียวกับแอปพลิเคชันอยู่ใน
~/.config/firejail ไดเร็กทอรีหรือใน /etc/firejail โปรไฟล์ถูกโหลด
~/.config/firejail มีความสำคัญเหนือ /etc/firejail. ตัวอย่าง:
$ firejail ไอซ์แคท
ชื่อคำสั่ง #icecat#
พบโปรไฟล์ icecat ในไดเร็กทอรี /home/netblue/.config/firejail
กำลังอ่านโปรไฟล์ /home/netblue/.config/firejail/icecat.profile
[ ... ]
3. ใช้ไฟล์ default.profile หากแซนด์บ็อกซ์เริ่มต้นโดยผู้ใช้ทั่วไป หรือ server.profile
file ถ้าแซนด์บ็อกซ์เริ่มต้นโดยรูท Firejail ค้นหาไฟล์เหล่านี้ใน
~/.config/firejail ไดเร็กทอรี ตามด้วยไดเร็กทอรี /etc/firejail หากต้องการปิดใช้งานค่าเริ่มต้น
การโหลดโปรไฟล์ ใช้ตัวเลือกคำสั่ง --noprofile ตัวอย่าง:
$ คุกไฟ
กำลังอ่านโปรไฟล์ /etc/firejail/generic.profile
ผู้ปกครอง pid 8553 ลูก pid 8554
เริ่มต้นกระบวนการลูกแล้ว
[ ... ]
$ firejail --noprofile
ผู้ปกครอง pid 8553 ลูก pid 8554
เริ่มต้นกระบวนการลูกแล้ว
[ ... ]
ดู man 5 firejail-profile สำหรับข้อมูลไวยากรณ์ไฟล์โปรไฟล์
ถูก จำกัด SHELL
ในการกำหนดค่าเชลล์ที่จำกัด ให้แทนที่ / bin / bash ด้วย /usr/bin/firejail ใน /etc/password
ไฟล์สำหรับผู้ใช้แต่ละรายที่ต้องถูกจำกัด หรือคุณสามารถระบุ
/usr/bin/firejail ในคำสั่ง adduser:
adduser --shell /usr/bin/firejail ชื่อผู้ใช้
อาร์กิวเมนต์เพิ่มเติมที่ส่งผ่านไปยัง firejail ที่สามารถเรียกทำงานได้เมื่อเข้าสู่ระบบจะถูกประกาศใน
/etc/firejail/login.users ไฟล์
ตัวอย่าง
เรือนจำไฟ
เริ่มประจำ / bin / bash เซสชันในกล่องทราย
เรือนจำ firefox
เริ่ม Mozilla Firefox
firejail --debug ไฟร์ฟอกซ์
ดีบักแซนด์บ็อกซ์ Firefox
เรือนจำไฟ --ส่วนตัว
เริ่มต้น / bin / bash เซสชันด้วยโฮมไดเร็กทอรี tmpfs ใหม่
เรือนจำไฟ --net=br0 ip=10.10.20.10
เริ่มต้น / bin / bash เซสชันในเนมสเปซเครือข่ายใหม่ เซสชันเชื่อมต่อกับ
เครือข่ายหลักโดยใช้อุปกรณ์บริดจ์ br0 มีการกำหนดที่อยู่ IP เป็น 10.10.20.10
ไปที่กล่องทราย
ไฟคุก --net=br0 --net=br1 --net=br2
เริ่มต้น / bin / bash เซสชันในเนมสเปซเครือข่ายใหม่และเชื่อมต่อกับ br0, br1,
และอุปกรณ์บริดจ์โฮสต์ br2
เรือนจำ --list
แสดงรายการกระบวนการแซนด์บ็อกซ์ทั้งหมด
ใช้ firejail ออนไลน์โดยใช้บริการ onworks.net
