/ var / www / html에 대한 권한 변경


12

나는이 주제 https://help.ubuntu.com/community/FilePermissions 를 잠시 공부 했지만 어떤 이유로 든 작동하지 않습니다.

특히,이 라인은 가장 관심이 있습니다 :

지정된 디렉토리에있는 각 파일 및 폴더의 모든 권한을 한 번에 변경하려면 sudo chmod를 -R과 함께 사용하십시오.

$ sudo chmod 777 -R /path/to/someDirectory
$ ls -l
total 3
-rwxrwxrwx  1 user user 0 Nov 19 20:13 file1
drwxrwxrwx  2 user user 4096 Nov 19 20:13 folder
-rwxrwxrwx  1 user user 0 Nov 19 20:13 file2

입력 한 내용은 다음과 같습니다.

mark@ubuntuserver:~$ sudo chmod 755 /var/www/html
mark@ubuntuserver:~$ ls -l
total 0

그런 다음 sftp에서 변경 사항을 확인했습니다.

sftp> cd /
sftp> cd var/www/html
sftp> pwd
Remote working directory: /var/www/html
sftp> ls -l
-rw-r--r--    1 root     root        11321 Apr 10 20:07 index.html

출력에서 html 디렉토리는 여전히 루트에 의해서만 수정 가능하다는 것이 분명합니다.

루트 (비 루트)가 html 디렉토리에 파일을 업로드 할 수있는 방식으로이를 변경하려면 어떻게해야합니까?

나는 또한 테스트했다 :

chown 명령을 사용하여 파일 소유자를 변경할 수 있습니다. 예를 들어, foobar 파일의 소유자를 tux로 변경하려면 :

$ sudo chown tux foobar

서버에서 입력했습니다.

sudo chown mark owner

효과가 없습니다.


재귀에 대한 -r 옵션이 없습니다. 777은 -n-- 올바른 변경 사항이 아닙니다 (t 옵션 (스티커 비트)도 설정하지 않는 한. 질문 : 왜 dir이 두 번째 명령에서 비어 있고 세 번째 명령에서 index.html로 채워져 있습니까? . 같은 상황을 발행 sudo chown mark owner? 할한다고 가정 무엇을 당신이 거기에 파일이나 디렉토리라는 "소유자"를 소개하는 방법을 온
Rinzwind

파일 또는 디렉토리의 소유권을 가져 오려면 새 소유자, 그룹 (선택 사항) 및 파일 또는 디렉토리를 지정해야합니다. 예를 들어 sudo chown user:user mydocs, 새로운 소유자와 그룹이 user있고 소유권을 가지고있는 디렉토리는mydocs
Gansheim

1
이 경우 디렉토리 소유권 만 남겨두고 특정 디렉토리에 대한 권한을 수정하여 디렉토리에 쓰거나 읽기 / 쓰기 권한을 설정할 수 있습니다.sudo chmod 766 -r /var/www/html
Gansheim

@Rinzwind는 ls -l홈 디렉토리에서 명령 을 실행 한 것처럼 보입니다 . @Mark 보거나 조작하려는 디렉토리에 있지 않으면 경로를 지정해야합니다.이 경우 명령을 다음과 같이 실행해야합니다.ls -l /var/www/html
Gansheim

1
사람들이 지적했듯이 chmod권한을 chown변경하고 소유자를 변경합니다. 755 첫 번째 숫자 (7)는 '소유자'에 모든 권한이 있음을 의미하고, 두 번째 및 마지막 숫자 (5)는 'group'과 'other'에 모두 읽기 및 실행 권한이 있음을 의미합니다. 사용자를 그룹에 추가하고 그룹에 대한 모든 권한을 부여하여 많은 변경을하지 않아도됩니다.
사무엘

답변:


11

이 경우 디렉토리 소유권을 그대로 둡니다. 해당 디렉토리에 쓸 수 있도록 해당 특정 디렉토리에 대한 권한을 수정하려면 명령 인 읽기 / 쓰기 권한을 설정하십시오 sudo chmod 766 -R /var/www/html. 그러면 7소유자에게 전체 권한 6, 그룹에 대한 읽기 / 쓰기 및 모든 사람 6에 대한 읽기 / 쓰기가 재귀 적으로 할당됩니다 .


9

자신을 그 디렉토리의 소유자로 만들 수 있습니다

sudo chown pi /var/www/html

그러나 당신은 분명히 권한을 설정하고 싶습니다

chmod 755 -R /var/www/html

-R (재귀) 옵션을 사용하면 스크립트 파일과 .htaccess 파일이 모두 동일하게 설정됩니다.


새 스크립트를 추가 할 때마다이 방법으로 설정해야합니다.

chmod 755 /var/www/html/cgi-bin/newscript.cgi

일부 CGI 프로그램에는 다음과 같은 자체 요구 사항이 있습니다.

Bestdam 웹 사이트 방문자 로거 + 적중 카운터

발췌 :

텍스트 편집기에서 bdlogger.pl 파일을 열고 필요한 경우 shebang 행을 수정하십시오.

서버에서 cgi-bin 디렉토리 아래에 bdlogger 서브 디렉토리를 작성하고 ASCII 모드를 사용하여 스크립트 및 데이터 파일을 FTP로 FTP하십시오.

UNIX / Linux 서버를 사용하는 경우 파일을 chmod하십시오.

bdlogger.pl to 755
all other files to 666

다음 SSI 지시문 태그를 웹 페이지에 추가하십시오.

<!--#exec cgi="/cgi-bin/bdlogger/bdlogger.pl" -->

5

www 폴더 소유자를 'root'에서 'Me'로 설정해야합니다.

터미널에서 다음 명령을 실행하십시오.

sudo chown -R your_system_username /var/www

그것이 작동하기를 바랍니다!


2

위의 답변은 거의 트릭을 수행하지만 더 건강한 접근 방식입니다. 에서 제공 할 웹 앱을 추가하려고하기 때문에 / var / www / html 내의 파일을 수정하려고 할 수 있습니다 Apache2. 이를 달성하려면 다음 단계가 필요합니다

  1. www-data폴더의 기본 소유권이 있는 사용자 그룹에 사용자를 추가하십시오 . 왜? 웹 앱이 in wordpress인 경우에도 동적으로 변경하려는 경우이 그룹의 사용자에게 쓰기 권한이 있어야합니다. 이 단지 쓰기 작업을 수행하려면 : sudo adduser username grouptoadd우리의 경우가 될 것입니다 sudo adduser username www-data.
  2. 다음으로 명령을 read/write permissions사용하여 를 변경해야합니다 chmod. 이제 사용자 그룹의 일부이므로를 사용하여 소유권을 변경할 필요가 없습니다 chown. 이 단지 실행하려면 다음을 수행합니다 sudo chmod -R 766 directory,이 경우에는 될 것입니다 sudo chmod -R 766 html. 스포티하다고 느끼면 (777)앱의 안전성에 따라 전체 쓰기 권한을 얻을 수 있습니다 .

-R명령은 재귀 함수이므로 모든 하위 디렉토리에 명령을 적용 할 수 있습니다. 이것이 도움이 필요한 사람을 돕기를 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.