นี่คือจานคำสั่งที่สามารถเรียกใช้ในผู้ให้บริการโฮสต์ฟรีของ OnWorks โดยใช้เวิร์กสเตชันออนไลน์ฟรีของเรา เช่น Ubuntu Online, Fedora Online, โปรแกรมจำลองออนไลน์ของ Windows หรือโปรแกรมจำลองออนไลน์ของ MAC OS
โครงการ:
ชื่อ
จาน - เครื่องมือสำหรับระบบดูแลระบบคู่ขนานของหลายโฮสต์
เรื่องย่อ
จาน [ตัวเลือก] ... -e คำสั่ง {-NS hosts_file | โฮสต์_1 โฮสต์_2 ...}
ดิก {-NS hosts_file | -g "user@host_1 ..."} local_file :remote_file
ดิก {-NS hosts_file | -g "user@host_1 ..."} :remote_file local_file
DESCRIPTION
จาน - เชลล์ความขยันดำเนินการคำสั่งบนหลายโฮสต์ผ่าน ssh/rsh/telnet และยัง
ทำให้การแจกจ่ายไฟล์ทำได้ง่ายด้วย scp/rcp การเปลี่ยนรหัสผ่านจากระยะไกล ฯลฯ สามารถ
ประมวลผลโฮสต์ในโหมดคู่ขนาน
OPTIONS
-h พิมพ์ข้อความช่วยเหลือที่อธิบายตัวเลือกบรรทัดคำสั่งทั้งหมดโดยเร็ว
-H, --ช่วย
ความช่วยเหลือที่ครอบคลุมรวมถึงตัวอย่าง
--รุ่น
พิมพ์เวอร์ชั่นของโปรแกรมและข้อความลิขสิทธิ์ จากนั้นออก
-V แสดงหมายเลขเวอร์ชันและออก
-C
ไดเร็กทอรีการกำหนดค่า - $HOME/.dish เป็นค่าเริ่มต้น ในไดเร็กทอรีนี้จะตั้งอยู่
ไฟล์การกำหนดค่าต่อไปนี้: 'hosts', 'rests', 'pass' และ 'options' เมื่อใช้
ตัวเลือกนี้ต้องเป็นอาร์กิวเมนต์แรกในสตริงบรรทัดคำสั่งหรือเป็นวินาที
หนึ่งถ้า `-D' เลือก! อีกทางหนึ่งสามารถระบุไดเร็กทอรีการกำหนดค่าโดย
กำหนดตัวแปรสภาพแวดล้อม DISH_CONF
- ปชช
เช่นเดียวกับ `-C' โดยมีทางเลือกเป็นค่าเริ่มต้นหากไม่พบการกำหนดค่าในเครื่อง นี่หมายความว่า
ในกรณีที่ไฟล์ 'ผ่าน', 'ตัวเลือก' หรือ 'พัก' ไม่อยู่ในไดเร็กทอรีที่กำหนด
แต่ไฟล์ดังกล่าวมีอยู่ใน $HOME/.dish ส่วนไฟล์หลังจะได้รับการพิจารณา เพียง
ข้อยกเว้นคือ '$HOME/.dish/hosts' ซึ่งจะถูกละเว้น การใช้ตัวเลือกนี้คือ
เทียบเท่ากับการเปลี่ยนไดเร็กทอรีเป็นไดเร็กทอรีที่เลือกแล้วดำเนินการ `dish'
-c
โปรแกรม (นามแฝง "ตัวเชื่อมต่อ") และตัวเลือกที่ใช้สำหรับเชื่อมต่อกับรีโมท
โฮสต์ - ตัวอย่างเช่น `rsh' ในขณะที่กระบวนการเกิดจะเป็น "rsh $host ".
ตัวเชื่อมต่อเริ่มต้นของคุณคือ `ssh' นอกจากนี้ โดยใช้ไคลเอนต์ข้อความที่เกี่ยวข้อง
ในฐานะตัวเชื่อมต่อ เราสามารถเข้าถึงโฮสต์ประเภทต่างๆ - สวิตช์ ฐานข้อมูล และอื่นๆ
บน
-e
คำสั่งระยะไกลเพื่อดำเนินการ; นอกจากนี้ยังสามารถตั้งค่าโดยตัวแปรสภาพแวดล้อม DISH_CMD
-E
ดำเนินการคำสั่งโดยระบุส่วนการเชื่อมต่อเช่น "-E 'ssh $host
date'" ซึ่งเท่ากับ "-e date" ตัวเลือกนี้เข้ากันไม่ได้กับ `-c' และ
`-อี'. นอกจากนี้ยังสามารถตั้งค่าโดยตัวแปรสภาพแวดล้อม DISH_FUEXE
-t บังคับการจัดสรรหลอกใน ssh; สิ่งนี้จะเกิดขึ้นโดยอัตโนมัติในกรณีของรหัสผ่าน
เปลี่ยนแปลง
-T
หมดเวลาสำหรับการดำเนินการคำสั่ง - ค่าเริ่มต้น 30 วินาที (ต่อโฮสต์)
- อปท
การหมดเวลาทั้งหมดสำหรับการดำเนินการคำสั่ง - ค่าเริ่มต้น 300 วินาที (โฮสต์ทั้งหมด); ตัวเลือกนี้คือ
มีประโยชน์เฉพาะเมื่อโฮสต์ได้รับการประมวลผลตามลำดับและเวลาในการประมวลผลทั้งหมด
ไม่ควรเกินขอบเขตบนที่ระบุ
-x
นิพจน์ทั่วไปสำหรับพร้อมต์เชลล์ ค่านี้ระบุว่าพรอมต์ใดจะเป็น
คาดหวังในเชลล์ของโปรแกรมหลังจากลงชื่อเข้าใช้ระบบโดย `telnet', `mysql'
`sqlplus' หรือไคลเอ็นต์บรรทัดคำสั่งแบบโต้ตอบอื่นๆ (ดู `-c') ค่าเริ่มต้น
คือ `(%|\$|#|\>) ?$'
-X
นิพจน์ทั่วไปสำหรับพรอมต์รหัสผ่าน ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่กับ default
ค่า `รหัสผ่าน: *$'
-ค.ศ
นิพจน์ทั่วไปสำหรับ ssh-prompt ให้เพิ่มโฮสต์คีย์ใหม่ - `connecting
(ใช่/ไม่ใช่)?.*' เป็นค่าเริ่มต้น
- เครื่องปรับอากาศ
สตริงพร้อมคำตอบสำหรับ ssh-prompt เพื่อเพิ่มโฮสต์คีย์ใหม่ - `ใช่' เป็นค่าเริ่มต้น
-g
ไฟล์ที่มีรายชื่อโฮสต์/ip/บัญชีที่จะกำหนดเป้าหมาย คำสั่งจะถูกดำเนินการบน
เป้าหมายเหล่านี้ ไฟล์โฮสต์เริ่มต้นคือ '$HOME/.dish/hosts' - โดยปกติต่อบรรทัดหนึ่ง
บัญชีของแบบฟอร์ม "user@host" (ถ้า ssh เป็นตัวเลือกของคุณสำหรับตัวเชื่อมต่อ) เพื่อที่จะ
เข้าร่วมรายการใช้ตัวเลือกซ้ำ ๆ ตัวแปรสภาพแวดล้อม
DISH_HOSTS สามารถใช้เพื่อกำหนดโฮสต์เป้าหมายในขณะที่อยู่ในสตริงที่ระบุ
พวกเขาจะต้องคั่นด้วยช่องว่าง โดยการรวมตัวเลือกนี้กับ `-r' หรือ `-i' you
สามารถกำหนดชุดย่อยต่างๆ ของโฮสต์/บัญชีเป้าหมายได้
-r
ไฟล์ที่มีรายชื่อโฮสต์/บัญชีที่พักที่ต้องการแยกออก ค่าเริ่มต้นคือ
'$HOME/.dish/rests' “เจ้าภาพพักผ่อน” หมายความว่า บุคคลซึ่งจะถูกแยกออกจาก
เป้าหมาย รายชื่อโฮสต์ที่พักหรือชื่อไฟล์สามารถระบุได้โดย
ตัวแปรสภาพแวดล้อม DISH_RESTS
-i
ไฟล์ที่มีรายชื่อโฮสต์/บัญชีที่จะทับซ้อนกับโฮสต์เป้าหมาย ไม่มี
ไฟล์เริ่มต้น เฉพาะโฮสต์ที่ทับซ้อนกันเท่านั้น เช่น รวมอยู่ในรายการนี้และที่เดียวกัน
เวลาที่กำหนดเป็นเป้าหมายจะถูกประมวลผล
-u
ชื่อผู้ใช้ - ค่าเริ่มต้นคือชื่อผู้ใช้ในเครื่องของคุณ นอกจากนี้ยังสามารถกำหนดโดย
ตัวแปรสภาพแวดล้อม DISH_USER ภายในค่าสามารถเข้าถึงได้โดยตัวแปร
$user (ดูตัวอย่าง) นอกจากนี้ไม่เกี่ยวข้องในกรณีที่บัญชีของแบบฟอร์ม
"user@host" ได้รับการประมวลผลเนื่องจากมีชื่อผู้ใช้อยู่แล้ว
-p
รหัสผ่านเข้าสู่ระบบ (-p "" = -pp = -a0) - นามแฝง "เข้าสู่ระบบของแท้" หรือ "a0"; ถ้าไม่
ต้องมีการตรวจสอบสิทธิ์สำหรับการเข้าสู่ระบบ (ไม่มีผู้ใช้และรหัสผ่านไม่ปรากฏขึ้น) จากนั้น
ใช้ `/dev/null' เป็นรหัสผ่าน หากมีการขอชื่อผู้ใช้ แต่รหัสผ่านยังเป็น
สตริงว่าง ดังนั้นจะต้องกำหนด `/dev/empty' เป็นรหัสผ่าน คุณค่าของสิ่งนี้
ตัวเลือกอาจเป็นไฟล์รหัสผ่านด้วย (ดู `-P') ในที่สุด เราสามารถกำหนด
รหัสผ่านโดยตัวแปรสภาพแวดล้อม DISH_PASS
-a
รหัสผ่านเพิ่มเติมสำหรับการตรวจสอบสิทธิ์ (-a "" = -aa = -a1) - นามแฝง "first
แท้" หรือ "a1" ภายในกระบวนการวางไข่ หากโปรแกรมเช่น `smbmount', `su'
`ssh' ฯลฯ ขอการรับรองความถูกต้อง รหัสผ่าน a1 จะถูกส่งต่อ รหัสผ่านนี้
สามารถกำหนดได้ด้วยตัวแปรสภาพแวดล้อม DISH_PASS1
-A
อีกหนึ่งรหัสผ่านสำหรับการตรวจสอบสิทธิ์ (-A "" = -AA = -a2) - นามแฝง "แท้ที่สอง"
หรือ "a2"; เมื่อกระบวนการเกิดหลังจากการตรวจสอบสิทธิ์ด้วยรหัสผ่าน a1 หนึ่งครั้งจะถาม
อีกครั้งสำหรับรหัสผ่าน จากนั้น a2 จะถูกส่ง รหัสผ่านนี้สามารถตั้งได้โดย
ตัวแปรสภาพแวดล้อม DISH_PASS2
-n
รหัสผ่านใหม่กรณีเปลี่ยนรหัสผ่าน (-n "" = -nn = -ne)
-p0 เข้าสู่ระบบโดยไม่มีการตรวจสอบ - เหมือนกับ `-p /dev/null'
-p1 ตั้งค่า a1-password ให้เหมือนกับรหัสผ่านเข้าสู่ระบบ ตัวเลือกนี้ไม่ควรจะเป็น
ใช้ร่วมกับ `-p0' และ `-a1' ดูตัวอย่าง ง) ร้อง
-P
ไฟล์ที่มีรหัสผ่าน ไฟล์รหัสผ่านเริ่มต้นคือ '$HOME/.dish/pass' มันต้อง
อ่านได้เฉพาะผู้ใช้ (โหมดไฟล์ 600 หรือ 700) มิฉะนั้นโปรแกรมจะออกด้วย
ผิดพลาด แต่ดูตัวเลือกถัดไปด้วย ทุกบรรทัดในไฟล์สามารถใส่รหัสผ่านได้
ของรูปแบบ: "รหัสผ่าน:ชื่อผู้ใช้:ชื่อโฮสต์" หรืออีกวิธีหนึ่ง
"รหัสผ่าน:::ชื่อผู้ใช้:::ชื่อโฮสต์" หรือ "รหัสผ่าน;;;ชื่อผู้ใช้;;;ชื่อโฮสต์" หนึ่งกระป๋อง
ระบุรายชื่อโฮสต์ที่คั่นด้วย `,' หรือ `;' ตัวอักษร นิพจน์ทั่วไป
สำหรับชื่อโฮสต์ยังได้รับอนุญาต (ดูตัวอย่างไฟล์การกำหนดค่าใน
การกระจาย).
-m ละเว้นการอนุญาตการเข้าถึงของไฟล์รหัสผ่าน
-s [ ]
การประมวลผลตามลำดับของโฮสต์ (โหมดเริ่มต้น); หากเป็นช่วงเวลา (วัดเป็น
ระบุวินาทีลอยตัว) จากนั้นโปรแกรมกำลังรอเวลานี้
ก่อนเริ่มประมวลผลโฮสต์ถัดไปในลำดับ
-F กระบวนการวางไข่ในพื้นหลัง - แยกและตัดการเชื่อมต่อ ด้วยวิธีนี้เจ้าภาพทั้งหมด
ประมวลผลคู่ขนานเป็นหลัก! เป็นตัวเลือกที่ทรงพลังมาก ขึ้นอยู่กับคุณ
ขนาด RAM และการใช้หน่วยความจำ การประมวลผลเพียงเล็กน้อยก็ไม่น่าจะมีปัญหา
หลายร้อยโฮสต์พร้อมกัน อย่างไรก็ตาม ระวัง - หากคุณมีโฮสต์มากเกินไปใน
รายการของคุณอาจทำให้ระบบของคุณอยู่ภายใต้การโหลด stdout ของเบื้องหลัง
กระบวนการถูกเปลี่ยนเส้นทางไปที่ '/dev/null' อย่างไรก็ตาม คุณสามารถใช้ `-l' หรือ `-L' เพื่อเขียนได้
เอาต์พุตไปยังไฟล์ โปรดดู "ข้อบกพร่องและปัญหาที่ทราบ" ในหน้าคู่มือ
-f วางไข่ในพื้นหลังโดยไม่ต้องตัดการเชื่อมต่อจาก tty มันเหมือนกับ `-F'
ในขณะที่ stdout ของกระบวนการที่เกิดจะถูกส่งไปยังเทอร์มินัล ยัง
กระบวนการผู้ปกครองรอให้ลูกของเขาเสร็จสิ้น ดูเพิ่มเติมที่ 'ข้อบกพร่องและปัญหาที่ทราบ'
ในหน้าคู่มือ
-q เงียบ - ข้ามเอาต์พุตจากการวางไข่และเข้าสู่ระบบ เมื่อทำงานกับเปลือกที่ปลอดภัย มัน
ยังสะดวกที่จะใช้ `ssh' ด้วยตัวเลือก `-q'
-Q เงียบ - ข้ามเอาต์พุตใด ๆ
-v Be verbose (default) - แทนที่ `-q' และ `-Q'
-l
บันทึกคำสั่งส่งออกไปยังไฟล์; ผลลัพธ์ของกระบวนการที่เกิดจะถูกผนวกเข้ากับ
ไฟล์
-L
เขียนบันทึกแยกต่างหากสำหรับทุกโฮสต์ที่ หมายถึงชื่อฐานของบันทึก
ไฟล์. ชื่อเต็มของไฟล์บันทึกถูกกำหนดเป็น " _ .บันทึก".
-j บันทึกคำสั่งที่เรียกใช้ลงในไฟล์เจอร์นัลชื่อ '$HOME/.dish/journal';
มันเก็บประวัติของคำสั่งที่ดำเนินการและเวลาของการดำเนินการ หนึ่ง
ตัวระบุเฉพาะเชื่อมโยงกับทุกคำสั่ง
-J บันทึกคำสั่งที่เรียกใช้และกระบวนการที่เกิดเช่นกัน เขียนลงใน
journal file คำสั่งที่ดำเนินการเช่นเดียวกับกระบวนการเดียวที่เกิดขึ้นและ
เวลาดำเนินการ
-o
ไฟล์ที่มีตัวเลือกบรรทัดคำสั่งที่ส่งไปยังโปรแกรม - ค่าเริ่มต้นคือ
'$HOME/.dish/options'; ต้องเขียนตัวเลือกในไฟล์แยกกัน - หนึ่งต่อ
ไลน์. ด้วยไฟล์นี้ เราสามารถแก้ไขการกำหนดค่ามาตรฐาน: set up fork
โหมดเป็นค่าเริ่มต้น เปลี่ยนตัวเชื่อมต่อเริ่มต้น และอื่นๆ เมื่อทำงานใน
"โหมดคัดลอก" กล่าวคือโดยเรียกใช้โปรแกรมเป็น 'dicp', '$HOME/.dish/options.dicp' คือ
ถือว่าเป็นไฟล์ตัวเลือกเริ่มต้น
-d เปิดใช้งานเอาต์พุตการวินิจฉัยของคาดหวัง (ดูที่ `คนคาดหวัง')
-D โหมดดีบัก (dry-run); พิมพ์ตัวแปรสภาพแวดล้อม ชื่อไฟล์ปรับแต่ง และ
คำสั่งให้ดำเนินการแล้วออก ควรใช้ตัวเลือกนี้เป็นครั้งแรกในคำสั่ง
เส้น
ตัวอย่าง
คุณควรพิจารณาว่าตัวแปร $host และ $user ถูกประเมิน ดังนั้น $host เปลี่ยนไป
ค่าของมันแบบไดนามิกเป็นชื่อโฮสต์/บัญชีจริงก่อนที่จะเกิดกระบวนการใหม่ NS
เช่นเดียวกับผู้ใช้ $
a) ตรวจสอบวันที่และเวลาทำงานบนโฮสต์ 192.168.0.1 และ 192.168.0.2
จาน -e 'วันที่ \; เวลาทำงาน' [ป้องกันอีเมล] [ป้องกันอีเมล]
b) แจกจ่าย '.profile' และ '.bashrc' ไปยังบัญชีแขกบน 'host1' และ 'host2'
จาน -E "scp $HOME/.profile $HOME/.bashrc guest@\$host:" host1 host2
or
dicp -e "$HOME/.profile $HOME/.bashrc แขก@:" host1 host2
or
dicp -g "host1 host2" $HOME/.profile $HOME/.bashrc แขก@:
or
dicp -g "guest@host1 guest@host2" $HOME/.profile $HOME/.bashrc :
c) คัดลอกไฟล์ '.profile' ระยะไกลไปยังไดเร็กทอรีท้องถิ่นบน localhost
dicp -g "guest@host1 guest@host2 admin@host2" :.profile .profile.\$host
ที่นี่ ชื่อของไฟล์เป้าหมาย (ไฟล์ในเครื่อง) จะรวมชื่อบัญชีระยะไกล
เพื่อให้ไฟล์ในเครื่องมีชื่อเฉพาะ
d) ใช้ `ssh' เพื่อเข้าสู่ระบบ 'host1' และคัดลอกจากที่นั่น '.profile' ไปยัง 'host2'
เนื่องจากรายการโฮสต์ไม่สามารถเว้นว่างได้ จึงใช้โฮสต์จำลองเพื่อเริ่มต้น
กระบวนการ. จำเป็นต้องใช้ตัวเลือก `-t' เพื่อบังคับการจัดสรร pseudo-tty ใน `ssh'
มิฉะนั้น `ssh' จะล้มเหลวโดยมีข้อผิดพลาดในการเข้าสู่ระบบ รหัสผ่านที่สอง (a1-password) คือ
จำเป็นสำหรับการตรวจสอบสิทธิ์ scp บน 'host2':
จาน -a '' -E 'ssh -t user1@host1 scp .profile user2@host2:' dummy_host
ในกรณีที่รหัสผ่านของ 'user1' และ 'user2' เหมือนกัน ระบบจะถามคุณเท่านั้น
หนึ่งครั้งสำหรับรหัสผ่านเข้าสู่ระบบสำหรับ user1@host1 หากคุณใช้ `-p1':
จาน -p1 -E 'ssh -t user1@host1 scp .profile user2@host2:' dummy_host
หรือเทียบเท่าและง่ายกว่า:
จาน -p1 -t -e 'scp .profile user2@host2:' user1@host1
e) แทนที่บรรทัดด้วย `START_XNTPD=' โดย `START_XNTPD="yes"' ใน /etc/rc.config
คำสั่งนี้ดำเนินการในฐานะผู้ใช้รูทในทุกโฮสต์ที่ระบุไว้ใน 'Hosts.root':
จาน -u root -E 'ssh $user@$host "perl -pi -e
\"s/^START_XNTPD=.*\$/START_XNTPD=\\\"yes\\\"/g;\" /etc/rc.config"' -g Hosts.root
f) ระงับบัญชีผู้ใช้ในรายการยกเลิก
โดยใช้สคริปต์ชื่อ `FreezeUser.sh' บัญชีทั้งหมดของผู้ใช้ที่พบใน
'Terminate.User.lst' จะถูกระงับในวันนี้เวลา 24:00 น. บนกลุ่มเซิร์ฟเวอร์ทั้งสองเป็น
กำหนดไว้ในไฟล์ 'Hosts.1' และ 'Hosts.2':
จาน -E 'ssh root@$host "cat Terminate.User.lst | ขณะอ่าน UN; ทำ echo \"su -
admin -c \\\$HOME/bin/FreezeUser.sh \$UN\" | at 24:00 ; done"' -g Hosts.1 -g
เจ้าภาพ2
g) พิมพ์ไฟล์การกำหนดค่าระยะไกลของ automounter
เข้าสู่ระบบในฐานะผู้ใช้ 'admin' บนโฮสต์ 192.168.0.1 เปลี่ยนเป็น 'root' จากนั้น cat the file
'/etc/auto.net' แล้วพิมพ์วันที่ ตัวเลือก `-a' ทำให้โปรแกรมถาม
คุณสำหรับรหัสผ่านรูทบนรีโมตโฮสต์:
จาน -u ผู้ดูแลระบบ -a '' -E 'rsh -l $user $host su - root -c \"cat /etc/auto.net\;
วันที่\"' 192.168.0.1
h) ติดตั้งแพ็คเกจบน Debian GNU/Linux hosts
หลังจากติดตั้ง fileserver บน samba แล้ว ให้ติดตั้งจากที่นั่นด้วย debian dish-package on
เซิร์ฟเวอร์ที่ทำงานอยู่ทั้งหมด แต่ข้ามโฮสต์ในการบำรุงรักษา รหัสผ่านที่แตกต่างกันสามแบบคือ
จำเป็นสำหรับการตรวจสอบสิทธิ์ - หนึ่งรายการสำหรับการเข้าสู่ระบบ ถัดไปสำหรับ su-root และสำหรับ
การติดตั้งไฟล์เซิร์ฟเวอร์:
จาน -a0 -a1 -a2 -g Debian.up -r Debian.maint -e 'su - -c \"mount -t smbfs
//FILESERVER/Packages.Dir /mnt/smb ; dpkg -i /mnt/smb/dish_1.19.1_all.deb\"'
i) ตรวจสอบการโหลดของระบบ >2 โดยใช้ไฟล์กำหนดค่า 'โฮสต์' และ 'ส่ง' เริ่มต้น
จาน '(uptime |egrep \" (\[2-9\]|1\[0-9\])\\.\" && ชื่อโฮสต์) |paste - -'
j) สืบค้นฐานข้อมูล MySQL บนโฮสต์ระยะไกล 10.0.0.1
จาน -pp -c 'mysql -p -u $user -h' -e 'ใช้ mysql; แสดงตาราง; อธิบายผู้ใช้;' -ยู
รากที่ 10.0.0.1
k) เปลี่ยนรหัสผ่านพร้อมกันในทุกโฮสต์/บัญชี
เราคิดว่ารายชื่อบัญชีผู้ใช้มีอยู่ในไฟล์ 'Accounts.lst'
ในขณะที่รายการในรายการอยู่ในรูปแบบ "user@hostname" หลังคำสั่ง
การดำเนินการ คุณจะถูกถามก่อนสำหรับรหัสผ่านเข้าสู่ระบบ (รหัสผ่านเก่า) จากนั้น
สำหรับรหัสผ่านใหม่ซึ่งในที่สุดต้องพิมพ์ใหม่ให้ถูกต้อง:
จาน -p '' -n '' -e passwd -g Accounts.lst
หรืออีกวิธีหนึ่งคือการประมวลผลโฮสต์ทั้งหมดพร้อมกันและเงียบ:
จาน -pp -nn -f -Q -e passwd -g Accounts.lst
เมื่อคุณต้องการเปลี่ยนรหัสผ่านและใช้ `-nn' ดังนั้น a1-password จะเป็นโดยปริยาย
ตั้งเท่ากับรหัสผ่านเข้าสู่ระบบ (a0-รหัสผ่าน)
l) เปลี่ยนรหัสผ่านจากบัญชี 'root' (อย่าใช้ตัวเลือก `-a0')
หากคุณกำลังจะเปลี่ยนรหัสผ่านรูทบน 'remotehost' ให้ลอง:
จาน -nn -e passwd root@remotehost
เหมือนกับก่อนหน้านี้ แต่เข้าสู่ระบบในฐานะผู้ใช้ 'ผู้ดูแลระบบ' (รหัสผ่านสำหรับเข้าสู่ระบบ) จากนั้นเปลี่ยนเป็น
'root' (a1-password) และในที่สุดก็อัปเดต root-password:
จาน -a1 -nn -e 'su -c passwd' admin@remotehost
การเปลี่ยนรหัสผ่านสำหรับ 'admin' บน 'localhost' หลังจากเข้าสู่ระบบด้วย 'root' ผ่าน
`telnet' ทำได้โดย:
จาน -nn -c telnet -u root -e 'passwd ผู้ดูแลระบบ' localhost
สังเกตว่าสำหรับการเปลี่ยนรหัสผ่าน เมื่อ `-p ""' (หรือเทียบเท่า `-a0' หรือ `-pp') ไม่ใช่
ใช้อย่างชัดเจน สันนิษฐานว่า `passwd' จะไม่ขอรหัสผ่านเก่า
ในกรณีของการเปลี่ยนรหัสผ่านโดย 'รูท' เช่นเดียวกับหากคุณสามารถเข้าสู่ระบบ an
บัญชีโดยไม่ต้องพิมพ์รหัสผ่าน แต่จากนั้น `passwd' จะแจ้งให้คุณพิมพ์รหัสผ่านเก่า -
สถานการณ์นี้เกิดขึ้นเมื่อมีผู้ใช้ ssh-key สำหรับการเข้าสู่ระบบโดยไม่ต้อง
การตรวจสอบรหัสผ่าน สำหรับสถานการณ์ดังกล่าว ตัวเลือกที่ถูกต้องคือ `-p0 -aa -nn'
ในกรณีของไฟล์การกำหนดค่าที่เตรียมไว้อย่างเหมาะสมใน '$HOME/.dish' เราสามารถใช้จานเป็น a
เชลล์แบบกระจายสำหรับคลัสเตอร์เสมือนของโฮสต์ และรันโดยไม่ระบุใดๆ
พารามิเตอร์ของโปรแกรมแต่เพียงออกคำสั่ง เช่น `dish df -k /' หรือ `dicp
.ข้อมูลส่วนตัว :'.
ประการสุดท้าย พึงระลึกไว้เสมอว่า ในกรณีของการตรวจสอบสิทธิ์ด้วยรหัสผ่าน
กระบวนการเข้าสู่ระบบอัตโนมัติของจานขึ้นอยู่กับความคาดหวังที่ข้อความแจ้งการเข้าสู่ระบบส่งไปที่
เทอร์มินัลจะรวมสตริง regex ที่ไม่คำนึงถึงขนาดตัวพิมพ์ `รหัสผ่าน: *$' (แต่โปรดดูด้วย
`-X'). มิฉะนั้น ขั้นตอนการรับรองความถูกต้องจะล้มเหลว
ใช้จานออนไลน์โดยใช้บริการ onworks.net