SSD가 있습니다. /tmp
로 설치하는 것이 좋습니다 tmpfs
.
예:
- https://askubuntu.com/questions/550589/best-way-to-mount-tmp-in-fstab
- https://yktoo.com/en/blog/post/233
- https://askubuntu.com/questions/173094/how-can-i-use-ram-storage-for-the-tmp-directory-and-how-to-set-a-maximum-amount
설치 옵션은 각 예마다 다릅니다. 이유는 무엇입니까? ? ?
기본 Ubuntu 16 설치에서는 루트( )에 대한 설치 옵션을 /
(에서 /etc/mtab
)로 설정합니다.
/dev/sda1 / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0
따라서 다른 모든 옵션(예제/링크에서 제안된 대로)을 적용해서는 안 됩니다.
웹의 다양한 예에서 나온 일부 설치 옵션은 다음과 같습니다.
defaults,noatime,mode=1777
또는:
defaults,noatime,nosuid,nodev,noexec,mode=1777,size=512M
하지만:
noatime
어차피 데이터가 빠른 RAM에 저장되기 때문에 쓸모없다고 느껴집니다 .- 왜
nosuid,nodev,noexec
?
소프트웨어가 특정 옵션에 의존하는지 어떻게 알 수 있습니까?
설치된 앱에 대해 기본 권한을 유지하는 것이 가장 좋다고 생각합니다. 즉, 다음과 같습니다.
rw,relatime,mode=1777,uid=0,gid=0
각 소프트웨어의 정상적인 작동을 보장하려면:
- 권한은 기본 권한
/tmp
과 마찬가지로 1777입니다drwxrwxrwt
(참고자료 참조stat -c "%a %n" /tmp
). - 그리고 같은 것이 있기 때문
uid
입니다 .gid
root
/tmp
여기서 뭔가 빠졌나요?
답변1
앞으로체계, 표준 활성화 방법임시 파일 시스템존재하다/tmp활성화 /etc/default/tmpfs
하고 설정하는 것입니다 RAMTMP=yes
(거의 모든 사람이 /etc/fstab을 편집하고 있음에도 불구하고). 이렇게 하면 기본 옵션이 무엇인지 확인할 수 있습니다. 내 Devuan Ascii에서 설치 옵션은 다음과 같습니다.
$ mount -l | grep "/tmp"
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,relatime,size=3293980k)
크기는 기본적으로 물리적 메모리 20% + 스왑 공간입니다.
따라서 /etc/fstab에서 동일한 옵션을 사용하면 잘못될 수 없을 것 같습니다.
답변2
/tmp를 tmpfs로 마운트하는 것이 좋습니다.
아니요.
너가능한재부팅 시 파일 손실을 걱정하지 않으려면 tmpfs 장치를 /tmp에 마운트하세요(tmpfs는 메모리에 구현되어 있습니다).
따라서 다른 모든 옵션(예제/링크에서 제안된 대로)을 적용해서는 안 됩니다.
잘? 이러한 옵션을 원하지 않습니까? 아니면 OS가 이를 무시한다고 생각하시나요? 전자의 경우 원하는 옵션을 선택하세요. 해당 옵션은 존중되거나 상속되지 않습니다.
시간이 없으면 쓸모없다는 느낌
예, 여기에서 atime 또는 relatime을 소유하는 데 드는 비용은 무시할 수 있습니다.
nosuid, nodev, noexec를 사용하는 이유는 무엇입니까?
이는 /tmp에서 악용될 수 있기 때문입니다. 그러나 고정 비트를 사용하면 이러한 벡터를 사용하는 (모두?) 공격을 완화할 수도 있습니다.
rw, 관계 시간, 모드=1777, uid=0, gid=0
rw - 이는 임시 파일 시스템에 다소 유용하지만 기본 동작이기도 하므로 이를 명시적으로 기술할 필요는 없습니다.
relatime - 귀하에게 달려 있지만 다시 기본값입니다.
mode=1777,uid=0,gid=0 - /tmp가 루트 소유가 아니며 마운트 시 전역적으로 쓰기 가능하고 그룹 고정 비트가 설정된 경우 이 구멍을 막는 데 너무 늦을 수 있습니다.