Я использую, чтобы иметь эту проблему с серверами, которые я администрировал. Пропустите проводник в целом и используйте командную строку. Перейдите к папке и "del".
Таким образом, Вы избегаете издержек GUI (проводник является мусором), и Корзина.
Для получения по запросу эффективного uid используют эту команду:
id -u
Если результат ‘0’ затем, сценарий или работает как корень или использует sudo. Можно осуществить проверку путем выполнения чего-то как:
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
echo "Not running as root"
exit
fi
Какова Ваша цель здесь, чтобы сообщить пользователю, что они должны запустить скрипт как корень или как некоторая предосторожность безопасности?
Если Вы просто хотите сообщить пользователю, чем любое из uid предложений прекрасно, но они так же полезны как шины на лошади как предосторожность безопасности - нет ничего, чтобы мешать пользователю копировать сценарий, вынимая если оператор и выполнение ее так или иначе.
Если это - проблема безопасности затем, сценарий должен быть установлен на 700, принадлежать root:root, так, чтобы это не было читаемо или исполняемо любым другим пользователем.
Переменная bash $ EUID
показывает эффективный UID, под которым выполняется сценарий. Если вы хотите убедиться, что сценарий запускается от имени пользователя root, проверьте $ EUID
содержит значение 0 или нет:
if [ $EUID -ne 0 ]; then
echo "$0 is not running as root. Aborting."
exit 2
fi
Это лучше, чем решение с / usr / bin / id
(для сценариев bash!), Потому что оно не требует внешней команды.
Один простой способ сделать скрипт доступным только для root - это запустить скрипт со строки:
#! / Bin / su root
"#! / bin / su root" cho phép người dùng ở chế độ siêu người dùng chạy script mà không cần sử dụng mật khẩu gốc. Nếu bạn muốn người dùng cấp cao chạy tập lệnh với kết quả của tập lệnh gốc, thì điều này sẽ làm được điều đó.