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.
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:
Bạn cần làm như sau, trên loại thiết bị đầu cuối sudo visudo
và 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 now
mà 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'
gõ sudo visudo
trên một thiết bị đầu cuối
Thêm joedoe hostname=NOPASSWD: shutdown -r now
dưới dạng một dòng mới ở cuối tập tin
trên tập lệnh của bạn, sau đó bạn có thể sử dụng sudo shutdown -r now
mà 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>.sh
nộ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>, etc
dò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>.sh
trê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 run
và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 scripts
menu của bạn khi bạn nhấp chuột phải vào nautilus:
Để 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 visudo
thêm dòng <yourusername> ALL=NOPASSWD: /usr/bin/gnome-open
và 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-open
sẽ xử lý loại tập tin tốt nhất có thể.
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 ALL
các lệnh để sử dụng NOPASSWD
và thay thế gksudo
chỉ bằng sudo
.
Bạn có thể sử dụng phần mở rộng Nautilus này. 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.
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
"gksudo "gnome-open $file" &"
đến"gksudo "gnome-terminal -x $file" &"