USB cihazını bağlamak için bir Komut Dosyası çalıştırma


13

Lütfen farklı bir soru olduğu için bunu kopya olarak işaretlemeyin!

Bir pendrive sistemime bağlı olduğunda bir komut dosyası çalıştırmaya çalışıyorum. Ben takip bu ve bu soruyu Ve çalışıyor ancak hala bazı sorunlar var.

Bu benim udev kurallar dosyası:

ACTION=="add", ATTRS{idVendor}=="8564", ATTRS{idProduct}=="1000", RUN+="/usr/local/my_script.sh"

ve bu benim senaryom:

#!/ Bin / bash

env> /tmp/env.out
cp -r / media / * aygıt adı * / * ~ / test /

2 sorum var:

1. / tmp içinde bir dosya env.out üretildiğinden, ancak usb cihazından gelen veriler test dizinine kopyalanmadığı için usb cihazım komut dosyasını taktığımda , komut dosyasını manuel olarak çalıştırırsam iyi çalışır! Neden??

2.Kimliklerimi bilmeden bağlanan herhangi bir USB cihazında çalışabilmesi için kural dosyamı nasıl daha genel hale getirebilirim?

Bunun arkasındaki fikrim bağlı USB cihazındaki tüm verileri bağlı olduğunda otomatik olarak bilgisayarıma kopyalamak.

Şimdiden teşekkürler!


sadece bunu yapmaya değil misin? askubuntu.com/questions/474/…
virtualxtc

@virtualxtc Bu öneri için teşekkürler! Ama bu yaklaşımda neyin yanlış olduğunu bilmek istiyorum.
Boş gösterici

Bana senaryomda neyin yanlış olduğunu söyler misin? Neden çalışmıyor?
Boş gösterici

Ayrıca, sadece bir kafa - Bu gibi belirli soruların genellikle süper kullanıcı için askubuntu'dan daha uygun olduğunu zor yoldan öğrendim.
virtualxtc

Bu izin sorunu olsaydı, manuel olarak çalıştırmayı denediğimde ortaya çıkardı, değil mi?
Boş gösterici

Yanıtlar:


8

Kendi sorumu cevaplamak için:

1.Script çalıştırmak için sudohaklara ihtiyaç duyduğu için çalışmıyor.

Bunun çözümü:

Bu komut dosyasını sudoyürütülebilir yapın!

Kullanarak sudoers dosyasını DÜZENLE

sudo visudo

25 numaralı satırdan sonra (ie %sudo ALL=(ALL)) Bunu ekle

username ALL=(ALL) NOPASSWD: /home/username/my_script.sh

Şimdi sudosudo şifresi sorulmadan bu komut dosyasında kullanılabilir

ancak bazı güvenlik sorunlarına neden olabilir, bu yüzden lütfen bu bağlantıya bakın

2. ikinci soruma cevap:

Bu komut dosyasının bağlı herhangi bir USB aygıtında çalışmasını sağlamak için kurallar dosyasını değiştirin

ACTION=="add", ATTRS{idVendor}=="****", ATTRS{idProduct}=="****", RUN+="/usr/local/my_script.sh"

asterik (*), bunun bağlı her USB cihazı için yapılması gerektiğini söyler!

Bu kadar! Komut dosyasının yürütülebilir olduğundan emin olun ve USB'nizi takın !!

Zevk almak!


0

Yaklaşık işareti giriş dizininizin tam yoluyla değiştirmeyi deneyin. Bu işe yarayacak mı bilmiyorum, ama komut dosyası doğrudan çalıştırdığınızda çalışır, ancak otomatik olarak çalıştırıldığında işe yaramaz diyor: Bu, sorunun farklı bir tarafından çalıştırılmasıyla ilgili olabileceğini düşündürüyor kullanıcı otomatik olarak çalıştırıldığında ve tilde farklı kullanıcılar için farklı değerlere gider.


Lütfen soruyu cevaplamadan önce yorumları okuyun
Boş gösterici

Yorumları okudum, sonra soruyu cevapladım. Ben yanlış bir şey mi yaptım? Özellikle hangi yoruma atıfta bulunuyorsunuz?
Toby 1 Kenobi

Yorumlarda bu öneriler zaten verildi ve benim için işe yaramadı .. Bu yüzden yorumları okumak dedim
Boş gösterici

Ah evet, üzgünüm, son 5 yorum benden gizlendi ve ben onları fark etmedim. Benim hatam!
Toby 1 Kenobi

@Nullpointer: Lütfen sorunuzu düzenleyin ve sorudaki tüm bilgileri saklayın, böylece insanların yorumları okumasına gerek kalmaz ... Yorumlar sorunun bir parçası değildir ... ;-)
Fabby

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.