Bagaimana saya bisa menambahkan skrip ke nautilus untuk menjalankan file yang dipilih sebagai administrator?

8

Bagaimana saya bisa menambahkan skrip ke nautilus untuk menjalankan file yang dipilih sebagai administrator (tidak terbuka sebagai administrator)? Dan jika memungkinkan, saya ingin menjalankan file ini sebagai administrator tanpa memasukkan kata sandi saya.

Olcay Ertaş
sumber

Jawaban:

7

Informasi tentang penggunaan sudo atau gksudo pada skrip tanpa kata sandi

Anda perlu melakukan hal berikut, pada tipe terminal sudo visudodan menambahkan baris seperti ini di akhir file yang menentukan perintah yang ingin Anda jalankan tanpa mengetikkan kata sandi sudo:

<yourusername> hostname=NOPASSWD: <command1>, <command2>

Sekarang Anda dapat menjalankan perintah yang ditentukan tanpa kata sandi selama Anda mengetikkan perintah itu sudo.

yaitu: memungkinkan Anda ingin menjalankan shutdown -r nowtanpa harus mengetikkan kata sandi sudo setiap kali dan nama pengguna Anda adalah 'joedoe'

  1. ketik sudo visudodi terminal

  2. Tambahkan joedoe hostname=NOPASSWD: shutdown -r nowsebagai baris baru di akhir file

  3. pada skrip Anda, Anda kemudian dapat menggunakan sudo shutdown -r nowtanpa harus mengetikkan kata sandi sudo.

Untuk membuat skrip gunakan editor favorit Anda untuk membuat <nameofyourscript>.shdengan isi:

#! /bin/bash

sudo <commandsyouwanttorun1>
<commandsyouwanttorun2>
sudo<commandsyouwanttorun3>

Gunakan sudo untuk memanggil perintah yang membutuhkannya, ia tidak akan meminta kata sandi selama Anda menambahkannya di NOPASSWD: <commmand1>, <command2>, etctelepon visudo.

Setelah itu Anda harus membuatnya executable dengan: sudo chmod 755 <nameofyourscript>.sh.

Sekarang Anda dapat menjalankan skrip Anda menggunakan sh <nameofyourscript>.shterminal, dengan mengklik dua kali padanya dan memilih runpada kotak dialog atau meletakkannya di Anda ~/.gnome2/nautilus-scripts/yang kemudian akan tersedia di scriptsmenu Anda ketika Anda mengklik kanan pada nautilus:

masukkan deskripsi gambar di sini

Buat klik kanan "Open as admin" tanpa kata sandi

Untuk membuat skrip yang membuka file menggunakan izin administrator dengan mengklik kanan padanya dan membuatnya sehingga tidak ada kata sandi yang akan diminta buat skrip dengan yang berikut ini:

#! /bin/bash
for file in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
gksudo "gnome-open $file" &
done

Simpan di Anda ~/.gnome2/nautilus-scripts/, buatlah itu dapat dieksekusi dengan sudo chmod 755 ~/.gnome2/nautilus-scripts/<nameofyourscript>.sh, gunakan sudo visudotambahkan baris <yourusername> ALL=NOPASSWD: /usr/bin/gnome-opendan simpan file.

Anda harus dapat mengklik kanan file, pindah ke folder skrip Anda dan pilih skrip yang baru Anda buat untuk membuka file itu menggunakan izin root. gnome-openakan menangani jenis file sebaik mungkin.

klik pada skrip openasadmin Anda

selesai!

Bruno Pereira
sumber
Terima kasih atas jawabannya! Tetapi ada sedikit kesalahpahaman: Apa yang saya butuhkan adalah "dijalankan sebagai admin" bukan "buka sebagai admin", jadi saya mengubah baris "gksudo "gnome-open $file" &"ke"gksudo "gnome-terminal -x $file" &"
Olcay Ertaş
Tentu, "bab pertama" akan memberi Anda cukup info untuk melakukan apa pun yang Anda inginkan;) senang itu membantu!
Bruno Pereira
1

Skrip Nautilus biasanya harus ditempatkan $HOME/.gnome2/nautilus-scripts/dan perlu dieksekusi. Yang sedang berkata, skrip ikuti harus melakukan, apa yang Anda inginkan:

#!/bin/bash

IFS='
'

for file in $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS; do
    gksudo -k "sh -c 'chmod +x $file; $file'"
done

Anda dapat mengakses skrip itu dari nautilus dengan mengklik kanan file tersebut, mengarahkan kursor ke menu skrip dan kemudian mengklik nama file skrip di $HOME/.gonme2/nautilus-scritps/. Anda masih harus memasukkan kata sandi.

Tidak ada cara aman Anda dapat melakukan ini dengan file sewenang-wenang tanpa memasukkan kata sandi Anda. Untuk perintah khusus prosesnya dijelaskan dalam posting brunopereira81 di sini dan menggunakan sudo tetapi tergantung pada perintah akan mengarah pada sistem yang rentan. Jika Anda tidak peduli (dan saya sangat menyarankan ini) Anda dapat mengatur ALLperintah untuk digunakan NOPASSWDdan diganti gksudodengan adil sudo.

membingungkan
sumber
Mengapa Anda chmod file secara permanen?
Michał Šrajer
karena itu cara cepat: D
con-f-use
1

Anda dapat menggunakan ekstensi Nautilus ini. Nautilus-gksu Instal nautilus-gksu .

sudo apt-get install nautilus-gksu

Menginstalnya menambahkan entri 'Buka sebagai administrator' di menu klik kanan nautilus Anda.

masukkan deskripsi gambar di sini

Ketika Anda perlu membuka file apa pun dengan izin root, Anda hanya perlu mengklik kanan pada file tersebut, pilih 'Buka sebagai Administrator', sesederhana itu.

Untuk ekstensi keren lainnya kunjungi: http://www.techdrivein.com/2010/09/6-useful-nautilus-extensions-and.html

b-ak
sumber
"Buka sebagai administrator" masih meminta kata sandi.
con-f-use
1
Ya itu .. :)
b-ak