시스템 튜토리얼 리눅스 Linux 사용자의 행동 분석 탐색

Linux 사용자의 행동 분석 탐색

Feb 11, 2024 pm 06:51 PM
linux office 리눅스 튜토리얼 리눅스 시스템 리눅스 운영체제 리눅스 명령 쉘 스크립트 임베디드리눅스 리눅스 시작하기 리눅스 학습

在当今数字化的时代,人们已经习惯于用电脑进行工作和娱乐,而Linux系统在其中扮演着重要的角色。Linux操作系统由于其安全性、开源性以及可定制性等优点,被广泛地应用于各个领域。然而,作为一种特殊的操作系统,Linux用户的行为与Windows或Mac用户的行为有所不同。本文将深入探讨Linux用户的行为特点,为大家揭开Linux操作系统的神秘面纱。

Linux 사용자의 행동 분석 탐색

如果您在管理Linux服务器,最好准备好使用用于检查用户活动的多个命令——用户何时登录及登录频率、属于哪些用户组、耗用多少磁盘空间、运行什么命令、占用多少磁盘空间、是否在阅读邮件等。

本文小编将为大家介绍了在Linux下有可以命令可以帮助您了解用户有哪些、查看他们在如何工作、以及分析用户的详细操控行为等。

finger命令

finger是获取用户个人资料的一个便捷命令。它使您可以查看谁已登录或专注于单个用户,以查看上一次登录、他们从何处登录、闲置时间有多久(自运行命令以来有多久)等。在该命令中, 我们查看用户nemo。

$ finger nemo  
Login: nemo Name: Nemo Demo  
Directory: /home/nemo Shell: /bin/bash  
On since Fri Jun 19 12:58 (EDT) on pts/1 from 192.168.0.6  
7 minutes 47 seconds idle  
New mail received Wed Jun 17 18:31 2020 (EDT)  
Unread since Sat Jun 13 18:03 2020 (EDT)  
No Plan. 

我们可以看到nemo的全名、主目录和外壳,还可以看到nemo的最新登录和电子邮件活动。仅在/etc/passwd文件中的全名字段中定义了办公室、办公室电话和家庭电话号码,这些信息才包括在内。比如说:

nemo:x:1001:1001:Nemo Demo,11,540-222-2222,540-333-3333:/home/nemo:/bin/bash).

上面的输出还表明nemo没有“计划”,但这只是意味着该用户没有创建.plan文件、并将一些文本放入其中。这并不罕见。

如果没有参数,finger将以如下所示的格式显示当前登录列表。您可以看到他们何时登录、从哪个IP地址登录、使用中的伪终端(比如pts/1)以及闲置了多久。

