LINUX.ORG.RU

Решил задачу через pid файл. Но вопрос в силе если есть возможность

webmak ★★
() автор топика

Не из под рута в общем случае никак. Т.к. в /proc/$pid/ без прав рута можно просмотреть открытые файлы/дескрипторы процесса только если он запущен под твоим юзером

Deleted
()

Информация о портах берётся из /proc/net/tcp, а потом поиском сокета по inode number по всем процессам в /proc/$pid/fd. Тот же netstat должен увидеть этот порт, если запускать его от того же пользователя, что и процесс, который тебе нужен. Или с правами рута, чтобы прочитать процессы других пользователей. Возможно, будет достаточно только CAP_DAC_READ_SEARCH, но это всё равно нужны права рута.

ilammy ★★★
()
Ответ на: комментарий от webmak

Тогда ты что-то делаешь не так

test@waterfall2 ~ $ nc -vlp 9999 & sleep 1
[1] 10041
nc: listening on :: 9999 ...
nc: listening on 0.0.0.0 9999 ...
test@waterfall2 ~ $ lsof -i :9999
COMMAND   PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
nc      10041 test    3u  IPv6 852384      0t0  TCP *:9999 (LISTEN)
nc      10041 test    4u  IPv4 852385      0t0  TCP *:9999 (LISTEN)
test@waterfall2 ~ $ whoami
test
test@waterfall2 ~ $ id
uid=997(test) gid=980(test) groups=980(test)
test@waterfall2 ~ $

Ты точно запускаешь lsof под тем же юзером, что и слушающий процесс?

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от Deleted

у меня ни на ubuntu 16 ни на debian 8 не работает

parser@noname:~/data/parser/app$ tor --RunAsDaemon 1 --CookieAuthentication 0 --HashedControlPassword "" --ControlPort 7772 --PidFile wmparser.tor7772.pid --SocksPort 7771 --DataDirectory /home/parser/data/parser/app/run/
Nov 16 08:54:09.991 [notice] Tor 0.2.9.11 (git-aa8950022562be76) running on Linux with Libevent 2.0.21-stable, OpenSSL 1.0.2g and Zlib 1.2.8.
Nov 16 08:54:09.991 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
Nov 16 08:54:09.991 [notice] Read configuration file "/etc/tor/torrc".
Nov 16 08:54:09.994 [warn] Linelist option '__HashedControlSessionPassword' has no value. Skipping.
Nov 16 08:54:09.995 [warn] Path for PidFile (wmparser.tor7772.pid) is relative and will resolve to /home/parser/data/parser/app/wmparser.tor7772.pid. Is this what you wanted?
Nov 16 08:54:09.995 [warn] ControlPort is open, but no authentication method has been configured.  This means that any program on your computer can reconfigure your Tor.  That's bad!  You should upgrade your Tor controller as soon as possible.
Nov 16 08:54:09.997 [notice] Opening Socks listener on 127.0.0.1:7771
Nov 16 08:54:09.997 [notice] Opening Control listener on 127.0.0.1:7772
parser@noname:~/data/parser/app$ lsof -i :7771
parser@noname:~/data/parser/app$ 

webmak ★★
() автор топика
Ответ на: комментарий от webmak

Сделал чрут с jessie, там все ок

test@waterfall2:~$ nc -vlp 9999 & sleep 1
[1] 17577
listening on [any] 9999 ...
test@waterfall2:~$ lsof -i :9999
COMMAND   PID USER   FD   TYPE  DEVICE SIZE/OFF NODE NAME
nc      17577 test    3u  IPv4 1143967      0t0  TCP *:9999 (LISTEN)
test@waterfall2:~$ id
uid=999(test) gid=999(test) groups=999(test)
test@waterfall2:~$ cat /etc/debian_version 
8.9
test@waterfall2:~$

Посмотри в выводе ps, под каким пользователем запущен твой тор

Deleted
()
Ответ на: комментарий от Deleted

