红帽linux之用户与进程

92 阅读3分钟

「这是我参与11月更文挑战的第22天,活动详情查看:2021最后一次更文挑战

什么是用户?

用户账户为不同人员和运行的程序之间提供安全边界。
用户使用用户名(username)进行标识,操作系统为其分配唯一标识号(UID),
用户可能含有密码。
系统中的每个程序都以一个特定用户运行,即系统用户。
每个文件都有一个特定用户作为所有者用户账户
用户的三种主要类型:
 1. 超级用户(superuser):root用户,UID=0,具有系统的最高权限。
 2. 系统用户(system user):用于系统管理,如运行服务与守护进程等,不需要
用于系统登录。
 3. 普通用户(regular user): 供用户进行日常系统管理,通常具有权限限制。
id命令:查看当前登录的用户或指定的用户信息

[fu@VM-0-3-centos ~]$ id 
uid=1001(fu) gid=1003(fu) groups=1003(fu)

[fu@VM-0-3-centos ~]$ id fu
uid=1001(fu) gid=1003(fu) groups=1003(fu)

ls -l命令查看文件所属用户,ls -ld命令查看目录所属用户。
[fu@VM-0-3-centos ~]$ ls -l file1
-rw-rw-r-- 1 fu fu 0 Nov 23 23:12 file1

列出进程:

ps命令用于列出当前会话进程,包括:
 1. 运行进程的用户UID
 2. 进程PID
 3. 进程使用的CPU百分比
 4. 进程的物理内存使用百分比(不包含Swap空间)
 5. 进程的STDOUT位置,称为控制终端。
 6. 当前进程状态
其中ps -aux(UNIX POSIX格式)不同于 ps aux(BSD格式)
$ ps aux:查看系统上运行的所有进程,-a选项为显示当前终端的进程,-u选项显
示运行进程的用户。
 $ ps aux --sort [+|-]%cpu:正序或反序排列CPU使用百分比
 $ ps aux --sort [+|-]%mem:正序或反序排列物理内存使用百分比
 $ ps aux --sort [+|-]rss:正序或反序排列实际使用的物理内存
 $ ps auxm:查看系统上运行的所有进程,并在每个进程下显示该进程的所有线程。
 $ ps lax:长列表格式输出系统上运行的所有进程
 $ ps -ef:全格式输出系统上运行的所有进程
 $ ps -efL:全格式输出系统上运行的所有进程,并显示给个进程的线程数
(NLWP)。
 $ ps -L -C <process_name>:查看指定进程的线程信息
 $ ps -L [-p|p|-q|q] <pid>:查看指定进程的线程信息

ps命令:查看进程的信息

 -a选项显示当前终端的进程,-u选项显示进程关联的用户信息。
 [fu@VM-0-3-centos ~]$ ps -au
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root      1253  0.0  0.0 110208   852 tty1     Ss+  Oct09   0:00 /sbin/agetty --noclear tty1 linux
root      1254  0.0  0.0 110208   864 ttyS0    Ss+  Oct09   0:00 /sbin/agetty --keep-baud 115200,38400,9600 ttyS0 vt220
root      5824  0.0  0.1 116200  2716 pts/0    Ss   23:08   0:00 -bash
root      6342  0.0  0.1 193964  2372 pts/0    S    23:11   0:00 su - fu

[fu@VM-0-3-centos ~]$ ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 Oct09 ?        00:10:41 /usr/lib/systemd/systemd --switched-root --system --deserialize 22
root         2     0  0 Oct09 ?        00:00:00 [kthreadd]
root         4     2  0 Oct09 ?        00:00:00 [kworker/0:0H]
root         6     2  0 Oct09 ?        00:01:08 [ksoftirqd/0]
root         7     2  0 Oct09 ?        00:00:00 [migration/0]
root         8     2  0 Oct09 ?        00:00:00 [rcu_bh]
方括号中的进程(通常位于列表顶部)为调度的内核线程。
僵停列为 exiting 或 <defunct>。
ps命令的输出显示一次。
使用top命令来获得动态更新的进程显示。
pstree命令可以采用树形显示格式,以便查看父进程和子进程之间的关系。