PHP\'nin Yetkilerini Arttırmak

Başlatan uykalkan, 24 Haziran 2016 - 21:54:12

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

uykalkan

Warning: Unable to set baud rate: stty: /dev/ttyUSB0: Permission denied in /var/www/html/serial/php_serial.class.php on line 241

Fazla bir linux bilgim yok php ile uğraşıyorum, serial portlarla alışveriş yapmaya çalışıyorum ama bu permission olayını aşamadım istiyorum ki php tamamen yetkili olsun portları yönetmekte. Mesela portların speed ayarlarını falan da exec ile göndereceğim yine yetki olayı karşıma çıkıyor. Güvenlik falan önemli değil php tamamen herşeyi yapmaya yetkili olsun istiyorum.


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 24 Haziran 2016 - 22:18:53

classın gönderdiği komut bu exec(stty -F /dev/ttyUSB0 19200) bu tip şeyleri yapsın yani

plazma


uykalkan

Alıntı yapılan: plazma - 25 Haziran 2016 - 03:19:21
Şu bağlantılara bir bakın belki projenize uyarlarsınız, ne bağlı seri portta

https://github.com/Xowap/PHP-Serial
http://www.brainboxes.com/faq/items/how-do-i-control-a-serial-port-using-php

Kod bakımından hiç bir sıkıntım yok sıkıntı o porta ulaşma yetkisi yok php'nin. yani aygıta root gibi müdahale edebilsin php anlatabiliyor muyum /dev/ttyUSB0 aygıtına yani. hatta yolladığınız birinci classı kullanıyorum hata yukarıda yazdığım gibi permission denied

bugra9

@uykalkan, http sunucu olarak apache mi nginx mi ya da başka bir şey mi kullanıyorsun? Ona göre www-data grup ve kullanıcı tanımını root ile değiştirirsek istediğin olur gibi geliyor.

uykalkan

Alıntı yapılan: bugra9 - 25 Haziran 2016 - 17:57:08
@uykalkan, http sunucu olarak apache mi nginx mi ya da başka bir şey mi kullanıyorsun? Ona göre www-data grup ve kullanıcı tanımını root ile değiştirirsek istediğin olur gibi geliyor.

Çoook teşekkür ederim lütfeenn. sanırım beni anladınız =)) apache kullanıyoum


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 25 Haziran 2016 - 21:34:23

Apache/2.4.18


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 25 Haziran 2016 - 21:35:16

Alıntı yapılan: uykalkan - 25 Haziran 2016 - 21:34:05
Alıntı yapılan: bugra9 - 25 Haziran 2016 - 17:57:08
@uykalkan, http sunucu olarak apache mi nginx mi ya da başka bir şey mi kullanıyorsun? Ona göre www-data grup ve kullanıcı tanımını root ile değiştirirsek istediğin olur gibi geliyor.

Çoook teşekkür ederim lütfeenn. sanırım beni anladınız =)) apache kullanıyoum


Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 25 Haziran 2016 - 21:34:23

Apache/2.4.18

Apacheye öyle bir yetki verelim ki işlemciyi bile yakabilsin gerekirse önemli değil =))

bugra9

Eğer nginx yüklü olsaydı önce kendi üzerimde dener, çalıştığında sana dönüş yapardım ama apache yüklü olduğu için biraz deneme yanılma olacak. :)

2008 yılında şöyle bir ileti geçmişler
http://ubuntuforums.org/showthread.php?t=927142

Eğer geçerliliğini koruyorsa,

sudo -H gedit /etc/apache2/envvars

komutuyla dosyayı açıp

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

yazan yeri

export APACHE_RUN_USER=root
export APACHE_RUN_GROUP=root

şeklinde değiştirirsen olur gibi geliyor. Sunucuyu yeniden başlatmayı unutma.

İşlemin riskler doğuracağını ve sorumluluk kabul etmeyeceğimi not düşeyim :)

uykalkan

#6
Alıntı yapılan: bugra9 - 25 Haziran 2016 - 21:52:49
Eğer nginx yüklü olsaydı önce kendi üzerimde dener, çalıştığında sana dönüş yapardım ama apache yüklü olduğu için biraz deneme yanılma olacak. :)

2008 yılında şöyle bir ileti geçmişler
http://ubuntuforums.org/showthread.php?t=927142

Eğer geçerliliğini koruyorsa,

sudo -H gedit /etc/apache2/envvars

komutuyla dosyayı açıp

export APACHE_RUN_USER=www-data
export APACHE_RUN_GROUP=www-data

yazan yeri

export APACHE_RUN_USER=root
export APACHE_RUN_GROUP=root

şeklinde değiştirirsen olur gibi geliyor. Sunucuyu yeniden başlatmayı unutma.

İşlemin riskler doğuracağını ve sorumluluk kabul etmeyeceğimi not düşeyim :)

Değişikliklerden sonra sunucu yeniden başlamıyor

Job for apache2.service failed because the control process exited with error code. See "systemctl status apache2.service" and "journalctl -xe" for details.




Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 25 Haziran 2016 - 22:23:30

konsoldan yapıyorum aslında sudo chown www-data /dev/ttyUSB0 diyorum güzel cillop gibi çalışıyor.php execten konsola root yetkisiyle komut göndermeyi biliyor musunuz?
çünkü aygıtı çıkart tak yaptığımız zaman yetkiler tekrar roota geçiyor. Yani bu yöntemle de çözebilirim işimi daha sağlıklı olur hem

bugra9

Demekki direk root olarak belirtilmesine izin yokmuş ki öyle olması mantıklı. Peki yeni bir kullanıcı oluştursan ve
export APACHE_RUN_USER=yeniKullanici
şeklinde kaydetsen. Sonra da bu yeni kullanıcıyı ulaşmak istediğin dosyaların gruplarına üye yapsan ne olur acaba diye düşünmüyor değilim.

İkinci söylediğin ile ilgili olarak da sudoers dosyasına
sudo visudo
aşağıdaki gibi bir şey eklenirse
www-data ALL=NOPASSWD: ALL
şifre girmene gerek kalmadan sudo komutunu çalıştırabileceğini düşünüyorum. Tabi yazdıklarımın hepsi tahmini.

ata1

kullanıcı adı ALL=NOPASSWD: ALL
bu şekilde olmaz mı ? @bugra9

bugra9

Komutu php ile çalıştıracak. Php de kullanıcı adı olarak www-data kullandığı için öyle yazdım.

heartsmagic

Hayattan çıkarı olmayanların, ölümden de çıkarı olmayacaktır.
Hayatlarıyla yanlış olanların ölümleriyle doğru olmalarına imkân var mıdır?


Böylece yalan, dünyanın düzenine dönüştürülüyor.