Unix & Linux

คำถาม & คำตอบสำหรับผู้ใช้ Linux, FreeBSD และระบบปฏิบัติการ Un * x อื่น ๆ

2
ทำไม sudo -i ไม่ได้ตั้ง XDG_RUNTIME_DIR สำหรับผู้ใช้เป้าหมาย?
XDG_RUNTIME_DIRจำเป็นสำหรับsystemctl --userการทำงาน ฉันได้เซ็ตอัพเซิร์ฟเวอร์ Ubuntu 16.04 เพื่อเรียกใช้เซสชันผู้ใช้ systemd ตอนนี้เมื่อพยายามที่จะจัดการพวกเขาฉันพบว่าเมื่อเปลี่ยนผู้ใช้ผ่านsudo -u $user -iหรือแม้กระทั่งsu - $userสภาพแวดล้อมไม่ได้XDG_RUNTIME_DIRตั้งค่าการป้องกันsystemctl --userจากการทำงาน อย่างไรก็ตามเมื่อฉันsshเข้าสู่ผู้ใช้นั้นจะถูกตั้งค่าอย่างถูกต้อง หากฉันเข้าใจเอกสารอย่างถูกต้องควรตั้งค่านี้libpam-systemdเมื่อสร้างเซสชันผู้ใช้ ชิ้นส่วนของผู้ใช้เริ่มต้นอย่างถูกต้องเนื่องจากมีไดเรกทอรีที่XDG_RUNTIME_DIRควรชี้ ( /run/users/$uid) อยู่ ฉันลังเลที่จะใส่รหัสลงใน.bash_profileเพราะว่าดูเหมือนว่าแฮ็ก (แม้ว่าจะใช้งานได้) เมื่อแพมควรดูแลมัน ฉันสามารถของหลักสูตรเพิ่มXDG_RUNTIME_DIRไปenv_keepในsudoersแต่ที่เพิ่งจะรักษาสภาพแวดล้อมของผู้ sudoing ซึ่งไม่ได้เป็นสิ่งที่ฉันต้องการ ฉันต้องการสภาพแวดล้อมของผู้ใช้เป้าหมาย สิ่งที่ฉันสงสัยจริงๆคือทำไมเซสชั่นนี้ถูกตั้งค่าอย่างถูกต้องด้วยsshแต่ไม่ใช่suหรือsudo -i?
14 ssh  systemd  sudo  pam 

4
จุดยึดที่สอดคล้องกับ FHS คืออะไร
ฉันสงสัยว่าจุดยึดที่สอดคล้องกับ FHS สำหรับฮาร์ดไดรฟ์ภายในและ เครือข่ายแชร์คืออะไร แบบฝึกหัดต่าง ๆ มากมายแนะนำให้ทำการเมานต์ในไดเรกทอรีย่อยไปที่/mntหรือ/media ตามFHS 3.0 (มาตรฐานลำดับชั้นไฟล์): /media: จุดเมานท์สำหรับสื่อแบบถอดได้ ( ไดเรกทอรีนี้มีไดเรกทอรีย่อยซึ่งใช้เป็นจุดเชื่อมต่อสำหรับสื่อแบบถอดได้เช่นฟลอปปี้ดิสก์, cdroms และดิสก์ซิป ) /mnt: เมาจุดชั่วคราวติดตั้งระบบแฟ้ม ( ไดเรกทอรีนี้มีไว้เพื่อให้ผู้ดูแลระบบสามารถติดตั้งระบบแฟ้มชั่วคราวตามความจำเป็นเนื้อหาของไดเรกทอรีนี้เป็นปัญหาในท้องถิ่นและไม่ควรส่งผลกระทบต่อลักษณะที่โปรแกรมใด ๆ เป็นระยะ. ) ฉันสมมติว่าจุดเชื่อมต่อเหล่านั้นสามารถไปที่/home/foo/extdrive /home/foo/nfsshareระบบผู้ใช้เดียว แต่ฉันจะกำหนดให้ผู้ใช้ทุกคนสามารถเข้าถึงจุดเชื่อมต่อเหล่านั้นได้ที่ไหน อัปเดต: FHS 3.0, บทที่ 3.1, ย่อหน้า "Rationale" ที่สอง ไดเรกทอรีใหม่ใน/(เช่น/workspaceและ/nfsshare) มีเหตุผลหลายประการที่ทำให้ไม่สามารถสร้างไดเรกทอรีย่อยใหม่ของระบบไฟล์รากได้: ต้องการพื้นที่บนพาร์ติชันรากซึ่งผู้ดูแลระบบอาจต้องการให้มีขนาดเล็กและเรียบง่ายด้วยเหตุผลด้านความปลอดภัยหรือประสิทธิภาพ มันหลีกเลี่ยงวินัยใด ๆ ที่ผู้ดูแลระบบอาจตั้งค่าสำหรับการกระจายลำดับชั้นของไฟล์มาตรฐานข้ามไดรฟ์ข้อมูลที่เมาท์ได้ การแจกจ่ายไม่ควรสร้างไดเร็กทอรีใหม่ในลำดับชั้นรูทโดยไม่ต้องพิจารณาอย่างรอบคอบถึงผลที่ตามมารวมถึงความสามารถในการพกพาของแอปพลิเคชัน
14 mount  fhs 

