Существует половина истины к предыдущим операторам. Можно установить сценарий так, чтобы это не было читаемо пользователем, но все еще исполняемо. Процесс немного вытянут, но это выполнимо путем создания исключения в/etc/sudoer так, чтобы пользователь мог запустить скрипт как самостоятельно временно, не будучи предложенным пароль. Пример ниже:
Некоторый сценарий я хочу совместно использовать с пользователем:
me@OB1:~/Desktop/script/$ chmod 700 somescript.pl
me@OB1:~/Desktop/script/$ ls -l somescript.pl
-rwx------ 1 me me 4519 May 16 10:25 somescript.pl
Сделайте сценарий оболочки, который называет 'somescript.pl', и сохраните его в/bin/:
me@OB1:/bin$ sudo cat somescript.sh
[sudo] password for me:
#!/bin/bash
sudo -u me /home/me/Desktop/script/somescript.pl $@
ДОПОЛНИТЕЛЬНЫЙ ШАГ Делает символьную ссылку на somescript.sh в/bin/:
sudo ln -s /bin/somescript.sh /bin/somescript
Удостоверьтесь, что сценарий оболочки читаем/исполняем пользователю (никакой доступ для записи):
sudo chmod 755 /bin/somescript.sh
me@OB1:/bin$ ls -l somescript*
lrwxrwxrwx 1 root root 14 May 28 16:11 somescript -> /bin/somescript.sh
-rwxr-xr-x 1 root root 184 May 28 18:45 somescript.sh
Сделайте исключение в/etc/sudoer путем добавления этих строк:
# User alias specification
User_Alias SCRIPTUSER = me, someusername, anotheruser
# Run script as the user 'me' without asking for password
SCRIPTUSER ALL = (me) NOPASSWD: /home/me/Desktop/script/somescript.pl
ДОКАЗАТЕЛЬСТВО В ПУДИНГЕ:
someuser@OB1:~$ somescript
***You can run me, but can't see my private parts!***
someuser@OB1:~$ cat /home/me/Desktop/script/somescript.pl
cat: /home/me/Desktop/script/somescript.pl: Permission denied
Этот метод должен быть лучше, чем попытка запутать с Filter::Crypto
или PAR::Filter::Crypto
или Acme::Bleach
который может быть инвертирован спроектированный решительным пользователем. То же идет для компиляции Вашего сценария к двоичному файлу. Сообщите мне, находите ли Вы что-то не так с этим методом. Для большего количества опытных пользователей можно хотеть удалить раздел User_Alias полностью и заменить SCRIPTUSER '%groupname'. Таким образом, можно управлять пользователями сценария с usermod
команда.
Первое большое спасибо USER1794469 для его помощи
После некоторых манипуляций с настройками сети VirtualBox я нашел решение моей проблеме, поэтому вот настроек, которые я использовал и работал нормально для меня
, я выбрал режим моста и в Следующая строка, вместо того, чтобы иметь Wi-Fi Intel (R) 5100Agn, я выбрал Broadcom Netlink ... Ведь я думаю, что IMG лучше, так что вот скриншот
Я знаю, что интерфейс находится на французском бути, думаю, что все ясно Отказ
Теперь, надеюсь, это будет работать для других ...
Вы разместили три проблемы.
$ ping www.google.com
ping: unkown host google.com
Ваши DNS-серверы не доступны (или вероятно, не устанавливаются вообще).
$ ping 8.8.8.8
connect: network is unreachable
У вас, скорее всего, у вас нет набора шлюза по умолчанию, поэтому ваша система не знает, как настроить трафик.
$ cat /etc/network/interfaces
cat: /etc/network/interfaces: Permission denied
Вам необходимо поднять свой пользователь, чтобы управлять некоторыми файлами (например, интерфейсы).
Вам нужно найти ряд вещей. Сначала проверьте, есть ли у вас IP-адрес вообще:
sudo ifconfig -a
Вы, скорее всего, увидите eth0
без ADDR :
. Если это так, вы можете решить свои проблемы с одной командой:
sudo dhclient eth0
Если нет, мы можем продолжать пытаться.
С DHClient
не решил проблему, вы должны убедиться, что ваша виртуальная виртуальная машина настроена правильно. Каковы настройки сети на VirtualBox?
и что такое выход sudo ifconfig -a
?
Вы можете попробовать sudo dhclient wlan0
. Если это не работает. Опубликуйте результаты:
sudo cat /etc/network/interfaces
и
route -n
Мы можем вернуться назад и пытаться беспокоить съемку мостическую сеть, но позволяет попробовать первую работу виртуальной машины (поскольку модный режим добавляет некоторые другие варианты для того, почему он не работает). В VirtualBox установите сеть на NAT и «перезагрузить» VM. В интерфейсе ETH0 получит IP?
Я довольно удивлен, что вы не получите адрес после перезагрузки виртуальной машины, когда VirtualBox устанавливается в режиме NAT ... Вы можете попытаться получить какие-либо сети:
Хост-машина, получите свой IP. Это, вероятно, адрес 192.168.x.x. Также проверьте маску подсети (вероятно, перечислено как / 24 или 255.255.255,0, но это может быть что-то еще). В Windows вы можете сделать это из CMD с:
ipconfig/all
Теперь вы должны иметь адрес и подсеть, скажем, Windows сообщает ваш IP AS 192.168.0.2 с маской 255.255.255.0. Вручную поместите VM в ту же сеть и посмотрите, сможете ли вы пинг в обоих способах. В VM:
sudo ifconfig eth0 192.168.0.3/24
подтверждают, что вы можете увидеть ваш новый адрес с:
sudo ifconfig eth0
Теперь из VM вы сможете пинговать хост:
ping 192.168.0.2
и от хоста, который вы сможете пинговать VM:
ping 192.168.0.3
Решил эту проблему для себя на моем Macbook с Kali Linux. Вернитесь в настройки сети в виртуальном окне, убедитесь, что там написано «Nat», а ниже нажмите «Дополнительные настройки». Убедитесь, что выбран «кабель подключен», и запустите Kali Linux! Бам, у вас есть Интернет.
Я столкнулся с аналогичными проблемами с той же конфигурацией Virtualbox с Kali Linux (2016.2). Интернет-соединение работало нормально в течение месяца и после того, как оно прекратилось ..
Я dhclient
показал, что "smbd.service неактивен" после перезапуска службы smbd все снова в порядке.