GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana Cara Mengubah Pengguna Untuk Banyak File Layanan Systemd?

Saya memiliki banyak file layanan di /etc/systemd/service/myapp.*.service

Masing-masing memiliki garis yang terlihat seperti…

User=Foo

…dan saya perlu mengubah semua file .service ini sehingga semuanya mengatakan…

User=Bar

Bagaimana cara melakukannya secara efisien?

Jawaban yang Diterima:

Siapa bilang Anda perlu mengubah file sama sekali?

find /etc/systemd/service/ -maxdepth 1 -name 'myapp.*.service' |
while read -r i
do
    printf '[Service]\nUser=%s\n' 'Bar' > ${i}.d/change-user.conf
done

Mendapatkan kembali definisi layanan vanilla agak lebih mudah dengan cara ini.

rm -- /etc/systemd/service/myapp.*.service.d/change-user.conf

Membuat ini semua satu file tunggal yang berlaku di banyak layanan tentu saja hanya latihan sederhana dalam penggunaan tautan keras.

install -d /etc/systemd/temp
printf '[Service]\nUser=%s\n' 'Bar' > /etc/systemd/temp/change-user.conf
find /etc/systemd/service/ -maxdepth 1 -name 'myapp.*.service' |
while read -r i
do
    ln /etc/systemd/temp/change-user.conf ${i}.d/change-user.conf
done

Ini tentu saja cara resmi untuk melakukan hal semacam ini dengan unit yang dipasok paket dan dihasilkan runtime, terlebih lagi. Anda seharusnya tidak untuk mengubah file unit tersebut.

Bacaan lebih lanjut

  • Puisi Lennart (2013-10-07). systemd.unit . halaman manual systemd. freedesktop.org.

Linux
  1. Bagaimana Cara Menulis Script Startup Untuk Systemd?

  2. Menulis File Layanan Systemd Dasar?

  3. Cara Mengatur Batas Sumber Daya untuk Proses dengan Systemd di CentOS/RHEL 7 dan 8

  1. Cara mengatur nilai ulimit untuk layanan systemd

  2. Cara mengarahkan output dari layanan systemd ke file

  3. Bagaimana menghentikan layanan systemd

  1. Linux – Bagaimana Cara Mengatur Afinitas Cpu Default Untuk Semua Daemon Di Systemd?

  2. Bagaimana saya bisa mengubah semua file milik satu pengguna ke pengguna lain?

  3. Bagaimana cara mengirim email jika layanan systemd di-restart?