在unix服务器上运行一个内置的python库http.server时,如何在日志中获取客户端的用户名或ID而不是IP地址?

6kkfgxo0  于 2023-02-22  发布在  Unix
关注(0)|答案(1)|浏览(154)

我使用下面的命令创建一个简单的http服务器,这样最终用户就可以直接使用URL下载unix服务器上的文件。但是这有点危险,我需要实现一个用户限制过程,这样安全性就不会受到影响。
python -u -m http.server 8000 &> log_file & echo $! > pid_file
我的计划是捕获日志中的用户ID/用户名,然后使用逻辑禁止这些用户访问Web服务器会话。但是我在捕获用户ID/用户名时遇到了麻烦。有没有办法实现这个目标?或者有人有没有其他方法来实现最终目标?
目录日志文件10.166.00.000 - - [16/Feb/2023 03:54:14] "Get / HTTPS/1.1" 200 - 10.166.22.000 - - [16/Feb/2023 03:54:14] "Get /Folder HTTPS/1.1" 200 -
预期输出~可能类似于此,或者只要它捕获用户名
10.166.00.000 - username1 - [16/Feb/2023 03:54:14] "Get / HTTPS/1.1" 200 - 10.166.22.000 - username2 - [16/Feb/2023 03:54:14] "Get /Folder HTTPS/1.1" 200 -

cotxawn7

cotxawn71#

你可以考虑看看

/etc/security/access.conf

以定义远程访问的权限。

示例(按键主机):

### Permit root login from local    
+:root:LOCAL localhost myHostName
#
###     Permit designated users to access from local
+:myUserName:LOCAL localhost myHostName
#
###     Permit all local services/users to access from local
#+:ALL:LOCAL localhost myHostName
+:ALL:LOCAL ALL
#
### Deny access to all from any remote
-:ALL:ALL

示例(允许远程访问):

+:用户20:全部全部+:用户30:全部全部+:(组名称):全部全部
此外,您还应查看:

/etc/ssh/ssh_config

样品设置:

#####################################

###     Group 1 - Restrictive
    PermitRootLogin no                          ## OasisAdmin
    ForwardAgent no                             ## OasisAdmin
    ForwardX11 no                               ## OasisAdmin
    ForwardX11Trusted no                        ## OasisAdmin
    DenyUsers root                              ## OasisAdmin
    DenyGroups root                             ## OasisAdmin

###     Group 2 - Permissive
    AllowUsers nonexistent                      ## OasisAdmin
    AllowGroups nonexistent                     ## OasisAdmin

###     Deploy any modifications using:  systemctl restart sshd

相关问题