Unix & Linux

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

3
ให้สิทธิ์ผู้ใช้แก่ไฟล์และโฟลเดอร์ทั้งหมด
ฉันต้องการมีผู้ใช้ที่สามารถเข้าถึงไฟล์และโฟลเดอร์ทั้งหมดในระบบ สิ่งนี้มีวัตถุประสงค์เพื่อใช้ RSYNC บนเครื่องท้องถิ่นเพื่อสำรองข้อมูลเครื่องระยะไกล ในขณะนี้เรากำลังใช้ผู้ใช้backupsและแม้ว่าเราได้เพิ่มผู้ใช้นี้ในกลุ่มsudoและadminrsync ยังคงส่งข้อความเช่น: rsync: opendir "/ location / to / folder" ล้มเหลว: การอนุญาตถูกปฏิเสธ (13) rsync: send_files ไม่สามารถเปิด "/ location / to / file": การอนุญาตถูกปฏิเสธ (13) แนวคิดใด ๆ ที่เราbackupsอนุญาตให้ผู้ใช้เข้าถึงทุกสิ่ง (ขาดการเพิ่มผู้ใช้ไปยังทุกกลุ่มตลอดเวลา - เซิร์ฟเวอร์ระยะไกลที่เราพยายามสำรองข้อมูลเป็นเซิร์ฟเวอร์โฮสติ้งเฉพาะซึ่งทุกบัญชีมีผู้ใช้ของตนเองในระบบ) ขอบคุณสำหรับความช่วยเหลือ

1
การใช้ ACL บนระบบไฟล์แบบอ่านอย่างเดียว / ระยะไกล
ฉันต้องการกำหนด ACL ในระบบให้ใช้งานผ่านระบบไฟล์ที่ติดตั้งจากระยะไกล ระบบไฟล์ถูกเมาท์ผ่าน autofs และ sshfs FUSE แนวคิดก็คือเราสามารถตั้งค่าผู้ใช้ที่ถูกจำคุกบนเซิร์ฟเวอร์กระโดดที่มีการเข้าถึงการอ่านไฟล์บนเซิร์ฟเวอร์อื่นในสภาพแวดล้อมและใช้คำสั่งมาตรฐานโดยไม่ต้องเปิดเผยมากและแน่นอนโดยไม่ต้องอนุญาตการเข้าถึง ssh ปัญหาคือ sshfs จะเรียกใช้ในฐานะผู้ใช้คนเดียวกันเสมอดังนั้นไฟล์ภายในพา ธ บนระบบรีโมตจะถูกเปิดเผยโดยไม่คำนึงถึงผู้ใช้ที่พวกเขาถูกเปิดเผย ฉันสำรวจการเข้ารหัสการตรวจสอบความปลอดภัยลงใน sshfs แต่ก่อนที่ฉันจะลงไปที่ถนนฉันต้องการดูว่าแพ็คเกจอื่น ๆ สามารถเพิ่มการสนับสนุน ACL ให้กับระบบไฟล์แบบอ่านอย่างเดียวได้หรือไม่ แก้ไข: @peterph คุณจะตั้งค่า ACL ของคุณอย่างไรสำหรับการแบ่งปัน NFS เมื่อระบบไฟล์ระยะไกลอ่านอย่างเดียว? sshfs นั้นง่ายมากที่จะแยกออกจากกันดังนั้นฉันจึงเพิ่มการตรวจสอบ ACL ลงใน sshfs เองไม่กี่วันหลังจากเขียนสิ่งนี้ ผู้ใช้จะถูกจำคุกในการเข้าสู่ระบบผ่าน OpenSSH และ jailkit และเข้าถึง sshfs automount แบบอ่านอย่างเดียวในฐานะผู้ใช้ที่ไม่มีสิทธิ์ ทุก dir / ไฟล์สถิติหรืออ่านสร้างเหตุการณ์ syslog มันใช้งานได้อย่างมีเสน่ห์และผู้ใช้ไม่มีสิทธิ์ออกจากกล่องที่ถูกจำคุก
9 acl  sshfs  fuse 

5
วิธีเพิ่มบรรทัดลงในไฟล์ที่มีสิทธิ์การเขียนรูทเท่านั้นและดำเนินการสคริปต์ต่อไป
ฉันพยายามเรียนรู้สคริปต์ทุบตี ฉันทำงานเกี่ยวกับปัญหาการปฏิบัติและ ณ จุดหนึ่งฉันต้องเพิ่มบรรทัดลงในไฟล์ที่ต้องrootได้รับอนุญาตในการเขียน รหัสมีลักษณะดังนี้: # some code echo "add this line to the code" >> fileName # some code เป็นไปได้ไหมที่สคริปต์จะขอรหัสผ่านรูทตรวจสอบรหัสผ่านและการรับรองความถูกต้องที่ประสบความสำเร็จในการแก้ไขไฟล์? สคริปต์ควรกลับสู่โหมดผู้ใช้และดำเนินการคำสั่งต่อไป

