所以我是用户david
,根据ls -la
文件权限是700
,所有者是大卫。我不明白为什么不允许我写入该文件。该stat
命令返回一些有趣的内容,其中有 2 个Access:
代表 700,一个代表 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$
答案1
答案:该文件被标记为不可变,这意味着即使 root 也无法修改该文件
david@traverxec:~/bin$ lsattr server-stats.sh
----i---------e---- server-stats.sh
修复:此修复对我不起作用,因为我没有 root/sudo 访问权限,但这里适用于其他任何人
sudo chattr -i server-stats.sh