웹 서버를 설치하면 그래픽 인터페이스를 사용하여 파일과 디렉토리를 로컬 웹 서버 / var / www에 복사 할 수있는 간단한 방법이 있습니다.
우분투에서 관리자 권한을 부여했지만 여전히 사본을 허용하지 않습니다.
웹 서버를 설치하면 그래픽 인터페이스를 사용하여 파일과 디렉토리를 로컬 웹 서버 / var / www에 복사 할 수있는 간단한 방법이 있습니다.
우분투에서 관리자 권한을 부여했지만 여전히 사본을 허용하지 않습니다.
답변:
그룹이 / var / www를 쓰기 가능하게하고 사용자를 그룹에 추가하면 해당 사용자는 sudo를 사용할 필요가 없습니다. 이 시도:
sudo adduser <username> www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rwX /var/www
그러면 사용자는 번거 로움없이 / var / www / 파일을 편집 할 수 있어야합니다.
첫 번째 줄은 사용자를 www-data 그룹에 추가하고 두 번째 줄은 엉망인 소유권이있는 파일을 지우고 세 번째 줄은 www-data 그룹의 구성원 인 모든 사용자가 모든 파일을 읽고 쓸 수 있도록합니다. / var / www.
로그인 한 상태에서 <username>
그룹 멤버쉽을 적용하려면 로그 아웃했다가 다시 로그인해야합니다.
sudo adduser <username> www-data; sudo chgrp -R www-data /var/www; sudo chmod -R g+rw /var/www; find /var/www -type d -print0 | sudo xargs -0 chmod g+s
로그 아웃 및 다시 로그인하여 새 그룹을 선택하십시오. 나는 그렇게 chmod g+s
내 권한이 전파를 변경할 수 있는지 확인하고, 그룹 소유자 (WWW-데이터)를 데리러 새로운 파일과 디렉토리를 강제로.
/var/www
root : root가 계속 소유하는 sudo chgrp -R www-data /var/www
것이 좋습니다 sudo chgrp -R www-data /var/www/*
.
composer.json
및 같은 LICENSE
)이 표시됩니다. composer.json
텍스트 편집기에서를 열면 빈 파일이 표시되고 최악의 경우 하위 폴더 중 일부를 탐색 할 수 없다는 것입니다. @ DonFaulkner가 제안한 추가 명령을 시도했지만 여전히 운이 없습니다. 터미널을 루트로 사용하면 모든 것이 그대로 있어야합니다. 왜 이런 일이 일어나는지 아는 사람이 있습니까?
당신은 수 chown
, 즉 ch
플랜지 own
해당 폴더의 어. 그러면 폴더의 사용자 및 그룹을 변경하여 사용자가 폴더에 파일을 추가 / 제거 할 수 있습니다. 그렇게하려면 yourusername
이름으로 바꾸고 다음 을 실행하십시오.
sudo chown yourusername.users /var/www
그리고 그게 다야.
그러나 홈 폴더에 가상 호스트를 만드는 것이 훨씬 쉽습니다.
기본적으로 모든 폴더를 아파치 서빙 폴더로 사용할 수 있습니다. 간단한 방법을 보여주기 위해 사용자 이름이 username 이고 제공하려는 폴더가 / home / username / www라고 가정합니다.
mywebprojects
/ etc / apache2 / sistes-available에 다음 파일을 작성하십시오 . 사용자 이름과 폴더 경로를 바꾸십시오 (기본적으로 #CHANGE HERE에서 복사하여 붙여 넣기 및 바꾸기).
<VirtualHost *:80>
ServerAdmin webmaster@localhost
# CHANGE HERE
DocumentRoot /home/username/www
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
# CHANGE HERE
<Directory /home/username/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/apache2/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
</VirtualHost>
이제 www
폴더를 만들고 간단한 hello world를 추가하고 기본 웹 사이트 ( /var/www
)를 비활성화하고 웹 사이트 를 활성화하고 mywebprojects
아파치를 다시 시작할 수 있습니다.
mkdir ~/www
echo "<html><h1>Hello World</h1></html>" > ~/www/test.html
sudo a2dissite default #
sudo a2ensite mywebprojects
sudo service apache2 restart
그리고 이제는 갈 필요가 없으므로 /var/www
파일을 www
다른 (또는 다른 이름으로) 추가하면 이미 있습니다 :).
방법 1 :
보도 ALT+ F2및 노틸러스 gksudo 입력 한 다음 실행을 클릭합니다.
방법 2 :
nautilus -q
터미널에 입력 한 후 마우스 오른쪽 버튼 클릭 메뉴를 새로 고칩니다. 루트 권한으로 해당 파일 / 폴더가 열립니다.
/var/www
. 실수로 [delete]
키 를 한 번 누르면 부팅 할 수없는 시스템이 생길 수 있습니다.
sudo usermod -a -G developers $username
ACL 을 사용 하는 것만 큼 간단 할 수 있습니다 .
그러나 시작하려면 약간의 노력이 필요합니다. 이것은 우분투 10.10 이상입니다. 먼저 / etc / fstab에서 acl 옵션을 사용하여 파일 시스템을 마운트하십시오.
sudo vim /etc/fstab
UUID = xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx / ext4 기본값, acl 0 1
sudo mount -o remount,acl /
그런 다음이 목적을 위해 사용자가 속한 그룹을 만드십시오.
sudo groupadd developers
sudo usermod -a -G developers $username
개발자 그룹의 구성원이 되려면 사용자가 로그 아웃했다가 다시 로그인해야합니다.
물론 / var / www 디렉토리에 원하는 컨텐츠가있는 경우 시작하지 않도록 설정하는 방법 만 설명하면됩니다.
sudo rm -rf /var/www
sudo mkdir -p /var/www/public
sudo chown -R root:developers /var/www/public
sudo chmod 0775 /var/www/public
sudo chmod g+s /var/www/public
sudo setfacl -d -m u::rwx,g::rwx,o::r-x /var/www/public
그런 다음 구성 파일에서 "/ var / www"에 대한 참조를 "/ var / www / public"으로 바꾸고 다시로드하십시오.
sudo vim /etc/apache2/sites-enabled/000-default
sudo /etc/init.d/apache2 reload
파일을 만든 사용자를 제외한 모든 사용자의 삭제 및 이름 바꾸기를 제한하려는 경우 :
sudo chmod +t /var/www/public
이런 식으로 Apache 문서 루트 외부에 존재하는 프레임 워크 용 디렉토리를 만들거나 서버 쓰기 가능 디렉토리를 만들려면 여전히 쉽습니다.
Apache 쓰기 가능 로그 디렉토리 :
sudo mkdir /var/www/logs
sudo chgrp www-data /var/www/logs
sudo chmod 0770 /var/www/logs
아파치가 읽을 수있는 라이브러리 디렉토리 :
sudo mkdir /var/www/lib
sudo chgrp www-data /var/www/logs
sudo chmod 0750 /var/www/logs
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
-line 의 문제점 을 설명해 주 시겠습니까? 문자 그대로 추가되거나 사용자가 행을 찾아 옵션을 편집하기를 원합니까?
sudo rm -rf /var/www
-step 을 건너 뛰지 않겠습니까? 실제로 필요하지 않은 것 같습니다.
sudo blkid
UUID=xxxx
A를 같이 part의를 sudo blkid
.
가장 쉬운 방법은 아래 단계를 따르는 것입니다.
sudo -s
와 비밀번호로 로그인.root
.nautilus
하면 루트로 홈 폴더가 열립니다. 이제 파일을 쉽게 편집하고 원하는 작업을 수행 할 수 있습니다.도움이 되었기를 바랍니다. :)
sudo -i
하는 것이 바람직하다 sudo -s
같은 이유가 sudo -H
에 바람직하다 sudo
단일 그래픽 응용 프로그램을 실행합니다. ( sudo -s
재설정하지 않습니다 HOME
사용자가, 그래서 그들에게 속한 것이 아니라 뿌리 속해야 자신의 홈 디렉토리에 구성 파일을 얻을 수 있습니다 .)
/var/www folder
이 폴더의 파일을 수정하려면 소유권을 자신의 사용자 이름으로 변경해야합니다. 이를 위해 다음 명령을 시도 할 수 있습니다.
sudo -i
// 루트 콘솔로 변경
sudo chown -R <username> <path> // for eg. sudo chown -R scott /var/www/html (scott is the username, -R indicates recrusive)
이제 폴더의 소유권이 /var/www/html will
사용자에게 할당됩니다 scott
. 이제 scott은이 폴더의 파일을 복사 / 이동할 수 있습니다.
서버 버전을 사용중인 경우 webmin을 사용해보십시오. 훌륭한 웹 UI와 파일 관리자가 있습니다. 그 또는 Filezilla