Linux 文件权限对我撒谎

Linux 文件权限对我撒谎

所以我是用户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

相关内容