Я не друг SELinux, так что это просто дикая догадка: Измените /etc/services таким образом, чтобы запись 23/tcp имела значение 22/tcp?
-121--92113-Брэтчли оказался на правильном пути. Действительно, «semanage» может изменять (изменять) уже определенные порты.
Вот путь, который работал для себя:
[root@host ~]# semanage port -l |grep ssh
ssh_port_t tcp 22
[root@host ~]# semanage port -m -t ssh_port_t -p tcp 23
[root@host ~]# semanage port -l |grep ssh
ssh_port_t tcp 23, 22
Отсюда можно изменить SSHD для прослушивания/использования 23 портов в/ etc/ssh/sshd_config, перезапустить службу «sshd» и настроить брандмауэр по мере необходимости.
-121--92112-allExist(){
while IFS= read -r f; do
test -e "$f" || return 1
done
}
make_list_of_files | allExist
Это должно работать во всех корпусах POSIX.
В итоге я поместил сценарий nohup в отдельный сценарий bash.
/usr/local/bin/axttystart
#!/bin/sh
## Intermediate bashscript in order to sudo nohup properly
/usr/bin/nohup /etc/init.d/axtty start >/dev/null 2>&1
Затем строка sudo'ers, содержащая Cmnd_alias
для AXTOOLTTYSTART
, была изменена на
Cmnd_Alias AXTOOLTTYSTART = /usr/local/bin/axttystart
Обновленный скрипт axopen вместо sudo для строки nohup будет использовать sudo скрипт axttystart
#!/bin/sh
[...]
echo "Starting axtty service.."
$SUDO /usr/local/bin/axttystart
sleep 4
$SUDO /etc/init.d/axtty status
Вы не хотите, чтобы перенаправления были частью правила sudo. /etc/sudoers содержит исполняемую программу, а перенаправления происходят отдельно (на содержащем уровне оболочки )от команды sudo:
(shell) sudo /usr/bin/nohup /etc/init.d/axtty start >/dev/null 2>&1
Это вызывает sudo и перенаправляет вывод; судо видит:
(sudo) /usr/bin/nohup /etc/init.d/axtty start
Изменить эту строку sudoers:
Cmnd_Alias AXTOOLTTYSTART = /usr/bin/nohup /etc/init.d/axtty start >/dev/null 2>&1
-:
Cmnd_Alias AXTOOLTTYSTART = /usr/bin/nohup /etc/init.d/axtty start