Score:-2

จำกัดผู้ใช้ให้เรียกใช้คำสั่งเพียงสองครั้ง

ธง cn

ฉันต้องการจำกัดให้ผู้ใช้เรียกใช้คำสั่งเพียงสองครั้งใน Ubuntu

โดยเฉพาะอย่างยิ่งฉันได้สร้างคำสั่งที่กำหนดเองผ่านนามแฝงซึ่งผู้ใช้แต่ละคนต้องดำเนินการเพียงสองครั้ง

คำสั่งที่กำหนดเองของฉันคือ

นามแฝง extend_shutdown_150='bash extend_shutdown.sh 150'

ฉันไม่ได้รับวิธีการดำเนินการมากกว่านี้!


#!/bin/bash
นาที = 1 ดอลลาร์
echo $minutes >> /usr/bin/input.log

a=`grep -i 15 /usr/bin/input.log | wc -l`
b=`grep -i 30 /usr/bin/input.log | wc -l`
c=`grep -i 60 /usr/bin/input.log | wc -l`
#เสียงสะท้อน $a $b $c
ถ้า [[ "$a" -gt "2" ]] || [[ "$b" -gt "2" ]] || [[ "$c" -gt "2" ]] ; แล้ว
     echo " ข้อผิดพลาด: ผู้ใช้พยายามเลื่อนระบบมากกว่า 2 ครั้ง"
elif [[ "$minutes" -eq "15" ]] || [[ "$นาที" -eq "30" ]] || [[ "$นาที" -eq "60" ]] ; แล้ว
     echo " การปิดระบบขยาย $ minutes นาที เพิ่มเติม"
อื่น
  echo " ข้อผิดพลาด: นาทีต้องเป็นหนึ่งใน 15,30 หรือ 60"
ไฟ

ข้อมูลจะถูกเก็บไว้ตามการป้อนข้อมูลของผู้ใช้ /usr/bin/input.log ดังนั้นฉันจึงเปรียบเทียบไฟล์เดียวกันเพื่อป้องกันไม่ให้ผู้ใช้ปิดเสียงเตือนชั่วคราวของระบบ

มีวิธีใดบ้างที่ฉันสามารถเพิ่มชื่อผู้ใช้และวันที่ใน /usr/bin/input.log เช่น.: วันฮารี 9/2/2564 15?

Jad avatar
br flag
Jad
คำสั่งใด ทำไมคุณถึงต้องการจำกัดให้เหลือ 2 ครั้ง
hariraj avatar
cn flag
ฉันได้สร้างคำสั่งที่กำหนดเองผ่านนามแฝงซึ่งจำเป็นต้องดำเนินการเพียงสองครั้งโดยผู้ใช้ทุกคนและเป็นความต้องการของฉัน โปรดช่วยฉันด้วย
in flag
คำสั่งแบบกำหนดเองนั้นไม่สามารถเก็บบันทึกว่าใครเป็นผู้เรียกใช้และจำนวนครั้ง จากนั้นจึงแสดงข้อผิดพลาดแก่ผู้ใช้เกี่ยวกับการดำเนินการที่มากเกินไป เป็นแบบกำหนดเองอยู่แล้ว ทำไมไม่ปรับแต่งเพิ่มเติมล่ะ
hariraj avatar
cn flag
คำสั่งที่กำหนดเองของฉันคือ "alias extend_shutdown_150='bash extend_shutdown.sh 150" ฉันไม่ได้รับวิธีการดำเนินการมากกว่านี้!
user535733 avatar
cn flag
ฉันรู้ว่าไม่มีคำสั่งที่มีอยู่พร้อมตรรกะในตัวให้คุณใช้ คุณต้องสร้างมันขึ้นมา
Score:1
ธง cn

คุณสามารถใช้มันได้ด้วยตัวเองในสคริปต์ทุบตีของคุณ

  • ให้สคริปต์บันทึกวันที่และผู้ใช้ในไฟล์บันทึกทุกครั้งที่เริ่มทำงานคำสั่ง
  • ให้สคริปต์อ่านบันทึกและตรวจสอบว่าชุดวันที่/ผู้ใช้เกิดขึ้นน้อยกว่าสองครั้งหรือไม่ (เช่น ก grep -c $PATTERN $ไฟล์ สามารถทำได้: สิ่งนี้นับจำนวนบรรทัดที่มีรูปแบบบางอย่าง เช่น "วันที่ + ชื่อผู้ใช้" เกิดขึ้น)
  • ดำเนินการต่อหรือหยุดด้วยข้อความหากจำนวนบรรทัด > 2
Lorenz Keel avatar
gr flag
ฉันคิดว่า แทนที่จะไพพ์ไปที่ `wc` คุณสามารถใช้ตัวเลือก `-c` ใน `grep` ได้ ถูกต้องหรือไม่?
vanadium avatar
cn flag
ที่ดียิ่งขึ้นแน่นอน จะเปลี่ยนให้ครับ ขอบคุณครับ
hariraj avatar
cn flag
จะเพิ่มสิ่งนี้ได้อย่างไร "ให้สคริปต์บันทึกวันที่และผู้ใช้ในไฟล์บันทึกทุกครั้งที่เริ่มคำสั่ง" .. ?
vanadium avatar
cn flag
คุณไม่ได้ชอบเขียนสคริปต์ทุบตีอยู่แล้วใช่ไหม
hariraj avatar
cn flag
ฉันเป็นสคริปต์ทุบตี

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา