Зміна дозволів на / 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 досі може змінюватися лише корінцем.

Як я можу змінити це так, що я (не-root) можу завантажувати файли в каталог html?

Я також перевірив:

Власника файлу можна змінити за допомогою команди chown. Наприклад, щоб змінити власника файлу foobar на "tux":

$ sudo chown tux foobar

Я набрав з сервера:

sudo chown mark owner

ніякого ефекту.


У вас відсутня опція -r для рекурсивного. І 777 - це будь-коли - правильна зміна, яку слід внести (якщо ви також не встановите опцію t (липкий біт). Питання: чому в 2-й команді реєстр порожній і заповнений index.html у 3-й команді? Ці команди НЕ). опубліковано з тими ж ситуаціями. sudo chown mark ownerщо це припустимо зробити? Як ви там
вводите

Щоб взяти право власності на файл чи каталог, потрібно вказати, хто новий власник, групу (необов’язково) та файл чи каталог. Наприклад, 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) означають, що "група" та "інші" мають права читання та виконання дозволів. Ви можете додати свого користувача до групи і надати повні дозволи для групи теж, щоб вам не довелося вносити стільки змін.
Самуїл

Відповіді:


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 Logger відвідувачів веб-сайтів + ​​Лічильник хітів

Витяг:

Відкрийте файл bdlogger.pl у текстовому редакторі та, якщо необхідно, змініть рядок shebang.

На сервері створіть підкаталог bdlogger під каталогом cgi-bin та FTP-скрипт та файли даних в нього в режимі ASCII

Якщо ви використовуєте сервер 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яка має власність папки за замовчуванням. Чому? Тому що якщо ви маєте намір вносити будь-які зміни у веб-додаток динамічно, навіть якщо він є 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Є в виду рекурсивную функцію, дозволяючи команді застосувати до всіх підкаталогів. Я сподіваюся, що це допоможе комусь, хто потребує.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.