我在 debian 7.2 和 sysVinit 上使用 socat 和以下 init 脚本。它完美地工作:
#!/bin/bash
DESC=socat
DAEMON=/usr/bin/socat
LIB=/usr/lib/socat
SOCAT_ARGS="-d -d -lf /var/log/socat.log"
[ ! -f /etc/default/socat.conf ] || . /etc/default/socat.conf
. /lib/lsb/init-functions
PATH=/bin:/usr/bin:/sbin:/usr/sbin
[ -x $DAEMON ] || exit 0
#
# Try to increase the # of filedescriptors we can open.
#
maxfds () {
[ -n "$SOCAT_MAXFD" ] || return
[ -f /proc/sys/fs/file-max ] || return 0
[ $SOCAT_MAXFD -le 4096 ] || SQUID_MAXFD=4096
global_file_max=`cat /proc/sys/fs/file-max`
minimal_file_max=$(($SOCAT_MAXFD + 4096))
if [ "$global_file_max" …Run Code Online (Sandbox Code Playgroud) 我使用的是 Debian 7,不小心删除了/dev/tty,所以我不能sudo su再删除了。我仍然可以使用我的用户名进行 ssh,但是当我想获得 root 权限时,sudo su我会收到以下消息:
sudo: no tty present and no askpass program specified
Run Code Online (Sandbox Code Playgroud)
正如我在 SO /sf/answers/1821486341/上的相关帖子的答案所说,我可以/dev/tty手动创建
mknod /dev/tty c major 0
Run Code Online (Sandbox Code Playgroud)
但我必须找出专业。你知道 Debian 7 上的数字是多少吗?