1
เมื่อใช้ btrfs ทำไมค่า“ Size”,“ Used” และ“ Avail” จาก df ไม่ตรงกัน?
ฉันมีพาร์ทิชัน btrfs เมื่อฉันวิ่งdf -hมันจะแสดง: Filesystem Size Used Avail Use% Mounted on /dev/sda2 113G 101G 8.3G 93% /home จากนั้นทำไม เป็นเพราะพื้นที่ที่สงวนไว้สำหรับรูทเป็น wth ext2 / 3/4 หรือไม่? หรือมันเป็นอย่างอื่น? หากก่อนหน้านี้ฉันจะเปลี่ยนและเรียกคืน 4GB เหล่านั้นได้อย่างไร ตามbtrfs wikiฉันรู้ว่าข้อมูลเมตาถูกเก็บไว้สองครั้งซึ่งขยายขนาดของข้อมูล "ใช้แล้ว": user@machine:~$ df -h / Filesystem Size Used Avail Use% Mounted on /dev/sda1 894G 311G 583G 35% / ^^^^ user@machine:~$ …
9 btrfs  df 

2
วิธีรวมไฟล์ใหม่เข้าไปในแพทช์
ฉันพยายามที่จะทำให้แพทช์เป็นแนะนำที่นี่ ว่าฉันมีสองไดเรกทอรีpp1(modified version)และpp0(clean version)ฉันทำไฟล์แก้ไขpp0.patchด้วยdiffคำสั่ง: diff -crB pp0 pp1 > pp0.patch ปัญหาคือถ้ามีไฟล์ใน pp1 เท่านั้นมันจะไม่รวมอยู่ในแพทช์ จะหลีกเลี่ยงมันได้อย่างไร UPDATE : ก่อนอื่นฉันเปลี่ยนเป็นไดเรกทอรีของ pp0 และทดสอบว่าแพตช์จะสำเร็จหรือไม่ patch --dry-run -p1 -i /path-to-pp0.patch แม้ว่าฉันได้เพิ่ม--new-fileไปยังdiffคำสั่งเหล่านั้นเท่านั้นpp1ที่ไม่ได้อยู่ในรายการผลลัพธ์ UPDATE : ฉันได้ทำการแก้ไขไฟล์ผิดโดยบังเอิญ diff -crb --new-file pp1 pp0 > pp0.patch หรือ diff -crNb pp1 pp0 > pp0.patch จะทำ
9 diff  patch 

4
ย้อนกลับการค้นหา DNS ทำให้การทำงานของเครือข่ายช้าลงบน LAN
สิ่งแวดล้อม การตั้งค่า LAN ของฉันค่อนข้างพื้นฐาน: เราเตอร์ที่เชื่อมต่อกับโมเด็มของ ISP และอินเทอร์เน็ต พีซีของฉันพัฒนาเชื่อมต่อโดยตรงกับเราเตอร์ เราเตอร์ให้บริการ DHCP แต่ไม่ได้เรียกใช้เซิร์ฟเวอร์ DNS ของตัวเอง อันที่จริงไม่มีเซิร์ฟเวอร์ DNS ที่โฮสต์บน LAN ของฉัน (การตั้งค่าเครือข่ายภายในบ้านทั่วไป) เราเตอร์ได้รับการกำหนดค่าให้ส่งเซิร์ฟเวอร์ DNS ของ ISP โดยเป็นส่วนหนึ่งของข้อมูลการเช่า DHCP ฉันตั้งค่าเครื่อง VirtualBox บนพีซีสำหรับการพัฒนาของฉันและติดตั้ง Debian Squeeze (6.0.4) แล้ว โหมดเครือข่าย VirtualBox คือBridged Adapterการจำลองเซิร์ฟเวอร์แบบสแตนด์อโลนบน LAN ของฉัน การเป็นเซิร์ฟเวอร์ VirtualBox แทนที่จะเป็นเซิร์ฟเวอร์จริงไม่ใช่เรื่องสำคัญ แต่ฉันพูดถึงเพื่อความสมบูรณ์ ปัญหา ทุกครั้งที่การดำเนินการเครือข่ายดำเนินการค้นหา DNS reverse ของ LAN ip ก่อนที่จะดำเนินการเซิร์ฟเวอร์มีความล่าช้านาน …