У тебя работает, потому что все твои процессы запущены под твоим же юзером. А если порт слушает демон другого юзера, то получишь болт :)

joy4eg ★★★★★
()
Ответ на: комментарий от joy4eg

Я об этом уже несколько постов твержу, так-то.

Deleted
()
Ответ на: комментарий от Deleted

Я проверял - под тем же

parser@noname:~$ ps -p 2865
  PID TTY          TIME CMD
 2865 ?        00:00:18 tor
parser@noname:~$ ps -l 2865
F S   UID   PID  PPID  C PRI  NI ADDR SZ WCHAN  TTY        TIME CMD
0 S  1001  2865     1  0  80   0 - 18045 -      ?          0:18 tor --RunAsDaemon 0 --CookieAuthentication 0 --HashedControlPassword  --ControlPort 7772 --Pid
parser@noname:~$ grep 1001 /etc/passwd | cut -f1 -d:
parser
parser@noname:~$ lsof -i :7771
parser@noname:~$ lsof -i :7772
parser@noname:~$ 

webmak ★★
() автор топика
Последнее исправление: webmak (всего исправлений: 1)
Ответ на: комментарий от Deleted
parser@noname:~$ lsof -p 2865 -n
COMMAND  PID   USER   FD      TYPE DEVICE SIZE/OFF NODE NAME
tor     2865 parser  cwd   unknown                      /proc/2865/cwd (readlink: Permission denied)
tor     2865 parser  rtd   unknown                      /proc/2865/root (readlink: Permission denied)
tor     2865 parser  txt   unknown                      /proc/2865/exe (readlink: Permission denied)
tor     2865 parser NOFD                                /proc/2865/fd (opendir: Permission denied)
parser@noname:~$ su
Password: 
su: Authentication failure
parser@noname:~$ su
Password: 
root@noname:/home/parser# lsof -p 2865 -n
COMMAND  PID   USER   FD      TYPE             DEVICE SIZE/OFF   NODE NAME
tor     2865 parser  cwd       DIR                8,1     4096 794782 /home/parser
tor     2865 parser  rtd       DIR                8,1     4096      2 /
tor     2865 parser  txt       REG                8,1  2527928 547632 /usr/bin/tor
tor     2865 parser  mem       REG                8,1  3559679 794862 /home/parser/data/parser/app/run/cached-microdescs
tor     2865 parser  mem       REG                8,1    89696 261190 /lib/x86_64-linux-gnu/libgcc_s.so.1
tor     2865 parser  mem       REG                8,1    80496 261194 /lib/x86_64-linux-gnu/libgpg-error.so.0.17.0
tor     2865 parser  mem       REG                8,1   456632 261221 /lib/x86_64-linux-gnu/libpcre.so.3.13.2
tor     2865 parser  mem       REG                8,1   919168 261138 /lib/x86_64-linux-gnu/libgcrypt.so.20.0.5
tor     2865 parser  mem       REG                8,1   137400 261198 /lib/x86_64-linux-gnu/liblzma.so.5.0.0
tor     2865 parser  mem       REG                8,1    31712 261304 /lib/x86_64-linux-gnu/librt-2.23.so
tor     2865 parser  mem       REG                8,1   130224 261229 /lib/x86_64-linux-gnu/libselinux.so.1
tor     2865 parser  mem       REG                8,1    14608 261309 /lib/x86_64-linux-gnu/libdl-2.23.so
tor     2865 parser  mem       REG                8,1  1868984 261323 /lib/x86_64-linux-gnu/libc-2.23.so
tor     2865 parser  mem       REG                8,1   138696 261301 /lib/x86_64-linux-gnu/libpthread-2.23.so
tor     2865 parser  mem       REG                8,1   252152 261227 /lib/x86_64-linux-gnu/libseccomp.so.2.2.3
tor     2865 parser  mem       REG                8,1  2361856 261241 /lib/x86_64-linux-gnu/libcrypto.so.1.0.0
tor     2865 parser  mem       REG                8,1   428384 261201 /lib/x86_64-linux-gnu/libssl.so.1.0.0
tor     2865 parser  mem       REG                8,1   285072 547603 /usr/lib/x86_64-linux-gnu/libevent-2.0.so.5.1.9
tor     2865 parser  mem       REG                8,1  1088952 261316 /lib/x86_64-linux-gnu/libm-2.23.so
tor     2865 parser  mem       REG                8,1   104864 261189 /lib/x86_64-linux-gnu/libz.so.1.2.8
tor     2865 parser  mem       REG                8,1   162632 261292 /lib/x86_64-linux-gnu/ld-2.23.so
tor     2865 parser  mem       REG                8,1   536520 261458 /lib/x86_64-linux-gnu/libsystemd.so.0.14.0
tor     2865 parser    0u      CHR              136,1      0t0      4 /dev/pts/1 (deleted)
tor     2865 parser    1u      CHR              136,1      0t0      4 /dev/pts/1 (deleted)
tor     2865 parser    2u      CHR              136,1      0t0      4 /dev/pts/1 (deleted)
tor     2865 parser    3u  a_inode               0,11        0   6978 [eventpoll]
tor     2865 parser    4u     unix 0xffff88003b57a800      0t0  21183 type=STREAM
tor     2865 parser    5u     unix 0xffff88003b57bc00      0t0  21184 type=STREAM
tor     2865 parser    6u     IPv4              21185      0t0    TCP 127.0.0.1:7771 (LISTEN)
tor     2865 parser    7u     IPv4              21186      0t0    TCP 127.0.0.1:7772 (LISTEN)
tor     2865 parser    8uW     REG                8,1        0 794845 /home/parser/data/parser/app/run/lock
root@noname:/home/parser# 

