Unix & Linux

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

2
การตั้งค่าชื่อโฮสต์มีอะไรบ้าง
ฉันมีเซิร์ฟเวอร์ Amazon EC2 หลายแห่งและฉันใช้ Chef เพื่อจัดการการกำหนดค่า ฉันต้องการตั้งค่าชื่อโฮสต์เพื่อให้ bash prompt เป็นประโยชน์มากกว่า ตอนนี้หลังจากเปิดตัวเซิร์ฟเวอร์ใหม่มันเพิ่งตั้งเป็น: root@ip-10-123-123-123 ตั้งแต่ฉันใช้อูบุนตู 12 กล่องเหล่านี้ผมปรึกษาหน้าคนที่สอดคล้องกันสำหรับชื่อโฮสต์ มีข้อมูลที่ดีมากมายเกี่ยวกับวิธีการตั้งค่าและพูดคุยเล็กน้อยเกี่ยวกับชื่อโฮสต์และ fqdn แต่มันไม่ได้บอกสิ่งที่ฉันต้องการรู้จริง ๆ : การตั้งค่าชื่อโฮสต์มีอะไรบ้าง ฉันต้องการสมมติว่าการตั้งค่าชื่อโฮสต์ส่วนใหญ่เป็นรายการอำนวยความสะดวกสำหรับผู้ใช้และ sysadmins โดยให้กล่องเป็นใบหน้า / ชื่อที่ดีเพื่อให้สามารถจดจำได้ง่ายขึ้นภายใน (ผ่านทางพรอมต์คำสั่งอีเมลที่ส่งไป ฯลฯ ) แต่ฉันไม่คิดบวก ฉันไม่เห็นชื่อโฮสต์ที่แสดงอยู่ใน/etc/hostsไฟล์ซึ่งดูเหมือนว่าเป็นสัญญาณที่ดีว่าจะไม่มีผลกระทบใด ๆ หากมีการเปลี่ยนแปลง: 127.0.0.1 localhost # The following lines are desirable for IPv6 capable hosts ::1 ip6-localhost ip6-loopback fe00::0 ip6-localnet …

2
การลบไฟล์ออกจากรายการแบบโต้ตอบ
ฉันต้องการลบรายการไฟล์และขอให้ยืนยัน รายการอยู่ในlist.txtไฟล์ ทำไมคำสั่งต่อไปนี้ทำงานไม่ถูกต้อง while read i; do rm -i $i; done < list.txt คำสั่งก่อนหน้าไม่รอฉัน แต่โชคดีที่ไม่มีไฟล์ถูกลบ ฉันกำลังใช้ Bash