2
ฉันจะรีเซ็ตหรือลดอนุกรมที่ใช้ในบันทึก SOA ของเซิร์ฟเวอร์ BIND DNS ได้อย่างไร
ฉันใช้ BIND เป็นเซิร์ฟเวอร์ DNS ที่บ้าน สำหรับการเริ่มต้นใช้งาน (บันทึก SOA) ของฉันฉันจะใช้อนุกรมในรูปแบบที่แนะนำเสมอ YYYYMMDD ## ที่##เป็นเคาน์เตอร์สำหรับการเปลี่ยนแปลงในวันนั้น น่าเสียดายที่ฉันเปลี่ยนอนุกรมและเพิ่มตัวเลขอีก 1 หลักโดยไม่ได้ตั้งใจ หลังจากอัปเดต name-daemon ฉันไม่สามารถเปลี่ยนกลับได้อีกต่อไป มีวิธีที่เป็นไปได้ในการรีเซ็ตซีเรียล / ตัวนับภายในไลบรารีภายในของ BIND หรือไม่?

1
สาเหตุการแยกการใช้งาน CPU สูงขึ้นใน RHEL 6 กับ RHEL 5
ขณะนี้ฉันต้องการย้ายระบบของเราจาก RHEL 5 ไปยัง RHEL 6 แต่ฉันได้พบกับอุปสรรคที่มีการใช้งาน CPU สูงอย่างไม่คาดคิดในเครื่อง RHEL 6 ดูเหมือนว่านี่อาจเป็นเพราะอย่างน้อยในบางส่วนของการใช้งานselectเพื่อให้การนอนหลับขัดจังหวะ นี่คือตัวอย่างง่ายๆที่แสดงพฤติกรรม: #include <sys/select.h> int main() { timeval ts; for (unsigned int ii=0; ii<10000; ++ii) { ts.tv_sec = 0; ts.tv_usec = 1000; select(0, 0, 0, 0, &ts); } return 0; } บนเครื่อง RHEL 5 จะอยู่ที่การใช้งาน CPU 0% แต่บนฮาร์ดแวร์เดียวกันกับ RHEL …

2
MySQL ถูกฆ่าโดยระบบปฏิบัติการทุก ๆ 25 วัน
ประมาณ 4 เดือนที่ผ่านมาเราอพยพมาจากMS SQL Serverเพื่อMySQL 5.5 ตั้งแต่นั้นมาเราประสบปัญหาครั้งหนึ่งประมาณ 25 วันนับตั้งแต่ที่ CentOS มีหน่วยความจำไม่เพียงพอและด้วยเหตุนี้มันจึงฆ่า MySQL ปลอดภัยของ MySQL รีสตาร์ท mysql ดังนั้นฐานข้อมูลจะลดลงอย่างสมบูรณ์เพียงหนึ่งหรือสองนาที แต่เราสามารถประสบปัญหาประสิทธิภาพและการเชื่อมต่อขาดหายไปเป็นเวลาหลายชั่วโมงก่อนที่ CentOS จะฆ่าเธรด mysqld เรามักจะเห็นปัญหาตั้งแต่ 1:00 ถึง 5:00แต่ไม่เคยในระหว่างวันที่การจราจรสูงที่สุดซึ่งเป็นสิ่งที่ยุ่งเหยิงจริงๆเกี่ยวกับสถานการณ์นี้ แม้ว่าปกติแล้วจะเห็นปัญหาการเชื่อมต่อและประสิทธิภาพตั้งแต่ 1am ถึง 5am แต่โดยทั่วไปแล้วเซิร์ฟเวอร์ mysql จะถูกฆ่าในช่วงเวลา 4:00 น. หรือ 5:00 น. ในเวลาเดียวกัน mysqldump ก็ทำงาน เราคิดว่าmysqldumpอาจเป็นผู้กระทำผิด อย่างไรก็ตามมันเริ่มต้นเวลา 4:00 น. ทุกวัน แต่เราพบปัญหาเร็วถึงตีหนึ่งในบางคืน นอกจากนี้ยังmysqldumpมีการทำงานกับ--optสวิทช์จึงไม่ควรบัฟเฟอร์ข้อมูลจำนวนมากในระหว่างขั้นตอนการถ่ายโอนข้อมูล นอกจากนี้เรายังพิจารณาแอพสำรองข้อมูลที่เราใช้ซึ่งทำให้ไฟล์ดัมพ์และสำรองข้อมูลไว้ในเทป เราเปลี่ยนเวลาที่ทำงานเป็น 6.00 …
9 mysql  memory  centos 