3
Bash script พร้อม `set -e` ไม่ได้หยุดอยู่ที่คำสั่ง` … && …… '
ฉันใช้set -eเพื่อหยุดทุบตีสคริปต์ในข้อผิดพลาดครั้งแรก ทำงานได้ดีทั้งหมดเว้นแต่ฉันจะใช้คำสั่งด้วย&&: $ cat script set -e cd not_existing_dir && echo 123 echo "I'm running! =P" $ $ ./script ./script: line 2: cd: not_existing_dir: No such file or directory I'm running! =P $ เมื่อเทียบกับ: $ cat script set -e cd not_existing_dir echo "I'm running! =P" $ $ ./script ./script: …

13
ค้นหาไฟล์ที่มนุษย์อ่านได้
ฉันกำลังพยายามที่จะหาวิธีที่มีประสิทธิภาพในการทำ5 ระดับของความท้าทายโจร อย่างไรก็ตามฉันมีไฟล์เป็นจำนวนมากและมีเพียงไฟล์เดียวที่ตรงตามเกณฑ์ต่อไปนี้: มนุษย์สามารถอ่านได้ ขนาด 1033 ไบต์ ไม่สามารถทำงานได้ ตอนนี้ฉันกำลังใช้findคำสั่งและฉันสามารถค้นหาไฟล์ที่ตรงกับเกณฑ์สองข้อสุดท้าย: find . -size 1033c ! -executable อย่างไรก็ตามฉันไม่รู้วิธีแก้ตัวไฟล์ที่ไม่ใช่ที่มนุษย์อ่านได้ วิธีแก้ไขปัญหาที่ฉันพบสำหรับความท้าทายนั้นใช้-readableพารามิเตอร์ทดสอบ แต่ฉันคิดว่ามันไม่ได้ผล -readableดูเฉพาะสิทธิ์ของไฟล์ไม่ใช่เนื้อหาในขณะที่คำอธิบายการท้าทายขอไฟล์ ASCII หรืออะไรทำนองนั้น
14 files  find 


8
จะตรวจสอบว่าที่อยู่ IP ใด ๆ อยู่ในไฟล์โดยใช้เชลล์สคริปต์ได้หรือไม่
ฉันมีสคริปต์ที่สร้างผลลัพธ์บางอย่าง ฉันต้องการตรวจสอบผลลัพธ์สำหรับที่อยู่ IP ใด ๆ ที่ต้องการ 159.143.23.12 134.12.178.131 124.143.12.132 if (IPs are found in <file>) then // bunch of actions // else // bunch of actions // เป็นfgrepความคิดที่ดีหรือไม่? ฉันทุบตีใช้ได้
14 shell-script  grep  ip 

5
จะเปลี่ยนรหัสผ่าน 'รูท' โดยใช้ MySQL v5.7 ได้อย่างไร?
สภาพแวดล้อมปัจจุบัน: mysql> show variables like "%version%"; +-------------------------+------------------------------+ | Variable_name | Value | +-------------------------+------------------------------+ | innodb_version | 5.7.13 | | protocol_version | 10 | | slave_type_conversions | | | tls_version | TLSv1,TLSv1.1 | | version | 5.7.13 | | version_comment | MySQL Community Server (GPL) | | version_compile_machine | x86_64 | …
14 mysql 

2
วิธีอนุญาตให้เปลี่ยนรูปแบบแป้นพิมพ์ Caps-Lock
ฉันกำลังใช้การติดตั้งใหม่Ubuntu-Gnome 16.04และฉันต้องการตั้งค่าcaps-lockให้เปลี่ยนเค้าโครงแป้นพิมพ์ (ปุ่มเดียวไม่ใช่ชุดคีย์) ฉันเคยมีสิ่งนี้Linux-mintและฉันก็เริ่มชิน ฉันตรวจสอบตัวจัดการการตั้งค่า แต่ไม่ยอมรับcaps-lockว่าเป็นอินพุตที่ถูกต้อง ฉันก็ดูเหมือนกันgnome-tweak-toolsแต่ที่นั่นฉันไม่พบการสลับเค้าโครงแป้นพิมพ์เลย เป็นไปได้ไหม อย่างไร

3
เริ่ม / หยุด systemd.service ในเวลาที่ระบุ
ฉันต้องการเริ่มและหยุด systemd.service ในบางช่วงเวลา สันนิษฐานว่าฉันจะใช้หน่วย. timer เพื่อเริ่มงาน แต่มีวิธีที่จะหยุดงานหลังจากระยะเวลาที่กำหนดหรือในเวลาที่กำหนดหรือฉันต้องสร้างหน่วย. timer ตัวที่สองที่ execs stop? ขอบคุณ

3
ต้องใช้อักขระใดในการหลบหนีในอาร์กิวเมนต์บรรทัดคำสั่ง
ใน Bash เมื่อระบุอาร์กิวเมนต์บรรทัดคำสั่งให้กับคำสั่งจำเป็นต้องใช้อักขระใดในการหลีกเลี่ยง พวกเขาจะถูก จำกัด ให้ metacharacters ของทุบตี: พื้นที่แท็บ |, &, ;, (, ), <และ>?
14 bash  shell  quoting 

2
ไปป์ไลน์ / Mix Line เข้ากับ Output ใน PulseAudio
ฉันทำงานกับคอมพิวเตอร์สองเครื่องด้วยชุดหูฟัง USB หนึ่งชุด ฉันต้องการฟังทั้งสองอย่างโดยการวางท่อเอาต์พุตของคอมพิวเตอร์ที่ไม่ใช่ Linux ลงในสายของคอมพิวเตอร์ Linux ใน (แจ็คออดิโอสีน้ำเงิน) และผสมสัญญาณเข้ากับเอาต์พุตหูฟังของคอมพิวเตอร์ Linux โดยใช้ PulseAudio pavucontrol แสดงอุปกรณ์อินพุต "สเตอริโออนาล็อกในตัว" ซึ่งทำให้ฉันสามารถเลือกพอร์ตเช่น "Line In" (เลือกแล้ว), "ไมโครโฟนด้านหน้า", "ไมโครโฟนหลัง" ฉันเห็นเครื่องวัดระดับเสียงของอุปกรณ์ตอบสนองต่อการเล่นเสียงบนเครื่องที่ไม่ใช่ Linux ฉันจะทำให้ PulseAudio เล่นสัญญาณเสียงนั้นไปยังอุปกรณ์เอาต์พุตที่ต้องการได้อย่างไร

3
HAProxy สนับสนุนการบันทึกไฟล์หรือไม่?
ฉันเพิ่งติดตั้งhaproxyบนเซิร์ฟเวอร์ทดสอบของฉัน มีวิธีทำให้เขียนบันทึกลงในไฟล์โลคัลมากกว่า syslog หรือไม่? นี่เป็นเพียงการทดสอบเท่านั้นดังนั้นฉันจึงไม่ต้องการเริ่มเปิดพอร์ต / ทำให้ยุ่งเหยิง syslog ด้วยข้อมูลการทดสอบทั้งหมดของฉัน น่าเสียดายที่ข้อมูลเดียวที่ฉันสามารถค้นหาได้ทั้งหมดเกี่ยวกับการบันทึกไปยังเซิร์ฟเวอร์ syslog ฉันพยายามใช้: log /home/user/ha.log local0 ในการกำหนดค่าของฉัน แต่นั่นบอกฉันว่า: [ALERT] 039/095022 (9528) : sendto logger #1 failed: No such file or directory (errno=2) เมื่อฉันเริ่มต้นใหม่ ดังนั้นฉันจึงสร้างไฟล์ด้วยtouch /home/user/ha.logและเริ่มใหม่ ณ จุดที่ฉันได้รับ: [ALERT] 039/095055 (9593) : sendto logger #1 failed: Connection refused (errno=111) เป็นไปได้หรือฉันจะต้องกำหนดค่า syslog ฯลฯ …
14 logs  haproxy 

1
วิธีปิดการใช้งาน dnsmasq
บางครั้งเมื่อฉันเปลี่ยนจากeth0เป็นwlan0(หรือในทางกลับกัน) ชื่อโดเมนอินเทอร์เฟซการแก้ไขตัวแบ่งและ/etc/resolv.confมี nameserver 127.0.1.1 ผมแสดงความคิดเห็น#dns=dnsmasqในและเริ่มต้นใหม่กับผู้จัดการเครือข่าย/etc/NetworkManager/NetworkManager.conf restart network-managerแต่สิ่งนี้ไม่ได้ช่วย ฉันพบว่าdnsmasqกระบวนการไม่ใช่ลูกของ NetworkManager # pstree -spu $(pidof dnsmasq) init(1)───dnsmasq(3015,libvirt-dnsmasq) ฉันไม่แน่ใจว่าทำไมมันถึงทำงาน สามารถเชื่อมโยงกับ VirtualBox ได้หรือไม่? resolve.confฉันไม่ต้องการที่จะสัมผัส วิธีการปิดการใช้งาน? ระบบของฉันคือ Linux Mint 17 Qiana

2
โปรไฟล์ gnome-terminal เก็บอยู่ที่ไหนในการแจกจ่าย Linux?
ฉันใช้แล้ว (Red Hat, Ubuntu, CentOS, อื่น ๆ ) การแจกแจงเหล่านี้ใช้เทอร์มินัล Gnome และจัดหาวิธีที่ยืดหยุ่นในการตั้งค่าโปรไฟล์เทอร์มินัลที่แตกต่างกันผ่านเมนูแบบเลื่อนลงที่อยู่ในหน้าต่างเทอร์มินัลเหนือคำสั่งที่ป้อน โปรไฟล์เหล่านี้อนุญาตให้ทำการเปลี่ยนแปลงคุณสมบัติแบบอักษรและสีของไฟล์ต่าง ๆ ฯลฯ โปรไฟล์ที่แตกต่างกันเหล่านี้อยู่ที่ไหนสำหรับเครื่องเทอร์มินัลที่จัดเก็บ


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.