Это на самом деле sudo !!
, который состоит из команды sudo
, с которым Вы, вероятно, знакомы, и указатель события, !!
, который относится к последней вводимой команде. Можно найти больше в bash
страница справочника, под Event Designators
раздел.
Event Designators
An event designator is a reference to a command line entry in the his‐
tory list. Unless the reference is absolute, events are relative to
the current position in the history list.
! Start a history substitution, except when followed by a blank,
newline, carriage return, = or ( (when the extglob shell option
is enabled using the shopt builtin).
!n Refer to command line n.
!-n Refer to the current command minus n.
!! Refer to the previous command. This is a synonym for `!-1'.
!string
Refer to the most recent command preceding the current position
in the history list starting with string.
!?string[?]
Refer to the most recent command preceding the current postition
in the history list containing string. The trailing ? may be
omitted if string is followed immediately by a newline.
^string1^string2^
Quick substitution. Repeat the previous command, replacing
string1 with string2. Equivalent to ``!!:s/string1/string2/''
(see Modifiers below).
!# The entire command line typed so far.
Взятие вывода от netstat
команда, что похоже на большое количество сервисов, является на самом деле очень коротким списком:
$ netstat -lntup | awk '{print $6 $7}'|sed 's/LISTEN//'| cut -d"/" -f2|sort|uniq|grep -v Foreign
avahi-daemon:r
dhclient
dropbox
nmbd
rpcbind
rpc.statd
smbd
sshd
При рассмотрении этого списка существует несколько сервисов, которые я оставил бы в покое.
Можно, вероятно, сразу отключить Samba, он составляет 2 из вышеупомянутых сервисов, nmbd
и smbd
. Сомнительно, что Вам действительно была бы нужна та работа ноутбука ли на localhost или Вашем IP, стоящем перед Вашей сетью.
Чтобы проверить, что они работают, можно использовать следующую команду, status
:
$ status nmbd
nmbd start/running, process 19457
$ status smbd
smbd start/running, process 19423
Выключение сервисов может сбивать с толку со всем потоком, это происходило с выскочкой,/etc/rc.d, бизнес, таким образом, могло бы быть трудно выяснить, которым сервис находится под который технология. Для Samba можно использовать service
команда:
$ sudo service nmbd stop
nmbd stop/waiting
$ sudo service smbd stop
smbd stop/waiting
Теперь они прочь:
$ status nmbd
nmbd stop/waiting
$ status smbd
smbd stop/waiting
Чтобы заставить их остаться неизменным, я использовал этот инструмент, sysv-rc-conf
, для управления сервисами от консоли это работает лучше, чем большинство. Это позволяет Вам проверять, какие сервисы Вы хотите выполнить и в котором runlevel они должны быть запущены/остановлены:
$ sudo apt-get install sysv-rc-conf
Таким образом, теперь Samba прочь нас оставляют со следующим:
Для оставления 3 можно сделать то же самое, которое мы сделали, чтобы Samba выключил их также.
Для выключения CUPS, в котором Вы действительно не нуждаетесь между прочим, можно следовать за тем же танцем выключения сервиса и затем отключения его от запуска. Чтобы смочь распечатать, необходимо будет установить каждый принтер индивидуально в системе. Можно сделать так через system-config-printer
GUI.
Это - действительно основа Вашего вопроса, но нет действительно решения для серебряной пули создания этих сервисов, "умных" так, чтобы они работали, когда они используются, а не все время.
1. - systemd по сравнению с выскочкойЧасть его является текущим разделением между systemd и выскочкой. Существует хороший обзор 2 конкурирующих технологий здесь.
Обе технологии пытаются сделать немного отличающиеся вещи, IMO, учитывая их наборы функций, systemd кажется приспособленным больше к серверам, тогда как выскочка кажется приспособленной больше к настольному списку. Со временем это будет разрешаться, IMO, и оба сервиса будут стабильны и многофункциональны.
В конечном счете оба сервиса предложат по требованию запуск и остановку через управление по всем сервисам, которыми они справляются. Функции такой как StopWhenUnneeded=yes
уже существуйте в systemd
например, таким образом, это - только вопрос времени, пока эти возможности не изложены в деталях.
Некоторые сервисы не поддерживают быть, остановился/запустил очень хорошо если вообще. Сервисы такой как sshd
кажется, имею мало смысла работать как по запросу, особенно если они используются в большой степени. Также некоторые сервисы, такие как Apache обеспечивают механизмы в себе для вращения более или менее их собственных слушателей, управляющих собой. Таким образом, это неясно как по запросу обеспеченный systemd
или upstart
движение должно интегрироваться с этими типами сервисов.
Вы получите известие от обеих сторон, что это - излишество или что необходимо проявить подход минималиста, только устанавливающий, в чем Вы абсолютно нуждаетесь, но это - действительно личный выбор. Понимание, что эти сервисы там и что они делают, действительно, что важно. В конце дня компьютер является инструментом, и при помощи системы Unix Вы уже говорите, что Вы готовы посмотреть позади занавеса и понять то, что заставляет Ваш компьютер отсчитать.
Я сказал бы, что этот тип опроса является точно настроением, за которое нужно бороться при контакте с компьютерами и Unix в целом.
127.0.0.1 не "внешний мир", он озирается в доме.
Проверьте свою конфигурацию брандмауэра (iptables в Linux сегодня), большинство из них не должно быть доступным от озида.
Не выполняйте сервисы, в которых Вы не нуждаетесь. Удалите все не требуемое программное обеспечение.
Пароли изменения, чтобы быть более сильным. Проверьте свое использование системы, не идите, преследуя любой интересный веб-сайт наугад. Проверьте anti-phising браузера, антисценарии, и т.д. конфигурацию. Пересмотрите Вас использование SSH и su/sudo.
Но больше всего, чрезмерная паранойя контрпродуктивна. Не становитесь захваченными блеском технологии.
В то время как можно 'закрыть' отдельные сервисы - возможно, может просто быть легче установить брандмауэр. Почти весь общий дистрибутив (Ubuntu, Debian, Centos, и т.д.) имеет поддержку встроенного iptables.
Простое, установленное на правило начать: (можно просто ввести их в командной строке; для создания их постоянными добавляют их к сценариям запуска или говорят нам, какой дистрибутив Вы используете. На Centos, например: системным брандмауэром конфигурации является хороший UI для конфигурирования iptables правила),
iptables -A INPUT -p tcp --dport ssh -j ACCEPT
iptables -A INPUT -j DROP
В основном - позволяют ssh входящий; отбросьте все остальное.
Ваша ВХОДНАЯ цепочка теперь похожа на это:
Затем позднее скажите, что Вы хотите позволить 'самбу' (совместный доступ к файлам окон): Вы могли работать
iptables -I INPUT-p tcp --dport 465 -j ACCEPT
-I
предварительно ожидает и правило к списку; -A
добавляет правило. Таким образом, Ваша цепочка теперь похожа на это:
INPUT
цепочка относится к пакетам, предназначенным для Вашей системы. Другие цепочки OUTPUT
для пакетов от Вашего компьютера, идя в Интернет и FORWARD
для пакетов, которые направляются с помощью Вашего компьютера (который является пакетами, которые 'передают транзитом' Ваш компьютер, как транзитная область аэропорта - материал, который не является INPUT
потому что это не входит в Ваш компьютер).
Как отделяющееся примечание: nmap'ing 127.0.0.1 не очень полезен; много сервисов доступно только от 127.0.0.1 и никакой другой адрес. Если у Вас нет другой машины, можно работать, nmap от - пытаются израсходовать Щиты' Исследования Gibson! (https://www.grc.com/shieldsup) - который является свободным, онлайн nmap-облегченным. Или добавьте комментарий со своим IP/электронной почтой, и я буду nmap Вы :)