나는 다음과 같은 줄을 가지고 있습니다 /etc/fstab
:
/dev/mapper/tmp /tmp ext4 noexec,nodev,nosuid,mode=1777 0 0
을(를 ) 설치하려고 하면 /tmp
다음 오류가 발생합니다 dmesg
.
EXT4-fs (dm-1): Unrecognized mount option "mode=1777" or missing value
/tmp
권한을 가질 사람을 어떻게 지정합니까 1777
? 부팅할 때마다 파일 시스템을 다시 생성(포맷)하므로 /dev/mapper/tmp
재부팅 후에도 권한이 유지되지 않습니다.
내가 검색한 내용에 따르면 mode=1777
작업을 수행해야 합니다. 그러나 이것은 나에게 효과가 없습니다.
고쳐 쓰다:
상황을 더욱 명확하게 설명하기 위해 제가 사용하는 스크립트는 다음과 같습니다.
cryptsetup --key-file /dev/urandom create tmp /dev/sda2
mkfs.ext4 /dev/mapper/tmp > /dev/null 2>&1
이 스크립트는 부팅 시퀀스 도중과 그 이후에 실행됩니다 checkroot
. 그런 다음 나중에 bootall
를 마운트하려고 할 때 fstab에서 해당 항목 을 /tmp
확인하고 ./dev/mapper/tmp
/tmp
부팅할 때마다 장치를 생성하므로 LUKS
매번 파티션을 포맷해야 합니다. 일부 사람들이 여기에 댓글을 단 것과는 달리 권한은원하지 않는다포맷 후에도 여전히 존재합니다. 확실히.
답변1
systemd
시스템을 활성화 하면 세부 정보를 볼 수 있습니다 tmpfiles
.man 5 tmpfiles.d
/etc/tmpfiles.d/tmp.conf
다음 내용으로 파일을 만듭니다.
d /tmp 1777 root root - -
systemd-tmpfiles-setup.service
귀하의 허가를 처리해 드립니다.
답변2
/tmp
tmpfs
사용 가능한 RAM + 스왑 공간보다 더 많은 공간이 필요하지 않은 경우 기반 /tmp
디스크(기본적으로 RAM 디스크)를 사용하고 이전에 할당된 디스크 공간을 사용하여 /tmp
스왑 공간을 늘리는 것을 고려할 수 있습니다 .
현재 콘텐츠에 필요한 만큼의 RAM만 사용하며, RAM이 부족해지면 최근에 가장 적게 사용된 콘텐츠를 교체하기 위해 이동합니다.
필요한 것은 /etc/fstab
다음 줄뿐입니다.
tmpfs /tmp tmpfs rw,mode=1777 0 0
기본 최대 크기 제한은 사용 가능한 RAM의 50%입니다. 이 size=
옵션을 사용하면 사용 가능한 RAM의 백분율 또는 바이트 수(선택 사항 또는 1024를 기준으로 킬로/메가바이트/기가바이트를 나타내는 접미사 사용)로 다른 최대 크기를 지정할 k
수 있습니다 m
.g
재부팅할 때마다 다시 암호화하는 암호화된 교환을 이미 사용하고 있는 경우 /tmp
RAM을 저장할 수 있을 만큼 충분한 경우 유사한 무료 재암호화를 효과적으로 제공할 수 있습니다 /tmp
.
답변3
줄을 /etc/fstab
다음으로 변경합니다.
/dev/mapper/tmp /tmp ext4 noexec,nodev,nosuid 0 0
그런 다음 로그인하여 다음을 발행하십시오.
chmod 1777 /dev/mapper/tmp
다음 재부팅은 영구적 /etc/fstab
이므로 충분합니다 chmod
. 기본 Linux 파일 시스템(ext4)에서 Windows 설치용으로 설계된 옵션(fat, ntfs 등)을 사용하려고 합니다. 대신 chmod를 사용하여 폴더의 권한을 변경할 수 있습니다.
바라보다수세 포럼 게시물.
에서는 패턴을 사용할 수 없습니다 ext4
. 따라서 생성한 파일 시스템을 다른 방법으로 마운트해야 할 수도 있습니다. 다른 곳에 파티션을 생성 할 수 있습니다 ext3
.