小编Ste*_*ler的帖子

每个用户的 SSH MOTD

我想为 SSH 用户显示横幅(欢迎消息),并为每个用户显示一条特定的欢迎消息。

linux ssh banner motd

17
推荐指数
2
解决办法
2万
查看次数

阻止 Apache 将重复的日志条目写入 access_log

我有以下几行与登录我的 Apache vhost 文件有关

SetEnvIf Request_URI "^/server-status$" dontlog
SetEnvIf Request_URI "^/haproxy-status$" dontlog
SetEnvIf Request_Method "OPTIONS" dontlog
CustomLog /var/log/apache2/access_log combined env=!dontlog
#ErrorLog  /var/log/apache2/error_log

#Remote logging -- handle by syslog
ErrorLog "|logger -p local3.info -t httperror"
CustomLog "|logger -p local3.info -t http" combined env=!dontlog

LogLevel warn
Run Code Online (Sandbox Code Playgroud)

我真的不想弄乱我无法正确获取日志的地方,但我也不希望每个条目都看到重复的行。目前,如果我提出一个请求,我会看到一行 Apache,然后我认为是 haproxy 将它转发到我的应用程序的一行,类似于:

aa.bbb.ccc.dd - - [05/Oct/2010:02:29:51 +0000] "GET /the_url HTTP/1.1" 200 4 "-" "-"
eee.fff.gg.hh - - [05/Oct/2010:02:29:51 +0000] "GET /the_url HTTP/1.1" 200 4 "-" "-"
aa.bbb.ccc.dd - - [05/Oct/2010:02:31:03 +0000] "GET /another_url HTTP/1.1" …
Run Code Online (Sandbox Code Playgroud)

logging apache-2.2

5
推荐指数
1
解决办法
5646
查看次数

Tomcat 9 下的应用程序日志记录中断:/var/log/myapp 的权限被拒绝

我有一个 Java webapp,它在 Ubuntu Linux 上的 Apache Tomcat 下运行。当我从 Tomcat 8 升级到 Tomcat 9 时,应用程序无法再将日志文件写入/var/log/myapp. 我不明白为什么它没有权限登录到这个位置。

我的第一个想法是用户改变了。Tomcat 8 在tomcat8:tomcat8用户下运行。Tomcat 9 在tomcat:tomcat用户下运行。我用这些权限更新了目录。无论是tomcat用户和tomcat组具有写权限。

我还检查了该目录的写入和执行权限。该目录具有写入和执行权限,所有父目录都具有执行权限。

/var/log/myapp/ drwxrwxr-x  tomcat tomcat
/var/log        drwxrwxr-x  root syslog 
/var            drwxr-xr-x  root root            
/               drwxr-xr-x  root root
Run Code Online (Sandbox Code Playgroud)

如果我在我的 Web 应用程序下运行以下代码

    File logdir =  new File("/var/log/myapp");
    setAttribute("debug", 
        "<br>user: " + System.getProperty("user.name") +
        "<br>execute: " + logdir.canExecute() +
        "<br>read: " + logdir.canRead() +
        "<br>write: " + logdir.canWrite()
    );
Run Code Online (Sandbox Code Playgroud)

它打印出没有写权限

user: tomcat …
Run Code Online (Sandbox Code Playgroud)

permissions log-files logging file-permissions tomcat9

3
推荐指数
1
解决办法
4403
查看次数

没有协议处理程序对 URL /(方案“ws”)有效

尝试使用 apache2 设置 websocket 代理,出现以下错误:

没有协议处理程序对 URL /(方案“ws”)有效。如果您使用的是 mod_proxy 的 DSO 版本,请确保使用 LoadModule 将代理子模块包含在配置中

apache服务器的wstunnel模块已加载。以下是结果apache2ctl -M

Loaded Modules:
core_module (static)
so_module (static)
watchdog_module (static)
http_module (static)
log_config_module (static)
logio_module (static)
version_module (static)
unixd_module (static)
access_compat_module (shared)
alias_module (shared)
auth_basic_module (shared)
authn_core_module (shared)
authn_file_module (shared)
authz_core_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
filter_module (shared)
headers_module (shared)
mime_module (shared)
mpm_prefork_module (shared)
negotiation_module (shared)
php7_module (shared)
proxy_module (shared)
proxy_connect_module (shared)
proxy_fcgi_module (shared)
proxy_html_module (shared)
proxy_http_module …
Run Code Online (Sandbox Code Playgroud)

reverse-proxy mod-proxy apache-2.4 websocket

3
推荐指数
1
解决办法
7876
查看次数

如何在 Linux 中获取固定的 USB 设备名称

我有一个关于 USB 设备处理的相对简短的问题:如何将 USB 设备映射到固定设备。

我知道有一些方法可以使用 udev 规则,但我想要完整的说明,展示如何使用它以及使用哪些工具(如果有的话)。因此,请告诉我如何将以下 USB 驱动器映射到固定设备。

1 个 USB 硬盘

Bus 002 Device 003: ID 1058:1110 Western Digital Technologies, Inc.
Run Code Online (Sandbox Code Playgroud)

应该去:

/dev/sdc
Run Code Online (Sandbox Code Playgroud)

1 个 U 盘

Bus 001 Device 005: ID 1b1c:1ab1 <- 未知供应商,实际上是它的 CORSAIR VOYAGER

应该去:

/dev/sdd
Run Code Online (Sandbox Code Playgroud)

linux debian usb-flash-drive usb

0
推荐指数
1
解决办法
1383
查看次数