Невозможно редактировать файл в / tmp с правами доступа 777 даже с правами суперпользователя; Можно удалить; [дубликат]

У меня есть файл, который принадлежит www-data: www-data и имеет разрешения rwxrwxrwx . Несмотря на то, что я root, я не могу писать на него, но могу удалить его. Папка / tmp имеет права доступа drwxrwxrwt .

Где может быть проблема?

# Can't write to file
root@app-web:/data/app# >> /tmp/app.log
bash: /tmp/app.log: Permission denied

# Permissions on file
root@app-web:/data/app# ls -alt /tmp/app.log 
-rwxrwxrwx 1 www-data www-data 18788 /tmp/app.log

# I can remove it
root@app-web:/data/app# rm -r /tmp/app.log

# Create it 
root@app-web:/data/app# touch /tmp/app.log 

# Write to it
root@app-web:/data/app# >> /tmp/app.log 

# Once I change owner back to www-data
root@app-web:/tmp# chown www-data:www-data /tmp/app.log

# I can no longer write
root@app-web:/tmp# >> /tmp/app.log
bash: /tmp/app.log: Permission denied
root@app-web:/data/app# lsattr /tmp/app.log
--------------e--- /tmp/app.log
root@app-web:/data/app# getfacl /tmp/app.log
# file: app.log
# owner: www-data
# group: www-data
user::rwx
group::rwx
other::rwx

Моя папка / tmp находится в монтировании / .

overlay on / type overlay (rw,relatime,lowerdir=/var/lib/docker/overlay2/l/JYPNMY5ACNKQ4ZF6Z43DCI2ITB...upperdir=/var/lib/docker/overlay2/bf343e129700f4357a4d24bd0a9782d094e8e51f21e06932111ec432a3ab27dc/diff,workdir=/var/lib/docker/overlay2/bf343e129700f4357a4d24bd0a9782d094e8e51f21e06932111ec432a3ab27dc/work,xino=off)

Разрешения для / tmp drwxrwxrwt 1 root root 4096 tmp

0
задан 16 March 2021 в 22:09

1 ответ

Вы можете удалить файл, поскольку у вас есть разрешение на запись для каталога , что он в

, скорее всего, файл имеет ACL ( Список контроля доступа ). Используйте GetFACL (из пакета ACL ), чтобы увидеть его.

Существует также команда SetFacl для установки этих ACL.

0
ответ дан 18 March 2021 в 23:25

Другие вопросы по тегам:

Похожие вопросы: