
Ubuntu 18.04에 LibreOffice 6.0.4.2를 설치했습니다.
LibreOffice는 /tmp 디렉터리의 파일을 열거나 나열할 수 없습니다.
나는 AppArmor 프로필, 개발자들이 "예상되는" /home 사용 사례 등에 관해 이야기하는 것을 읽었습니다. 나는 LibreOffice 팀의 또 다른 완전한 말도 안되는 소리라고 생각합니다.
AppArmor를 비활성화하려고 시도했지만 LibreOffice는 그 후에도 열리지 않아서 다시 활성화했습니다.
LibreOffice가 내 시스템의 모든 폴더에 있는 파일에 액세스할 수 있도록 하는 솔루션이 있습니까?
답변1
18.04 및 이전 LibreOffice에서는 이 문제가 발생하지 않았습니다. 하지만 지금은 Ubuntu 20.04와 LibreOffice 6.4를 사용하고 있습니다.
약간의 조사 끝에 권한 문제라는 것을 알았습니다. Ubuntu 20.04에서는 LibreOffice를 포함한 앱에 폴더에 대한 읽기 액세스 권한이 없습니다./tmpFirefox와 같은 응용 프로그램이 임시 파일을 저장하는 위치입니다. 그런데 먼저 다운로드하지 않고 Firefox에서 할당된 응용 프로그램을 사용하여 웹에서 파일을 직접 열려고 하면 동일한 문제가 발생합니다(예: 소프트웨어 설치 프로그램을 사용하여 웹에 저장된 .deb 파일을 Firefox에서 열려고 시도). .
이를 정렬하는 한 가지 방법은 먼저 파일을 다운로드한 다음 파일을 여는 것입니다. 그러나 이것은 짜증나는 일이다.
또 다른 방법은 임시 디렉터리를 다시 할당하는 것입니다./홈/사용자/예배 규칙서. 이는 공간 요구 사항을 줄이는 장점이 있습니다./여전히 보안을 손상시키지 않는 동안 디렉토리.
임시 디렉터리는 TMPDIR 환경 설정에 따라 관리됩니다. 제안된 솔루션을 사용했습니다.여기~에 의해트루듀얼리티.
- 현재 임시 디렉터리가 어디에 있는지 확인하세요.
echo $TMPDIR
또는
mktemp -u
다음과 같아야 합니다./tmp/tmp.zrBHbp0Yt0
- 파일 편집/etc/프로필
sudo gedit /etc/profile
- 다음 코드를 추가합니다.
if [[ -O /home/$USER/tmp && -d /home/$USER/tmp ]]; then
TMPDIR=/home/$USER/tmp
else
# You may wish to remove this line, it is there in case
# a user has put a file 'tmp' in there directory or a
rm -rf /home/$USER/tmp 2> /dev/null
mkdir -p /home/$USER/tmp
TMPDIR=$(mktemp -d /home/$USER/tmp/XXXX)
fi
TMP=$TMPDIR
TEMP=$TMPDIR
export TMPDIR TMP TEMP
재부팅
임시 디렉토리가/홈/사용자/예배 규칙서
echo $TMPDIR
이번에는 다음과 같은 반환값이 나와야 합니다./홈/사용자/tmp/nrXo, 임시 디렉터리가 다시 할당되었음을 나타냅니다.
비고:
- 이 시점에서 문제는 해결되어야 하며 (먼저 다운로드하는 대신) Firefox에서 파일을 직접 여는 등의 작업을 수행할 수 있어야 합니다. 파일은 읽기 전용 모드로 열립니다.
- 마지막 단계(5)에서 임시 디렉토리가 이제 올바르게 재할당되었음을 확인한 경우에만 새 /tmp 파일이 끝없이 커지는 것에 대해 걱정할 수 있습니다. 이 문제를 해결하려면 세션이 끝날 때 파일이 삭제되었는지 확인해야 합니다. 그러나 이전 단계가 제대로 완료되지 않은 경우 루트 자격 증명으로 로그인하고 다음 단계로 진행하면 문제가 발생할 수 있습니다.
주의 깊은!
sudo gedit ~/.bash_logout
다음 줄을 추가하세요.
if [ -O $TMPDIR && -d $TMPDIR ]; then
rm -rf $TMPDIR/*
fi
구하다. 닫고 재부팅하세요.