atd OS X üzerinde çalışmayı durdurdu 10.10.3


5

OS X Yosemite kullanıyorum, sadece 10.10.3'e güncellendi ve at komutu ve ilgili (atq, atrm vb.) Çalışmayı durdurdu. Atd en son 10.10.3'te devre dışı bırakıldı mı? Öyleyse, gerekli izinleri nasıl araştırabilir ve yeniden etkinleştirebilirim?

~$ atq
atq: cannot regain privs: Operation not permitted

Arka plan olarak, günlük çalışan (launchd kullanarak) bir işim var ve atd'ye bir iş listesi gönderirim. İşlerin listesi o gün gerçekleşen olaylarla ilgilidir, bu yüzden günlük zamanları değiştirir. Bu yüzden günlük olay zamanlarına göre bu işleri çalıştırmak için atd kullanıyorum.

Son yükseltmeye kadar 10.10.3'e kadar gayet iyi çalışıyor.

/usr/libexec/atrun Başlatıldığına göre etkin ve iyi çalışıyor.


Hata gibi görünüyor (birkaç makinede çoğaltabilirim)
Matteo

Bir hata mı, yoksa bir "güvenlik özelliği" mi?
Ari Trachtenberg

1
Yine Linux / UNIX ',' gönderen kullanıcı olarak çalışan bir arka plan işi göndermek üzere tasarlanmıştır. İkili / usr / bin / at, SUID köküdür!
mdpc

Yanıtlar:


2

Bu ileti, çalıştırmak için doğru ayrıcalıklarınızın olmadığını gösterir. atq. Bunun yardımcı olup olmadığını anlamak için komut satırından sudo ile çalıştırmayı deneyin.

> atq
atq: cannot regain privs: Operation not permitted
> sudo atq
Password:
>

1
Evet sudo kullanarak çalışıyor. Ancak bir bash betiğinden işleri gönderiyorum, bu yüzden komut dosyasından bir şifre sağlayamadığım için sudo kullanamıyorum. Şimdi neden iznim olmadığını anlamıyorum. Yükseltmeden önce çalışırdı. /var/at/at.deny boş ve kullanıcı adımı /var/at/at.allow ekledim. Bu işe yaramıyor.
alpatters

El ile başlatıyorsanız ana komut dosyasını sudo ile çalıştırabilir veya cron aracılığıyla kök olarak çalıştırabilirsiniz. Apple zaman zaman bazı komut satırı araçlarını çalıştırmak için gereken izinleri yükseltir. Örneğin, xcodebuild aslında tüm kullanıcılar için mevcuttu, ancak bir Xcode sürümünde --switch bayrağı sudo gerektirmeye başladı.
Ɱark Ƭ

'At' komutu kök için SUID'dir ve gerçekten de kök ayrıcalıklarını gerektirmemelidir. UNLESS, belirli bir kullanıcı için değil, kök olarak çalıştırılmak üzere bir iş gönderdiğiniz anlamına gelir.
mdpc

@mdpc Kabul ediyorum ve 10.10.3 güncellemesine kadar böyle iyi çalışıyordu. Şimdi bunu normal kullanıcı hesabım olarak çalıştıramıyorum, bunu at.allow'a eklememe rağmen ve at.deny'de yok. Kurulumumda yanlış bir şey göremiyorum (eskiden işe yarar).
alpatters

Bununla biraz daha fazla deneyimledim ve bulduğum şey kökte, basitçe yapılan tek şey, işi sadece temelde sonsuza kadar kaldığı "işler" sırasına koymak. Böylece 'at' yapabilirsiniz ve bir iş gerçekten ASLA çalıştırılmadan yaratılır (OSX 10.10.3).
mdpc

1

10.10.4 güncellemesini Apple'dan bugün yükledim.

At komutunun çalıştığını fark ettim. Ancak hizmeti etkinleştirmek için yapmanız gereken tek şey bu değil. Yapmanız gereken /System/Library/LaunchDaemons/com.apple.atrun.plist dosyasını düzenlemek ve devre dışı bırakılmış XML bölümünden sonra "true" sırasını "false" olarak değiştirmek. Sonra komutunu kullanabilirsiniz

 launchctl load /System/Library/LaunchDaemons/com.apple.atrun.plist

başlatmak için.

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.