ข้อผิดพลาดการอนุญาต. nano_history


17

ฉันใช้rkhunterและฉันต้องการตรวจสอบบันทึกด้วย:

nano /var/log/rkhunter.log

แต่nanoเอาท์พุทข้อผิดพลาดนี้:

Error reading /home/arthur-dent/.nano_history: Permission denied

Press Enter to continue starting nano.

และถ้าฉันกดENTERฉันจะสามารถดูไฟล์ได้ ฉันได้ตรวจสอบการอนุญาตสำหรับไฟล์นั้นและตอนนี้พวกเขาอยู่:

-rw-------   1 root        root           12 May  3 20:26 .nano_history

ดังนั้นฉันเดาว่าฉันแค่เปลี่ยนความเป็นเจ้าของกลับมาให้ฉันเหรอ? แต่ขณะที่ฉันกำลังใช้อย่างแท้จริงnanoทำไมสิทธิ์และความเป็นเจ้าของ (อาจเป็นเพราะฉันไม่รู้ว่ากรรมสิทธิ์ดั้งเดิมคืออะไร) เพียงแค่เปลี่ยนไปในทันที เป็นเพราะฉันเพิ่งใช้กับมันsudoถ้าเป็นเช่นนั้นมันแปลกที่ไม่มีอะไรแบบนี้เคยเกิดขึ้นมาก่อนและฉันใช้sudoกับมันมาก?


ข้อมูลระบบปฏิบัติการ:

Description:    Ubuntu 15.04
Release:    15.04

ข้อมูลแพ็คเกจ:

nano:
  Installed: 2.2.6-3
  Candidate: 2.2.6-3
  Version table:
 *** 2.2.6-3 0
        500 http://gb.archive.ubuntu.com/ubuntu/ vivid/main amd64 Packages
        100 /var/lib/dpkg/status

น่าสนใจ Mine พูดว่า-rw------- 1 xieerqi xieerqi 31 May 3 13:51 .nano_history
Sergiy Kolodyazhnyy

/ var / log / ต้องการ sudo ดังนั้นคำสั่ง nano อาจผิดพลาด
Rinzwind

@Rinzwind ดังนั้นถ้าคุณดูไฟล์nano /var/log/somelogด้วยสิทธิ์ 600 (และไม่มี sudo) .nano_historyเปลี่ยนความเป็นเจ้าของเป็นรูท ฉันทำอย่างนั้นตอนนี้ด้วยatopบันทึกและ.nano_historyไฟล์ของฉันยังคงเหมือนเดิม
Sergiy Kolodyazhnyy

ที่น่าสนใจ .. หากเป็นแอปพลิเคชั่นแบบกราฟิกนี่อาจเกิดขึ้นได้หากคุณเรียกใช้sudo nanoแทนgksudo nano... ในบันทึกย่ออื่นอย่าแยกวิเคราะห์ไฟล์บันทึกโดยใช้เครื่องมือแก้ไขใช้tail/ less/ more
-like

@Serg nope ฉันไม่ได้พูดอย่างนั้น สิ่งนี้จะเกิดขึ้นเมื่อคุณใช้รูทกับหอยโข่งและเปลี่ยนไฟล์เป็นรูท และฉันเห็นด้วยกับ heemayl ความคิดของการใช้โปรแกรมแก้ไขในบันทึกคืออะไร?
Rinzwind

คำตอบ:


15

สิ่งนี้เป็นไปได้หาก.nano_historyไม่มีอยู่และคุณแก้ไขไฟล์ใด ๆ ในฐานะรูท เริ่มการค้นหาด้วยCtrl+ Wและ.nano_historyมีความเป็นเจ้าของผิด

sudo chown arthur-dent:arthur-dent /home/arthur-dent/.nano_history

หลังจากนั้นความเป็นเจ้าของไฟล์จะไม่เปลี่ยนแปลง

ฉันได้ทำการทดสอบแล้ว:

% ls -l .nano_history
ls: cannot access .nano_history: No such file or directory

% sudo nano ~/tmp/<any_file>

Ctrl+W

ค้นหาอะไรก็ได้

Ctrl+X

% ls -l .nano_history
-rw------- 1 root root 6 Mai  3 22:08 .nano_history

% sudo chown aboettger:aboettger .nano_history
% ls -l .nano_history                    
-rw------- 1 aboettger aboettger 6 Mai  3 22:08 .nano_history

% sudo nano ~/tmp/<any_file>

Ctrl+W

ค้นหาอะไรก็ได้

Ctrl+X

% ls -l .nano_history  
-rw------- 1 aboettger aboettger 11 Mai  3 22:11 .nano_history

1
ลบของฉัน.nano_historyและเปิดsudo nano /var/log/syslogค้นหาผ่านและ.nano_historyถูกสร้างขึ้นเป็น root ดังนั้นใช่สิ่งนี้จะเกิดขึ้น อย่างไรก็ตามหากไฟล์มีอยู่ก่อนหน้านี้ดูเหมือนจะไม่เปลี่ยนความเป็นเจ้าของเป็นรูท ฉันได้ลองใช้ syslog อีกครั้งหลังจาก chmoding .nano_history ของฉันและฉันยังเป็นเจ้าของ
Sergiy Kolodyazhnyy

9

สิ่งนี้สามารถเกิดขึ้นได้เมื่อคุณไม่ได้เป็นเจ้าของไฟล์. nan_history ที่ปกติมีอยู่ในโฮมไดเร็กตอรี่ของคุณ เรื่องนี้เกิดขึ้นกับฉันเมื่อฉันวิ่งนาโนเป็นครั้งแรกบน Ubuntu ของฉันติดตั้งพร้อมกับ sudo นี่หมายความว่า. nano_history เป็นเจ้าของโดย root และไม่สามารถอ่านได้เว้นแต่ว่า sudo ใช้กับ nano ในแต่ละครั้ง เมื่อไม่ได้ใช้งานนาโนบ่นเมื่อเริ่มต้นด้วย 'การอนุญาตถูกปฏิเสธ' คัดลอกและวางสิ่งนี้ลงในเทอร์มินัลของคุณเพื่อแก้ไขปัญหา:

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