우분투 파일 권한

우분투 파일 권한

Ubuntu 서버의 파일 권한에 문제가 있습니다. WinSCP를 사용하여 파일을 서버로 이동하고 있습니다. 서버는 정상적으로 작동하지만 잠시 후 더 이상 파일을 삭제할 수 있는 권한이 없는 것으로 나타납니다.

라는 계정을 사용하여 서버에 연결하고 있습니다.svadmin, Apache 서버의 루트 디렉터리는 다음과 같습니다./var/www. 각 웹사이트에는 이 아래에 자체 디렉토리가 있습니다. 즉

/var/www/site1
/var/www/site2

이것은 ls 명령의 출력입니다.

cd /var/www
ls -al
drwxr-sr-x   4  svadmin  svadmin  4096 2009-06-12 14:45 .
drwxr-xr-x  15  root     root     4096 2009-05-05 15:47 ..
drwxr-sr-x   4  svadmin  svadmin  4096 2009-06-12 15:15  site1
drwxr-sr-x   4  svadmin  svadmin  4096 2009-06-12 15:15  site2

내 이해는 이것이 디렉토리 소유자가 읽기/쓰기/실행을 했다는 것을 의미한다는 것입니다. svadmin 계정을 사용하여 서버에 연결할 때 /var/www/site1 또는 /var/www/site2의 파일을 덮어쓰거나 삭제할 수 없어야 합니까?

저는 Linux 파일/디렉토리 권한에 대해 잘 알지 못하기 때문에 무엇을 해야 할지 고민하고 있습니다. 어떤 도움이라도 대단히 감사하겠습니다!

추가 정보: (빠른 답변에 감사드립니다!)

/var/www/site1에 대한 ls -al 출력

drwxr-sr-x 4 svadmin svadmin 4096 2009-06-12 15:15 .
drwxr-sr-x 4 svadmin svadmin 4096 2009-06-12 14:45 ..
-rw-r--r-- 1 svadmin svadmin 157  2009-05-12 13:23 error.php
-rw-r--r-- 1 svadmin svadmin 158  2009-05-12 13:23 .htaccess
-rw-r--r-- 1 svadmin svadmin 142  2009-05-12 13:23 index.php
drwxr-sr-x 2 svadmin svadmin 4096 2009-05-12 18:40 libraries

오류 메시지 파일을 삭제하려고 하면:

rm admin.php
rm: cannot remove 'admin.php' : Read-only file system

더 많은 정보 관련 정보를 추가하자면... 어제 오후까지 모든 것이 작동했습니다. 그 시점에 동료가 가상 머신 파일이 있는 SAN을 꺼냈고 웹 서버가 정상적으로 종료되지 않았습니다.

답변1

이는 권한 문제가 아닙니다. 두 가지 단서는 다음과 같습니다.

  • rm: 'admin.php'를 제거할 수 없습니다: 읽기 전용 파일 시스템
  • 어제 오후까지 모든 것이 작동했습니다. 그 시점에 동료가 가상 머신 파일이 있는 SAN을 꺼냈고 웹 서버가 정상적으로 종료되지 않았습니다.

어떻게 든 /var/www를 포함하는 파일 시스템은 아마도 SAN이 사라졌을 때 "읽기 전용"으로 떨어졌습니다. 명령 의 출력은 mount끝에 (ro) 플래그로 이 파일 시스템을 식별해야 합니다.

해결 방법은 문제가 발생한 이유를 파악하고 수정되었는지 확인한 후 다음 명령을 사용하여 파일 시스템 rw를 다시 마운트하는 것입니다.

mount -oremount,rw $filesystem

답변2

디렉터리에 rwx가 있으면 디렉터리 파일을 편집할 수 있으며 이는 파일을 제거하고 추가하는 것과 같습니다. 파일 편집은 개별 권한에 따라 결정됩니다. 하위 디렉터리 중 하나의 ls -l은 어떻게 생겼나요?

답변3

문제는 끈적 끈적한 부분입니다. 거기에 있는 파마는 가 아니라 drwxr-xr-x입니다 drwxr-sr-x. 위키피디아는 다음과 같이 말합니다.

오늘날 고정 비트의 가장 일반적인 용도는 디렉터리에서입니다. 디렉터리에서 설정하면 항목 소유자, 디렉터리 소유자 또는 수퍼유저만 디렉터리 내부 항목의 이름을 바꾸거나 삭제할 수 있습니다. 고정 비트를 설정하지 않으면 디렉터리에 대한 쓰기 및 실행 권한이 있는 모든 사용자는 소유자에 관계없이 포함된 파일의 이름을 바꾸거나 삭제할 수 있습니다. 일반적으로 이는 일반 사용자가 다른 사용자의 파일을 삭제하거나 이동하는 것을 방지하기 위해 /tmp 디렉토리에 설정됩니다. 이 기능은 1986년 4.3BSD에 도입되었으며 오늘날 대부분의 최신 Unix 시스템에서 찾아볼 수 있습니다.

따라서 파일은 먼저 해당 파일을 저장한 그룹에 의해서만 쓰기 및 삭제가 가능합니다.

관련 정보