1
ไม่สามารถลบไฟล์ได้ - สิทธิ์ถูกปฏิเสธ - เพราะอะไร
[db2inst1][testing ~/sqllib/db2dump] rm db2diag.log rm: cannot remove `db2diag.log': Permission denied [db2inst1][testing ~/sqllib/db2dump] id uid=1002(db2inst1) gid=107(db2iadm1) groups=16(dialout),33(video),107(db2iadm1),108(db2fadm1),1001(eduserver) [db2inst1][testing ~/sqllib/db2dump] ll total 1381172 -rw-rw-rw- 1 root db2iadm1 1412931954 Oct 2 10:24 db2diag.log ผู้ใช้ที่เข้าสู่ระบบในปัจจุบัน (db2inst1) เป็นส่วนหนึ่งของกลุ่ม db2iadm1 ที่ได้รับอนุญาตจากไฟล์ที่ฉันต้องการลบ แต่ฉันไม่สามารถ มีความคิดอะไรบ้าง อัพเดต - การอนุญาตสำหรับไดเร็กทอรีพาเรนต์ drwxr-sr-x 2 root db2iadm1 4096 22 ส.ค. 14:39 db2dump
13 permissions  files  rm 


1
netcat ในเชลล์สคริปต์ให้การเชื่อมต่อที่ไม่ถูกต้อง
ฉันมีเชลล์สคริปต์ที่ใช้netcatเพื่อฟังlocalhostบนพอร์ต 1111 สำหรับคำขอเว็บ ทุกครั้งที่ฉันลองเข้าถึงlocalhost:1111/index.htmlเช่นฉันจะได้รับ: invalid connection to [127.0.0.1] from localhost [127.0.0.1] 60038 จำนวนที่สิ้นสุด (60,038) localhostดูเหมือนว่าจะเพิ่มขึ้นทุกเวลาเข้าถึงฉัน ข้อเสนอแนะใด ๆ เกี่ยวกับสิ่งที่ผิดปกติ? และdefault localhostไดเรกทอรีคืออะไร? ฉันควรใส่index.htmlเพื่อที่localhost:1111/index.htmlจะทำงานอย่างไร แก้ไข นี่คือสคริปต์แบบเต็ม: #!/bin/sh while true do netcat -vvl localhost -p 1111 -c ' set -x read http_request echo HTTP/1.0 200 OK echo echo "Received HTTP request: $http_request" ' done

3
เอาท์พุต ls -l ขนาดฟิลด์ด้วยตัวเลขจัดกลุ่มตามหลักพัน?
เป็นไปได้หรือไม่ที่จะทำให้ ls -l ส่งออกฟิลด์ขนาดด้วยตัวเลขที่จัดกลุ่มตามหลักพัน? ถ้าเป็นเช่นนั้นได้อย่างไร ตัวอย่างเช่น $ ls -l -rw-rw---- 1 dahl dahl 43,210,052 2012-01-01 21:52 test.py (หมายเหตุเครื่องหมายจุลภาคในขนาด) อาจแก้ไขการตั้งค่า LC_NUMERIC ภายในภาษาที่ฉันใช้ (en_US.utf8) ฉันใช้ Kubuntu 12.04 LTS

9
การเพิ่มตัวเลขสองตัวโดยใช้ expr
ฉันกำลังเรียนรู้การเขียนสคริปต์ของเชลล์เพื่อรับประกาศนียบัตรด้านไอทีที่ฉันกำลังทำอยู่ ฉันกำลังพยายามเขียนสคริปต์ขนาดเล็กที่เพิ่มตัวเลขสองตัวตามที่แสดงในหนึ่งในบทเรียนที่เราได้รับ echo "Enter two numbers" read num1 num2 sum = 'expr $num1 + $num2' echo "The sum is = $sum" อย่างไรก็ตามเมื่อฉันให้สิทธิ์การดำเนินการและเรียกใช้สคริปต์มันทำให้ฉันมีข้อผิดพลาดนี้ sum: =. No such file or directory. sum: expr $num1 + $num2: No such file or directory ฉันลองใช้งานทั้ง Ubuntu และ Fedora แต่เกิดข้อผิดพลาดเดียวกัน ใครช่วยกรุณาบอกฉันว่าฉันหายไปที่นี่

3
วิธี จำกัด การเรียกใช้คำสั่งในไดเรกทอรีเฉพาะผ่าน SUDOERS
ฉันสามารถกำหนดค่า sudo (ผ่านไฟล์ sudoers) เพื่อให้ผู้ใช้เรียกใช้chownและchmodคำสั่งในไฟล์หรือไดเรกทอรีใด ๆ ในระบบ อย่างไรก็ตามฉันต้องการให้สิทธิ์แก่ผู้ใช้เพื่อเรียกใช้คำสั่งเหล่านี้ในไฟล์ที่อยู่ใต้/var/www/htmlไดเรกทอรี ฉันจะ จำกัด คำสั่งที่ใช้สิทธิพิเศษเช่นที่ผู้ใช้สามารถเรียกใช้งานได้เฉพาะในไดเรกทอรีที่ระบุไว้ล่วงหน้าเท่านั้น ตัวอย่างเช่น: คำสั่งต่อไปนี้ให้สิทธิ์ 777 index.htmlไฟล์ sudo chmod 777 /var/www/html/index.html ตอนนี้ฉันต้องการดำเนินการสองอย่าง จำกัดsudoเช่นที่ผู้ใช้สามารถเรียกใช้chmodและchownจากภายในเท่านั้น/var/www/html ไม่อนุญาตให้ผู้ใช้รันคำสั่งเหล่านี้ที่อื่นในระบบ (เช่นคำสั่งไม่สามารถรันได้/var/wwwหรือ/var/ftp)
13 sudo 

6
วิธีการใช้ SOCKS proxy กับ yum?
man page ไปยัง yum.conf อธิบายตัวแปรที่เกี่ยวข้องกับพร็อกซีหลายประการ: proxy URL to the proxy server that yum should use. proxy_username username to use for proxy proxy_password password for this proxy แต่จะระบุพร็อกซี SOCKS ได้อย่างไร? ฉันคิดว่าข้างต้นเป็นเพียงสำหรับ HTTP ผู้รับมอบฉันทะปกติ ...
13 yum 

4
ดูหน้าคนที่ไม่ได้ติดตั้งแพ็คเกจ?
บนระบบที่ใช้เดเบียนสามารถดู man page ของแพ็คเกจที่ยังไม่ได้ติดตั้งได้หรือไม่ ฉันต้องการตรวจสอบสิ่งที่พวกเขามีความสามารถก่อนที่จะติดตั้งพวกเขา
13 debian  man 

1
ค้นหาไฟล์ที่ได้รับผลกระทบจากบล็อกเสียบนระบบไฟล์ ext4
ฉันมีระบบไฟล์ ext4 ที่เพิ่งพัฒนาเซกเตอร์เสีย การวิ่งfsck.ext4 -cค้นหาและจดจำบล็อกที่ไม่ดี ฉันจะค้นหาไฟล์ใด (ถ้ามี) รวมบล็อกที่ไม่ดีเหล่านี้เพื่อให้ฉันสามารถกู้คืนได้จากการสำรองข้อมูล
13 linux  ext4 

4
ตัวจัดการ / ตัวติดตั้งแพ็คเกจ Git สำหรับ Linux
มีลินุกซ์ distro ใด ๆ ที่มีตัวจัดการ / การติดตั้งแพ็คเกจ git ฉันต้องการบางสิ่งที่คล้ายกับ FreeBSD Ports (ซึ่งฉันใช้ CVS) หรือ Mac OS X Homebrew (อิงจาก git)

3
วิธีการ sed เฉพาะบรรทัดที่มีสตริงที่กำหนด?
INPUT: Select ASDF 325 sdfg sdflk lk Select TRG 46sdg rasdftz fsgs 45 Select ASDF 6ffg sdfg 4456 sdrg เอาท์พุท: Select ASDF 325 XXXX sdflk lk Select TRG 46sdg rasdftz fsgs 45 Select ASDF 6ffg XXXX 4456 sdrg ดังนั้นในระยะสั้นฉันต้อง "sed" "sdfg" ถึง "XXXX" แต่: เฉพาะในบรรทัดที่มีสตริง "Select ASDF" .. ฉันจะทำสิ่งนี้ได้อย่างไร (sed, …
13 sed  awk 

7
vsftpd ล้มเหลวในการตรวจสอบสิทธิ์แพม
การย้ายการกำหนดค่า vsftpd ที่พยายามและจริงไปยังเซิร์ฟเวอร์ใหม่ด้วย Fedora 16 ฉันพบปัญหา ดูเหมือนว่าทั้งหมดจะเป็นไปตามที่ควรจะเป็น ฉันไม่พบรายการใด ๆ ในบันทึกที่ระบุว่าเกิดอะไรขึ้น นี่คือไฟล์กำหนดค่าแบบเต็ม: anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES xferlog_enable=YES connect_from_port_20=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES idle_session_timeout=0 data_connection_timeout=0 nopriv_user=ftpsecure connect_from_port_20=YES listen=YES chroot_local_user=YES chroot_list_enable=NO ls_recurse_enable=YES listen_ipv6=NO pam_service_name=vsftpd userlist_enable=YES tcp_wrappers=YES FTP ท้าให้ฉันใช้ชื่อผู้ใช้และรหัสผ่านที่ฉันให้ไว้พวกเขาเข้าสู่ระบบไม่ถูกต้อง ฉันได้ตรวจสอบแล้วผู้ใช้รายนี้สามารถเข้าสู่ระบบจาก ssh มีบางอย่างpam_serviceผิดพลาด ไม่ระบุชื่อ (ถ้าเปลี่ยนเป็นอนุญาต) ดูเหมือนว่าจะทำงานได้ดี SELinux ถูกปิดใช้งาน ดูเหมือนว่า Ftpsecure จะได้รับการกำหนดค่าให้ดี ... ฉันสูญเสียไปอย่างสิ้นเชิง! นี่คือล็อกไฟล์ที่ฉันตรวจสอบโดยไม่ประสบความสำเร็จ: /var/log/messages /var/log/xferlog …

6
มี tmux ที่เทียบเท่ากับ“ screen -D -R” หรือไม่
ฉันอยากจะรู้ว่าถ้ามีวิธีที่จะทำให้มันtmuxเป็นแบบscreen -D -Rนั้นฉันก็จะบอกว่ามีคำสั่งเป็นคำสั่งเริ่มต้นใน Putty screenสวิตช์เหล่านี้จะบังคับให้แยกเซสชันหน้าจอที่มีอยู่สำหรับผู้ใช้ของฉัน (แม้ว่าจะยังคงใช้งานอยู่และเข้าสู่ระบบที่อื่น) และใส่กลับเข้าไปในเซสชันปัจจุบัน นอกจากนี้ในกรณีที่ไม่มีเซสชันหน้าจออยู่ก็จะสร้างใหม่ ฉันชอบ tmux และสามารถเห็นผลประโยชน์ที่ชัดเจนผ่านหน้าจอ แต่การมีอยู่ของคุณลักษณะนี้จะเป็นข้อตกลงที่แท้จริง tmux attach ดูเหมือนจะไม่สร้างเซสชันใหม่หากไม่มี man page สำหรับ tmux พูดว่า: หากไม่มีเซิร์ฟเวอร์เริ่มทำงาน Attach-session (Attach) จะพยายามเริ่มต้น สิ่งนี้จะล้มเหลวหากไม่ได้สร้างเซสชันในไฟล์กำหนดค่า ส่วนที่เป็นตัวหนาหมายถึงอะไร (ฉันไม่พบตัวอย่างของการสร้างเซสชันในไฟล์ conf)
13 gnu-screen  tmux 

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