webmak ★★
() автор топика
Ответ на: комментарий от Deleted
parser@noname:~$ ls -la /proc/2865
ls: cannot read symbolic link '/proc/2865/cwd': Permission denied
ls: cannot read symbolic link '/proc/2865/root': Permission denied
ls: cannot read symbolic link '/proc/2865/exe': Permission denied
total 0
dr-xr-xr-x   9 parser parser 0 Nov 16 09:35 .
dr-xr-xr-x 118 root   root   0 Nov 16 08:51 ..
dr-xr-xr-x   2 parser parser 0 Nov 16 16:11 attr
-rw-r--r--   1 root   root   0 Nov 16 16:11 autogroup
-r--------   1 root   root   0 Nov 16 16:11 auxv
-r--r--r--   1 root   root   0 Nov 16 16:11 cgroup
--w-------   1 root   root   0 Nov 16 16:11 clear_refs
-r--r--r--   1 root   root   0 Nov 16 09:35 cmdline
-rw-r--r--   1 root   root   0 Nov 16 16:11 comm
-rw-r--r--   1 root   root   0 Nov 16 16:11 coredump_filter
-r--r--r--   1 root   root   0 Nov 16 16:11 cpuset
lrwxrwxrwx   1 root   root   0 Nov 16 16:06 cwd
-r--------   1 root   root   0 Nov 16 16:11 environ
lrwxrwxrwx   1 root   root   0 Nov 16 09:39 exe
dr-x------   2 root   root   0 Nov 16 15:09 fd
dr-x------   2 root   root   0 Nov 16 16:06 fdinfo
-rw-r--r--   1 root   root   0 Nov 16 16:11 gid_map
-r--------   1 root   root   0 Nov 16 16:11 io
-r--r--r--   1 root   root   0 Nov 16 16:11 limits
-rw-r--r--   1 root   root   0 Nov 16 16:11 loginuid
dr-x------   2 root   root   0 Nov 16 16:11 map_files
-r--r--r--   1 root   root   0 Nov 16 16:06 maps
-rw-------   1 root   root   0 Nov 16 16:11 mem
-r--r--r--   1 root   root   0 Nov 16 16:11 mountinfo
-r--r--r--   1 root   root   0 Nov 16 16:11 mounts
-r--------   1 root   root   0 Nov 16 16:11 mountstats
dr-xr-xr-x   5 parser parser 0 Nov 16 16:11 net
dr-x--x--x   2 root   root   0 Nov 16 16:11 ns
-r--r--r--   1 root   root   0 Nov 16 16:11 numa_maps
-rw-r--r--   1 root   root   0 Nov 16 16:11 oom_adj
-r--r--r--   1 root   root   0 Nov 16 16:11 oom_score
-rw-r--r--   1 root   root   0 Nov 16 16:11 oom_score_adj
-r--------   1 root   root   0 Nov 16 16:11 pagemap
-r--------   1 root   root   0 Nov 16 16:11 personality
-rw-r--r--   1 root   root   0 Nov 16 16:11 projid_map
lrwxrwxrwx   1 root   root   0 Nov 16 16:06 root
-rw-r--r--   1 root   root   0 Nov 16 16:11 sched
-r--r--r--   1 root   root   0 Nov 16 16:11 schedstat
-r--r--r--   1 root   root   0 Nov 16 16:11 sessionid
-rw-r--r--   1 root   root   0 Nov 16 16:11 setgroups
-r--r--r--   1 root   root   0 Nov 16 16:11 smaps
-r--------   1 root   root   0 Nov 16 16:11 stack
-r--r--r--   1 root   root   0 Nov 16 09:35 stat
-r--r--r--   1 root   root   0 Nov 16 15:02 statm
-r--r--r--   1 root   root   0 Nov 16 09:35 status
-r--------   1 root   root   0 Nov 16 16:11 syscall
dr-xr-xr-x   3 parser parser 0 Nov 16 15:02 task
-r--r--r--   1 root   root   0 Nov 16 16:11 timers
-rw-r--r--   1 root   root   0 Nov 16 16:11 uid_map
-r--r--r--   1 root   root   0 Nov 16 16:11 wchan
parser@noname:~$ su
Password: 
root@noname:/home/parser# ls -la /proc/2865
total 0
dr-xr-xr-x   9 parser parser 0 Nov 16 09:35 .
dr-xr-xr-x 121 root   root   0 Nov 16 08:51 ..
dr-xr-xr-x   2 parser parser 0 Nov 16 16:11 attr
-rw-r--r--   1 root   root   0 Nov 16 16:11 autogroup
-r--------   1 root   root   0 Nov 16 16:11 auxv
-r--r--r--   1 root   root   0 Nov 16 16:11 cgroup
--w-------   1 root   root   0 Nov 16 16:11 clear_refs
-r--r--r--   1 root   root   0 Nov 16 09:35 cmdline
-rw-r--r--   1 root   root   0 Nov 16 16:11 comm
-rw-r--r--   1 root   root   0 Nov 16 16:11 coredump_filter
-r--r--r--   1 root   root   0 Nov 16 16:11 cpuset
lrwxrwxrwx   1 root   root   0 Nov 16 16:06 cwd -> /home/parser
-r--------   1 root   root   0 Nov 16 16:11 environ
lrwxrwxrwx   1 root   root   0 Nov 16 09:39 exe -> /usr/bin/tor
dr-x------   2 root   root   0 Nov 16 15:09 fd
dr-x------   2 root   root   0 Nov 16 16:06 fdinfo
-rw-r--r--   1 root   root   0 Nov 16 16:11 gid_map
-r--------   1 root   root   0 Nov 16 16:11 io
-r--r--r--   1 root   root   0 Nov 16 16:11 limits
-rw-r--r--   1 root   root   0 Nov 16 16:11 loginuid
dr-x------   2 root   root   0 Nov 16 16:11 map_files
-r--r--r--   1 root   root   0 Nov 16 16:06 maps
-rw-------   1 root   root   0 Nov 16 16:11 mem
-r--r--r--   1 root   root   0 Nov 16 16:11 mountinfo
-r--r--r--   1 root   root   0 Nov 16 16:11 mounts
-r--------   1 root   root   0 Nov 16 16:11 mountstats
dr-xr-xr-x   5 parser parser 0 Nov 16 16:11 net
dr-x--x--x   2 root   root   0 Nov 16 16:11 ns
-r--r--r--   1 root   root   0 Nov 16 16:11 numa_maps
-rw-r--r--   1 root   root   0 Nov 16 16:11 oom_adj
-r--r--r--   1 root   root   0 Nov 16 16:11 oom_score
-rw-r--r--   1 root   root   0 Nov 16 16:11 oom_score_adj
-r--------   1 root   root   0 Nov 16 16:11 pagemap
-r--------   1 root   root   0 Nov 16 16:11 personality
-rw-r--r--   1 root   root   0 Nov 16 16:11 projid_map
lrwxrwxrwx   1 root   root   0 Nov 16 16:06 root -> /
-rw-r--r--   1 root   root   0 Nov 16 16:11 sched
-r--r--r--   1 root   root   0 Nov 16 16:11 schedstat
-r--r--r--   1 root   root   0 Nov 16 16:11 sessionid
-rw-r--r--   1 root   root   0 Nov 16 16:11 setgroups
-r--r--r--   1 root   root   0 Nov 16 16:11 smaps
-r--------   1 root   root   0 Nov 16 16:11 stack
-r--r--r--   1 root   root   0 Nov 16 09:35 stat
-r--r--r--   1 root   root   0 Nov 16 15:02 statm
-r--r--r--   1 root   root   0 Nov 16 09:35 status
-r--------   1 root   root   0 Nov 16 16:11 syscall
dr-xr-xr-x   3 parser parser 0 Nov 16 15:02 task
-r--r--r--   1 root   root   0 Nov 16 16:11 timers
-rw-r--r--   1 root   root   0 Nov 16 16:11 uid_map
-r--r--r--   1 root   root   0 Nov 16 16:11 wchan
root@noname:/home/parser# 
webmak ★★
() автор топика
Ответ на: комментарий от webmak

