2015-05-10 5 views
3

Мне нужно получить доступ/загрузить, поэтому я могу постоянно изменять файл с использованием PHP-скрипта (Чтобы включить малину pi и отключить, изменив start_x = ''). Однако это связано с изменением разрешений загрузки.Изменение права собственности на/root/boot

Я пробовал sudo chown -R/boot и по-прежнему получал разрешения при работе от имени root. Также попробовал FTP и изменил папку загрузки, чтобы пользователи могли изменять контент, но это тоже не сработало.

В любом случае обойти это ???

<?php 
$myfile = fopen("config.txt", "w") or die("Unable to open file!"); 
[...] 
?> 

Update: Я попытался сделать CHMOD 775 /boot/config.txt, а также симлинк (побежал успешно), поэтому у меня есть ярлык в /var/www/ однако при попытке сохранить сценарий PHP в config.txt (в www) все еще получают разрешение, даже если этот ярлык установлен на 775. Проблема по-прежнему сохраняется при изменении для изменения разрешения исходного файла под /boot.

+2

Вы можете написать хрон, который работает как корень, проверка на наличие файлов в месте, доступном для пользователей, как подкаталог/TMP, и перемещает их из осажденного места в безопасное место. – Paul

+0

Я бы все же получил разрешение на отказ, так как я бы переписывал файл – Prymz

+0

Является ли '/ boot' разделом? Часто это так. Когда вы запускаете 'mount' сам по себе, никакие параметры в затронутой системе не являются'/boot' смонтированными read-write (rw) или только для чтения (ro)? – Paul

ответ

0

Попробуйте запустить оболочку и пытается вашу команду:

sudo sh -c "echo 123 >/boot/test" 

работает, но

sudo echo 123 >/boot/test 

терпит неудачу. Я не понимаю причину этой разницы.

Пользователю, работающему под именем php, необходимы разрешения, установленные в sudoers.d для выполнения необходимых вам команд.

0

Попробуйте так:

sudo chown -R root /root/boot 
+0

Сделано это, все еще получить разрешение отказано даже при запуске его в корне Oo Root не содержит папку «boot», это раздел, на который я верю, поэтому мне нужно sudo chown -R pi/boot, который не работает 'операция не разрешена' при выполнении' sudo chown -R pi/boot' – Prymz

+0

Попробуйте: 'mount -o remount, gid = , uid = /boot' Чтобы определить pi's uid: ' cat/etc/passwd | grep pi' Чтобы определить pi's gid: 'cat/etc/group | grep pi' –

+0

извините, в первый раз, сделав это, я получаю результат для ui pi:' pi: x: 1000: 1000: ,,, :/home/pi:/bin/bash' и для gid 'adm: x: 4: pi : 0: 0: 0:Sudo: х: 27: пи аудио: х: 29: пи WWW-данные: х: 33: пи, корень видео: х: 44: пи plugdev: х: 46: пи игры: х: 60 : пи пользователей: х: 100: пи пи: х: 1000: NETDEV: х: 105: пи вход: х: 999: пи СПИ: х: 1002: пи GPIO: х: 1003: пи 'Какой должен я набирать – Prymz

Смежные вопросы