Linux
Linux 文件權限對我說謊
所以我是使用者
david
,根據ls -la
文件權限700
和所有者是大衛。我不明白為什麼不允許我寫入文件。該stat
命令返回一些有趣的東西,有 2Access:
個 700 和 1 個 500。這500
將解釋為什麼我不能寫入文件但為什麼我這樣做時不顯示ls -la
?我也無能為力,sudo
因為我不知道密碼david
david@traverxec:~/bin$ ls -la total 16 drwx------ 2 david david 4096 Mar 1 17:43 . drwx--x--x 5 david david 4096 Oct 25 17:02 .. -r-------- 1 david david 802 Oct 25 16:26 server-stats.head -rwx------ 1 david david 363 Oct 25 16:26 server-stats.sh -rw-r--r-- 1 david david 0 Mar 1 17:43 test david@traverxec:~/bin$ stat server-stats.sh File: server-stats.sh Size: 363 Blocks: 8 IO Block: 4096 regular file Device: 801h/2049d Inode: 10901 Links: 1 Access: (0700/-rwx------) Uid: ( 1000/ david) Gid: ( 1000/ david) Access: 2020-03-01 17:27:22.389179535 -0500 Modify: 2019-10-25 16:26:29.049613415 -0400 Change: 2019-10-27 16:24:21.437108121 -0400 Birth: - david@traverxec:~/bin$ echo "test" >> server-stats.sh -bash: server-stats.sh: Operation not permitted david@traverxec:~/bin$ id uid=1000(david) gid=1000(david) groups=1000(david),24(cdrom),25(floppy),29(audio),30(dip),44(video),46(plugdev),109(netdev)
編輯:我可以在目錄中創建文件。我不太確定,但它似乎不是從其他地方安裝的……嗯
david@traverxec:~/bin$ touch test david@traverxec:~/bin$ ls -la total 16 drwx------ 2 david david 4096 Mar 1 17:43 . drwx--x--x 5 david david 4096 Oct 25 17:02 .. -r-------- 1 david david 802 Oct 25 16:26 server-stats.head -rwx------ 1 david david 363 Oct 25 16:26 server-stats.sh -rw-r--r-- 1 david david 0 Mar 1 17:43 test david@traverxec:~/bin$ df -h . Filesystem Size Used Avail Use% Mounted on /dev/sda1 3.9G 1.5G 2.3G 40% / david@traverxec:~/bin$ findmnt -T . TARGET SOURCE FSTYPE OPTIONS / /dev/sda1 ext4 rw,relatime,errors=remount-ro david@traverxec:~/bin$
答:該文件被標記為不可變,這意味著即使是root也不能修改這個文件
david@traverxec:~/bin$ lsattr server-stats.sh ----i---------e---- server-stats.sh
修復:此修復對我不起作用,因為我沒有 root/sudo 訪問權限,但它適用於其他任何人
sudo chattr -i server-stats.sh