$ finger  
Login Name Tty Idle Login Time Office Office Phone  
nemo Nemo Demo pts/1 1:24 Jun 19 12:58 (192.168.0.6)  
shs Sandra Henry-Stocker pts/0 Jun 19 12:57 (192.168.0.60 

w命令

w命令也以一份格式清晰的列表显示了目前活动的用户,包括闲置时间、用户最近运行了什么命令。它还在最上面一行显示系统已运行了多久,并提供负载平均数字,表明系统有多忙碌。在这里,系统基本上处于闲置状态。

$ w  
14:23:19 up 1 day, 20:24, 2 users, load average: 0.00, 0.00, 0.00  
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT  
shs pts/0 192.168.0.6 12:57 0.00s 0.14s 0.01s w  
nemo pts/1 192.168.0.6 12:58 1:24m 0.03s 0.03s -bash 

id命令

如果使用id命令,您可以查看用户的数值ID和用户组ID以及该用户是哪些用户组的成员。这些信息从/etc/passwd文件和/etc/group文件获取而来。没有参数的id报告您帐户的信息。

$ id  
uid=1000(shs) gid=1000(shs) groups=1000(shs),4(adm),11(admin),24(cdrom),27(sudo),30(dip),46(plugdev),118(lpadmin),128(sambashare),500(devops)  
$ id nemo  
uid=1001(nemo) gid=1001(nemo) groups=1001(nemo),16(fish)  
auth.log 

您可以使用grep之类的命令从/var/log/auth.log文件获取信息。为了使用auth.log数据显示最近登录活动,您可以运行这样的命令:

$ grep "New session" /var/log/auth.log | awk '{print $1,$2,$3,$11}' | tail -5  
Jun 17 17:22:38 shs.  
Jun 17 17:58:43 gdm.  
Jun 17 18:09:58 shs.  
Jun 19 12:57:36 shs.  
Jun 19 12:58:44 nemo.  

last命令

last命令可能最擅长查看所有用户或某一个用户的最近登录。记住一点:last首先显示最近的活动,因为这是大多数管理员最感兴趣的信息。

$ last | head -5  
nemo pts/1 192.168.0.6 Fri Jun 19 12:58 still logged in  
shs pts/0 192.168.0.6 Fri Jun 19 12:57 still logged in  
shs pts/0 192.168.0.6 Wed Jun 17 18:10 - 18:42 (00:32)  
reboot system boot 5.4.0-37-generic Wed Jun 17 17:58 still running  
shs pts/2 192.168.0.6 Wed Jun 17 17:22 - 17:57 (00:34)  
$ last nemo | head -5  
nemo pts/1 192.168.0.6 Fri Jun 19 12:58 - 16:21 (03:22)  
nemo pts/2 192.168.0.6 Sat Jun 13 17:49 - 19:05 (01:16)  
nemo pts/1 192.168.0.6 Thu Jun 4 17:33 - 17:44 (00:10)  
nemo pts/1 192.168.0.19 Mon May 11 19:04 - 19:57 (00:52)  
nemo pts/1 192.168.0.19 Tue May 5 12:46 - 17:49 (05:02) 

du命令

如果针对/home中的每个目录运行,du命令会报告每个用户的主目录在使用多少空间,就像这样:

$ sudo du -sk /home/*  
289 /home/dorothy  
116 /home/dory  
88 /home/eel  
28 /home/gino  
28 /home/jadep  
12764 /home/nemo  
732 /home/shark  
418046 /home/shs  
108 /home/tadpole 

默认情况下,报告的大小以1024字节为单位。

ps和history命令

针对当前登录的用户,您始终可以使用ps -ef | grep ^nemo之类的命令,查看用户目前在运行哪些命令和进程。想查看以前运行的命令,可以试着查看用户的历史记录文件(比如.bash_history),不过要注意,用户可以设置帐户,以便某些命令不被捕获到历史记录文件中,他们还可以编辑这些文件,如果选择这么做的话。

统计登录次数

如果您想查看自/var/log/wtmp文件上一次翻转以来每个用户登录的次数,可以使用这样的命令:

$ for USER in `ls /home` 
> do  
> cnt=`last $USER | grep ^$USER | wc -l` # count logins  
> echo $USER: $cnt # show login count  
> done 

输出会像是这样:

dorothy: 0  
dory: 0  
eel: 8  
gino: 0  
jadep: 102  
nemo: 39  
shark: 50  
shs: 105  
tadpole: 0

如果您想要更多的细节,可以创建一个较复杂的脚本,以便添加另外一些信息,比如登录细节和格式。

#!/bin/bash  
sepline="===================="  
for USER in `ls /home`  
do  
len=`echo $USER | awk '{print length($0)}'` # get length of username  
echo $USER  
sep="${sepline:1:$len}" # set separator  
echo $sep # print separator  
cnt=`last $USER | grep ^$USER | wc -l` # count logins  
echo logins: $cnt # show login count  
last $USER | grep ^$USER | head -5 # show most recent logins  
echo  
done 

上述脚本将显示的数据限制在最近的五次登录,但是您可以轻松改变。以下是一个用户的数据的格式会什么样:

shs  
===  
logins: 105  
shs pts/0 192.168.0.6 Fri Jun 19 12:57 still logged in  
shs pts/0 192.168.0.6 Wed Jun 17 18:10 - 18:42 (00:32)  
shs pts/2 192.168.0.6 Wed Jun 17 17:22 - 17:57 (00:34)  
shs pts/0 192.168.0.25 Wed Jun 17 17:20 - 17:57 (00:36)  
shs pts/1 192.168.0.6 Wed Jun 17 15:19 - 17:57 (02:38) 

检查企图使用sudo的情况

如果您想看看用户中有谁企图使用sudo、而他们本无这项权限,可以运行这样的命令:

$ grep "NOT in sudoers" /var/log/auth.log | awk '{print $6}' 
nemo 

如果您在无权提升权限的情况下试图使用sudo,而系统发出警告信息“用户名不在sudoers文件中。将报告该事件”,您可能会知道这个日志条目是该报告的精髓。除非管理员竭力寻找sudo使用违规,否则它们不会被人注意。

요약하자면, Linux 사용자의 행동 특성은 매우 독특하며, 선호하는 작동 방법과 행동 습관은 끊임없이 진화하고 있습니다. 이 글의 소개를 통해 우리는 리눅스 사용자의 행동 분석에 대해 배웠고, 리눅스 사용자 행동을 분석하는 방법과 기법을 터득했으며, 이 뛰어난 운영체제를 더 잘 이해하고 적용할 수 있었습니다.

위 내용은 Linux 사용자의 행동 분석 탐색의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제

PHP 튜토리얼
1596
276
PHP 컨테이너를 자동 구조로 만드는 방법은 무엇입니까? PHP 환경의 지속적으로 통합 된 CI 구성 방법 PHP 컨테이너를 자동 구조로 만드는 방법은 무엇입니까? PHP 환경의 지속적으로 통합 된 CI 구성 방법 Jul 25, 2025 pm 08:54 PM

PHP 컨테이너가 자동 구성을 지원할 수 있도록 핵심은 CI (Continuous Integration) 프로세스를 구성하는 데 있습니다. 1. DockerFile을 사용하여 기본 이미지, 확장 설치, 종속성 관리 및 권한 설정을 포함하여 PHP 환경을 정의합니다. 2. Gitlabci와 같은 CI/CD 도구를 구성하고 .gitlab-ci.yml 파일을 통해 빌드, 테스트 및 배포 단계를 정의하여 자동 구성, 테스트 및 배포를 달성합니다. 3. PHPUNIT와 같은 테스트 프레임 워크를 통합하여 코드 변경 후 테스트가 자동으로 실행되도록합니다. 4. Kubernetes와 같은 자동 배포 전략을 사용하여 배포 .yaml 파일을 통해 배포 구성을 정의합니다. 5. Dockerfile 최적화 및 다단계 구조를 채택하십시오

독립적 인 PHP 작업 컨테이너 환경을 구축하는 방법. PHP 타임 스크립트를 실행하기위한 컨테이너를 구성하는 방법 독립적 인 PHP 작업 컨테이너 환경을 구축하는 방법. PHP 타임 스크립트를 실행하기위한 컨테이너를 구성하는 방법 Jul 25, 2025 pm 07:27 PM

독립적 인 PHP 작업 컨테이너 환경 구축은 Docker를 통해 구현할 수 있습니다. 특정 단계는 다음과 같습니다. 1. Docker 및 DockerCompose를 기초로 설치하십시오. 2. DockerFile 및 Crontab 파일을 저장하기위한 독립 디렉토리를 만듭니다. 3. PHPCLI 환경을 정의하고 CRON 및 필요한 확장을 설치하려면 dockerfile을 작성하십시오. 4. 타이밍 작업을 정의하기 위해 Crontab 파일을 작성하십시오. 5. docker-compose.yml 마운트 스크립트 디렉토리를 작성하고 환경 변수를 구성하십시오. 6. 컨테이너를 시작하고 로그를 확인하십시오. 웹 컨테이너에서 타이밍 작업을 수행하는 것과 비교할 때 독립 컨테이너는 자원 격리, 순수한 환경, 강력한 안정성 및 쉬운 확장의 장점이 있습니다. 로깅 및 오류 캡처를 보장합니다

터미널을 사용하여 Linux에 소프트웨어를 설치하는 방법은 무엇입니까? 터미널을 사용하여 Linux에 소프트웨어를 설치하는 방법은 무엇입니까? Aug 02, 2025 pm 12:58 PM

Linux에 소프트웨어를 설치하는 세 가지 주요 방법이 있습니다. 1. APT, DNF 또는 Pacman과 같은 패키지 관리자를 사용한 다음 Sudoaptininstallcurl과 같은 소스를 업데이트 한 후 설치 명령을 실행합니다. 2. .deb 또는 .rpm 파일의 경우 dpkg 또는 rpm 명령을 사용하여 설치하고 필요할 때 종속성을 복구하십시오. 3. Snap 또는 FlatPak을 사용하여 버전 업데이트를 추구하는 사용자에게 적합한 SudosnapInstall 소프트웨어 이름과 같은 플랫폼에 응용 프로그램을 설치하십시오. 더 나은 호환성과 성능을 위해 시스템 자체 패키지 관리자를 사용하는 것이 좋습니다.

Cron 및 Anacron으로 Linux에서 작업을 예약하는 방법 Cron 및 Anacron으로 Linux에서 작업을 예약하는 방법 Aug 01, 2025 am 06:11 AM

cronisusedforprecisesCeedulingonalways-onsystems, whileanacronensuresperiodictasksrunonsystems that thatorenuouslypowered, suchaslaptops; 1. usecronforexacttiming (예 : 3amdaily) viacrontab-ewithsyntaxminhourdomondowcommand;

Linux의 고성능 게임에 대한 궁극적 인 가이드 Linux의 고성능 게임에 대한 궁극적 인 가이드 Aug 03, 2025 am 05:51 AM

ChoosePop!_OS,Ubuntu,NobaraLinux,orArchLinuxforoptimalgamingperformancewithminimaloverhead.2.InstallofficialNVIDIAproprietarydriversforNVIDIAGPUs,ensureup-to-dateMesaandkernelversionsforAMDandIntelGPUs.3.EnabletheperformanceCPUgovernor,usealow-latenc

Linux 대 Windows의 주요 장단점은 무엇입니까? Linux 대 Windows의 주요 장단점은 무엇입니까? Aug 03, 2025 am 02:56 AM

Linux는 이전 하드웨어에 적합하며 보안이 높으며 사용자 정의 가능하지만 소프트웨어 호환성이 약합니다. Windows 소프트웨어는 풍부하고 사용하기 쉽지만 리소스 활용이 높습니다. 1. 성능 측면에서 Linux는 가볍고 효율적이며 오래된 장치에 적합합니다. Windows의 하드웨어 요구 사항이 높습니다. 2. 소프트웨어 측면에서 Windows는 더 넓은 호환성, 특히 전문 도구 및 게임을 가지고 있습니다. Linux는 일부 소프트웨어를 실행하기 위해 도구를 사용해야합니다. 3. 보안 측면에서 Linux 권한 관리는 더 엄격하며 업데이트가 편리합니다. Windows는 보호되지만 여전히 공격에 취약합니다. 4. 사용 어려움 측면에서 Linux 학습 곡선은 가파르고; Windows 작동은 직관적입니다. 요구 사항에 따라 선택하십시오 : 성능 및 보안으로 Linux를 선택하고 호환성과 사용 편의성이있는 Windows를 선택하십시오.

NTP와 Linux에서 시간 동기화의 중요성 NTP와 Linux에서 시간 동기화의 중요성 Aug 01, 2025 am 06:00 AM

Timesynchronizationiscrucialforsystemreliabilityandsecuritybecauseinconsistenttimecauseslogconfusion,securityfailures,misfiredscheduledtasks,anddistributedsystemerrors;1.CheckNTPstatususingtimedatectlstatustoconfirmsynchronizationandserviceactivity;2

See all articles