Làm cách nào tôi có thể thêm tập lệnh vào nautilus để chạy tệp đã chọn với tư cách quản trị viên?


8

Làm cách nào tôi có thể thêm tập lệnh vào nautilus để chạy tệp đã chọn với tư cách quản trị viên (không mở với tư cách quản trị viên)? Và nếu có thể, tôi muốn chạy tệp này với tư cách quản trị viên mà không cần nhập mật khẩu.

Câu trả lời:


7

Thông tin về việc sử dụng sudo hoặc gksudo trên các tập lệnh không có mật khẩu

Bạn cần làm như sau, trên loại thiết bị đầu cuối sudo visudovà thêm một dòng như thế này vào cuối tệp chỉ định các lệnh bạn muốn chạy mà không cần nhập mật khẩu sudo:

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

Bây giờ bạn có thể chạy các lệnh được chỉ định mà không cần mật khẩu miễn là bạn gõ lệnh đó với sudo.

tức là: cho phép bạn muốn chạy shutdown -r nowmà không cần phải nhập mật khẩu sudo mọi lúc và tên người dùng của bạn là 'joedoe'

  1. sudo visudotrên một thiết bị đầu cuối

  2. Thêm joedoe hostname=NOPASSWD: shutdown -r nowdưới dạng một dòng mới ở cuối tập tin

  3. trên tập lệnh của bạn, sau đó bạn có thể sử dụng sudo shutdown -r nowmà không cần phải nhập mật khẩu sudo.

Để tạo tập lệnh, hãy sử dụng trình soạn thảo yêu thích của bạn để tạo một <nameofyourscript>.shnội dung:

#! /bin/bash

sudo <commandsyouwanttorun1>
<commandsyouwanttorun2>
sudo<commandsyouwanttorun3>

Sử dụng sudo để gọi các lệnh cần nó, nó sẽ không yêu cầu mật khẩu miễn là bạn đã thêm nó vào NOPASSWD: <commmand1>, <command2>, etcdòng trong visudo.

Sau đó, bạn cần phải thực hiện nó với : sudo chmod 755 <nameofyourscript>.sh.

Bây giờ bạn có thể chạy tập lệnh của mình bằng cách sử dụng sh <nameofyourscript>.shtrên một thiết bị đầu cuối, bằng cách nhấp đúp vào tập lệnh và chọn runvào hộp thoại hoặc đặt chúng vào tập lệnh của bạn ~/.gnome2/nautilus-scripts/sau đó sẽ có sẵn trên scriptsmenu của bạn khi bạn nhấp chuột phải vào nautilus:

nhập mô tả hình ảnh ở đây

Tạo một nhấp chuột phải "Mở với tư cách quản trị viên" mà không cần mật khẩu

Để tạo tập lệnh mở tệp bằng quyền quản trị viên bằng cách nhấp chuột phải vào tệp và làm cho nó để không yêu cầu mật khẩu, hãy tạo một tập lệnh với thông tin sau:

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

Lưu nó trên của bạn ~/.gnome2/nautilus-scripts/, làm cho nó thực thi được sudo chmod 755 ~/.gnome2/nautilus-scripts/<nameofyourscript>.sh, sử dụng sudo visudothêm dòng <yourusername> ALL=NOPASSWD: /usr/bin/gnome-openvà lưu tệp.

Bạn sẽ có thể nhấp chuột phải vào một tệp, di chuyển đến thư mục tập lệnh của bạn và chọn tập lệnh bạn vừa tạo để mở tệp đó bằng cách sử dụng hoán vị gốc. gnome-opensẽ xử lý loại tập tin tốt nhất có thể.

nhấp vào tập lệnh openasadmin của bạn

làm xong!


Cảm ơn về câu trả lời! Nhưng có một sự hiểu lầm nhỏ: Điều tôi cần là "chạy với tư cách quản trị viên" chứ không phải "mở với tư cách quản trị viên", vì vậy tôi đã chuyển dòng "gksudo "gnome-open $file" &"đến"gksudo "gnome-terminal -x $file" &"
Olcay Ertaş

Chắc chắn, "chương đầu tiên" sẽ cung cấp cho bạn đủ thông tin để làm bất cứ điều gì bạn muốn;) rất vui vì nó đã giúp!
Bruno Pereira

1

Các tập lệnh Nautilus thường được đặt vào $HOME/.gnome2/nautilus-scripts/và cần được thực thi. Điều đó đang được nói, kịch bản theo dõi nên làm, những gì bạn muốn:

#!/bin/bash

IFS='
'

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

Bạn có thể truy cập tập lệnh đó từ nautilus bằng cách nhấp chuột phải vào tệp, di chuột qua menu tập lệnh và sau đó nhấp vào tên tệp của tập lệnh $HOME/.gonme2/nautilus-scritps/. Bạn vẫn phải nhập mật khẩu của bạn mặc dù.

Không có cách nào an toàn bạn có thể làm điều này với các tệp tùy ý mà không cần nhập mật khẩu của bạn. Đối với các lệnh đặc biệt, quy trình được mô tả trong bài đăng của brunopereira81 tại đây và sử dụng sudo nhưng tùy thuộc vào các lệnh sẽ dẫn đến một hệ thống dễ bị tấn công. Nếu bạn không quan tâm (và tôi thực sự khuyên bạn nên chống lại điều này), bạn có thể đặt ALLcác lệnh để sử dụng NOPASSWDvà thay thế gksudochỉ bằng sudo.


Tại sao bạn vĩnh viễn chmod các tập tin?
Michał Šrajer

bởi vì đó là cách nhanh chóng: D
con-f-use

1

Bạn có thể sử dụng phần mở rộng Nautilus này. Nautilus-gksu Cài đặt nautilus-gksu .

sudo apt-get install nautilus-gksu

Cài đặt nó thêm mục 'Mở với tư cách quản trị viên trong menu nhấp chuột phải của bạn.

nhập mô tả hình ảnh ở đây

Khi bạn cần mở bất kỳ tệp nào có quyền root, bạn chỉ cần nhấp chuột phải vào tệp, chọn 'Mở với tư cách Quản trị viên', đơn giản như vậy.

Để biết thêm các tiện ích mở rộng thú vị, hãy truy cập: http://www.techdrivein.com/2010/09/6-usiously-nautilus-extensions-and.html


"Mở với tư cách quản trị viên" vẫn yêu cầu nhập mật khẩu.
con-f-sử dụng

1
Ya nó làm .. :)
b-ak
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.