Покажи еще egrep -i 'uid|gid' /proc/2865/status и stat /usr/bin/tor, пожалуйста.

Deleted
()
Ответ на: комментарий от Deleted
parser@noname:~$ egrep -i 'uid|gid' /proc/2865/status
Tgid:	2865
Ngid:	0
Uid:	1001	1001	1001	1001
Gid:	1001	1001	1001	1001
NStgid:	2865
NSpgid:	2865
parser@noname:~$ stat /usr/bin/tor
  File: '/usr/bin/tor'
  Size: 2527928   	Blocks: 4944       IO Block: 4096   regular file
Device: 801h/2049d	Inode: 547632      Links: 1
Access: (0755/-rwxr-xr-x)  Uid: (    0/    root)   Gid: (    0/    root)
Access: 2017-11-15 21:16:27.696884276 +0200
Modify: 2017-09-07 20:38:58.000000000 +0300
Change: 2017-11-14 14:18:31.414540788 +0200
 Birth: -
parser@noname:~$ mount | grep proc
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=27,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
parser@noname:~$
webmak ★★
() автор топика
Ответ на: комментарий от webmak

Содержимое /proc/$pid/ обычно принадлежит юзеру, от которого этот процесс запущен, но в твоем случае все принадлежит руту, поэтому lsof и не показывает порт. Так что узнать PID по порту можно только от рута.

Эта тачка - VPS? Если да, то какой там тип виртуализации? Покажи еще вывод uname -a ради интереса.

Deleted
()
Ответ на: комментарий от Deleted

Оно одинаково что в virtualbox, что на живом debian. В virtualbox ubuntu 16 с нетинсталом

parser@noname:~$ uname -a
Linux noname.example.com 4.4.0-98-generic #121-Ubuntu SMP Tue Oct 10 14:24:03 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
parser@noname:~$ 

webmak ★★
() автор топика
Последнее исправление: webmak (всего исправлений: 3)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.