Score:2

สคริปต์เชื่อมต่อไคลเอนต์ openvpn ไม่เห็นไฟล์ในเครื่อง?

ธง fr

ฉันใช้เซิร์ฟเวอร์ openvpn และเชื่อมต่อจากที่บ้าน IP ที่บ้านของฉันเป็นแบบไดนามิก และฉันต้องการเก็บไว้ในไฟล์บนเซิร์ฟเวอร์

ระบบปฏิบัติการคือ Debian 10 และ OpenVPN 2.4.7

เซิร์ฟเวอร์.conf:

โปรโตคอล udp
พอร์ต 1234
คอมพ์-lzo
Keepalive 10 60
ping-จับเวลา-rem
คงอยู่-tun
คีย์คงอยู่
ca /etc/openvpn/easy-rsa/keys/ca.crt
ใบรับรอง /etc/openvpn/easy-rsa/keys/server.crt
คีย์ /etc/openvpn/easy-rsa/keys/server.key
dh /etc/openvpn/easy-rsa/keys/dh2048.pem
reneg วินาที 0
รหัส AES-256-CBC
เซิร์ฟเวอร์ 192.168.123.0 255.255.255.0
เส้นทาง 192.168.9.0 255.255.255.0
ลูกค้าต่อลูกค้า
client-config-dir /etc/openvpn/clients
สถานะ /etc/openvpn/status
กริยา 3
เข้าสู่ระบบ /var/log/openvpn.log
ความปลอดภัยของสคริปต์3
ลูกค้าเชื่อมต่อ /etc/openvpn/openvpn-client-connect.sh

/etc/openvpn/openvpn-client-connect.sh:


awk -F ',' '/192.168.123.5/ { พิมพ์ $3 }' /etc/openvpn/status | awk -F ':' '{ พิมพ์ $1 }' > /home/s/home-ip
chown s:s /home/s/home-ip

แต่มันใช้งานไม่ได้และ openvpn.log พูดว่า:

/etc/openvpn/openvpn-client-connect.sh: บรรทัดที่ 3: /home/s/home-ip: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว

แน่นอนว่า /home/s/home-ip มีอยู่จริง และเมื่อฉันเรียกใช้งาน /etc/openvpn/openvpn-client-connect.sh จากเชลล์ มันใช้งานได้ทั้งหมด เกิดอะไรขึ้นที่นี่?

in flag
ตรวจสอบสิทธิ์ /home/s สามารถอ่านได้โดยผู้ใช้บริการ openvpn หรือไม่
Alex avatar
in flag
คุณกำลังเริ่มต้น openvpn ด้วย systemd หรือไม่? ถ้าใช่ ฉันอาจมีวิธีแก้ปัญหาสำหรับคุณ
fr flag
@Alex ใช่ มันเริ่มต้นด้วย systemd (การตั้งค่า Debian เริ่มต้น) NiKiZe openvpn ทำงานในฐานะรูท ไม่มีผู้ใช้เพิ่มเติม
Alex avatar
in flag
โปรดลองเขียนเนื้อหาด้วย tee แทน >
Tom Yan avatar
in flag
@Alex สคริปต์ไม่ได้ทำงานโดย systemd แต่เป็น openvpn
Tom Yan avatar
in flag
อย่างไรก็ตาม บางทีคุณอาจต้องการ shebang หรือบางอย่าง หรือสคริปต์ของคุณใช้งานไม่ได้ในทางใดทางหนึ่ง (การอ้างอิงที่ไม่ดี ฯลฯ) ข้อผิดพลาดไม่เหมือนกับข้อผิดพลาดที่เกิดจาก `chown`ing ไฟล์ที่ไม่มีอยู่จริง แต่พยายามเรียกใช้ไฟล์ที่ไม่มีอยู่แทน
Alex avatar
in flag
ฉันกำลังจะเสนอให้เขียน ExecPost ด้วยบริการ systemd แต่นั่นจะเปิดใช้งานสคริปต์ครั้งเดียว ไม่ใช่ต่อการเชื่อมต่อ และเขาต้องทำการตรวจสอบสคริปต์เป็นระยะๆ ดังนั้นจึงไม่มีจุดหมายที่จะมีไว้ใน ExecPost นั่นเป็นเหตุผลที่ฉันถามแต่ในที่สุดฉันก็เปลี่ยนใจ OP เขียนเนื้อหาลงในไฟล์ของคุณด้วย tee ไม่ใช่ด้วย > และดูว่า openvpn ชอบหรือไม่

โพสต์คำตอบ

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