1
ขยายเนื้อหาที่เลื่อนได้ของ gnu-screen ได้หรือไม่
การใช้screenสภาพแวดล้อมขั้วผม ofen เข้าสู่โหมดสำเนาโดยใช้-Ctrl aEscอย่างไรก็ตามผลลัพธ์ที่เลื่อนได้มักสั้นเกินไปที่ฉันจะดูข้อมูลที่ต้องการ ฉันจะแก้ไขสิ่งใดเพื่อขยายความยาวของเอาต์พุตนี้

5
ฉันจะอัพเกรด pip บน Ubuntu 10.04 ได้อย่างไร
บน Ubuntu 10.04 ผมเคยใช้apt-get install pipในการติดตั้งหลังจากที่ผมติดตั้งpip djangoจากนั้นผมก็พยายามที่จะถอนการติดตั้งdjangoกับpipทางpip uninstall djangoซึ่งทำให้ผม: pip: error: No command by the name pip uninstall จากการทำวิจัยบางอย่างที่เป็นเพราะฉันใช้รุ่นที่เก่ากว่า $pip --version pip 0.3.1 from /usr/lib/python2.6/dist-packages (python 2.6) ฉันแรกตระหนักว่ารุ่นนี้pipไม่ได้ถอนการติดตั้งเมื่อฉันติดตั้งรุ่นผิดdjangoและพยายามถอนการติดตั้งด้วย pip uninstall django และจบลงด้วย pip: error: No command by the name pip uninstall จากบทความอื่น: pip 0.3.1 มีอายุมากกว่าสองปีและแน่นอนว่ามันไม่รวมคำสั่งถอนการติดตั้ง pip เวอร์ชันปัจจุบันคือ 1.0.1 ฉันคิดว่าคุณกำลังใช้ pip …
9 linux  ubuntu  python  pip 

1
“ nl80211: 'nl80211' ไม่พบ netlink ทั่วไป” เมื่อเริ่มต้น hostapd
ฉันได้ลองใช้แล็ปท็อป Ubuntu 11.10 ของฉันเพื่อสร้างจุดเชื่อมต่อเพื่อเชื่อมต่อ blackberry playbook ของฉัน hostapd ให้ข้อผิดพลาด Configuration file: ./hostapd-minimal.conf nl80211: 'nl80211' generic netlink not found nl80211 driver initialization failed. นี่เป็นปัญหา BCM4312 หรือไม่ madwifi, hostap สามารถสร้าง wifi acccess point ให้ฉันได้หรือไม่? Connectify สามารถทำสิ่งนี้ได้บน windows ดังนั้นจึงไม่มีสิ่งใดเทียบเท่า?

8
ลบไฟล์ที่เก่าที่สุด
ฉันกำลังพยายามลบไฟล์เก่าออกจากไดเรกทอรีและเหลือเพียง 3 ไฟล์ใหม่ล่าสุด cd /home/user1/test while [ `ls -lAR | grep ^- | wc -l` < 3 ] ; do rm `ls -t1 /home/user/test | tail -1` echo " - - - " done มีบางอย่างผิดปกติกับข้อความสั่งแบบมีเงื่อนไข
9 shell  files  rm 

1
เล่นเสียง / การแจ้งเตือนเป็นภาษาฟินช์มากกว่า ssh บนเครื่องท้องถิ่นของฉัน
ดังนั้นฉันมีfinchไคลเอนต์บรรทัดคำสั่งการแชท (คิดว่าพิดจิ้น) ทำงานบนเครื่องระยะไกลที่ฉันsshเป็น มีการแจ้งเตือนเสียงและสามารถเรียกใช้คำสั่งเมื่อมีเหตุการณ์บางอย่างเกิดขึ้นให้คุณผ่านไฟล์เสียงในขณะที่finch %sเช่นmplayer %s จากเครื่องระยะไกลเมื่อมีการแจ้งเตือนเกิดขึ้นฉันสามารถเรียกใช้คำสั่งชนิดใดเพื่อเล่นสิ่งที่%sอยู่ในเครื่องท้องถิ่นของฉัน
9 ssh  bash  audio 

2
แสดงผลลัพธ์ของโปรแกรมเป็นไฟล์ใน Linux
ฉันรู้ว่าเราสามารถใช้รูปแบบด้านล่างเพื่อเปลี่ยนเส้นทางหน้าจอไปยังไฟล์: $ your_program > /tmp/output.txt อย่างไรก็ตามเมื่อฉันใช้คำสั่งด้านล่างคำว่า"-bash: /home/user/errors.txt: การอนุญาตถูกปฏิเสธ" sudo tail /var/log/apache2/error.log > ~/errors.txt ฉันขอทราบวิธีทำให้ผลงานนี้ได้ผลหรือไม่? ไม่พบ ~ / errors.txt ฉันต้องสร้างไฟล์ txt ก่อนหรือไม่ก่อนใช้คำสั่ง redirect

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