linux %id(linux查看进程id)

linux id命令详解

id命令用于显示用户的ID,以及所属群组的ID。id命令已经默认预装在大多数Linux系统中。id会显示用户以及所属群组的实际与有效ID。若两个ID相同,则仅显示实际ID。

语法:id [-gGnru][--help][--version][用户名称]

参考例子:

显示当前用户的所有信息:

[root@linux265~]# id

uid=0(root) gid=0(root) groups=0(root)

参数:

-g显示用户所属群组的ID

-G显示用户所属附加群组的ID

-n显示用户,所属群组或附加群组的名称

-r显示实际ID

-u显示用户ID

--help显示帮助

--version显示版本信息

linux命令idlinux命令id

id命令解释?

id命令可以显示真实有效的用户ID(UID)和组ID(GID)。UID是对一个用户的单一身份标识。组ID(GID)则对应多个UID。id命令已经默认预装在大多数Linux系统中。要使用它,只需要在你的控制台输入id。不带选项输入id会显示如下。结果会使用活跃用户。

当我们想知道某个用户的UID和GID时id命令是非常有用的。一些程序可能需要UID/GID来运行。id使我们更加容易地找出用户的UID以GID而不必在/etc/group文件中搜寻。如往常一样,你可以在控制台输入manid进入id的手册页来获取更多的详情。

linux查看oracle用户和用户组?

我的:Linux下可以使用id命令查看用户的信息和组。

可以打开终端后执行#idoracle命令进行查看。

如何在linux上用命令实现用户和组的管理?

Linux上用命令实现本地用户和组的管理

本地用户和组:管理文件和进程等等

本地用户和组:

1)root:超级管理员系统创建的第一个账户

特点:

id为:0

家目录:/root

具有系统的完全控制权:小心使用。

#id

uid=0(root)gid=0(root)groups=0(root)context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023

#

2)普通用户:不具有管理员权限

特点:

id范围:

1000=id=60000

家目录:/home/用户名

#idstudent

uid=1000(student)gid=1000(student)groups=1000(student),10(wheel)

#

3)服务用户:为服务提供权限

特点:

id范围:

0id1000

家目录:应用程序服务目录

#idapache

uid=48(apache)gid=48(apache)groups=48(apache)

#

如果是yum,rpm安装的软件:由rpm包中的脚本创建服务账户

Includeconf.modules.d/*.conf

#

#Ifyouwishhttpdtorunasadifferentuserorgroup,youmustrun

#httpdasrootinitiallyanditwillswitch.

#

#User/Group:Thename(or#number)oftheuser/grouptorunhttpdas.

#Itisusuallygoodpracticetocreateadedicateduserandgroupfor

#runninghttpd,aswithmostsystemservices.

#

Userapache

Groupapache

#'Main'serverconfiguration

#

本地组:

1)主组:一个用户一定要属于某个主组中。当些用户在创建文件时,给文件的归属组

2)从属组:用户容器,组织和管理用户权限管控

作用:

文件:

进程:

$ps-ux

USERPID%CPU%MEMVSZRSSTTYSTATSTARTTIMECOMMAND

student321780.00.4930529360?Ss15:000:00/usr/lib/system

student321820.00.32537767072?S15:000:00(sd-pam)

student321880.00.21594124980?S15:000:00sshd:student@p

student321890.00.22339124864pts/0Ss15:000:00-bash

student322930.30.21594085192?D15:430:00sshd:student@p

student322940.30.22339124924pts/1Ss15:430:00-bash

student323190.50.22339404804pts/1S15:430:00/bin/bash

student323410.00.22693123876pts/1R+15:430:00ps-ux

$

账户文件:

1)/etc/passwd:保存用户信息

#cat/etc/passwd|grepstudent

student:x:1000:1000:StudentUser:/home/student:/bin/bash

用户名密码uid主组ID描述家目录登录shell

#

#cat/etc/passwd|grep-wroot:x

root:x:0:0:root:/root:/bin/bash

#

#cat/etc/passwd|grepapache

apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin

服务账号无法登录系统

#

2./etc/shadow:保存用户密码的HASH,密码的有效性信息,密码修改时间,账户有效期。

#

#ls-l/etc/shadow

----------.1rootroot1014Mar2911:39/etc/shadow

#

#

#cat/etc/shadow|grepstudent

student:$6$8oIjLCsc$/n1iQXYh1E6.uOEuJKgioqAtmqm2TQmkJGF2RwyteIr1tIfrPdiRYgWe6Sjen5/eMij2uHM/a1tue/QRlo3X80:18038:0:99999:7:::

#

密码的HASH:sha512

8oIjLCsc$/n1iQXYh1E6.uOEuJKgioqAtmqm2TQmkJGF2RwyteIr1tIfrPdiRYgWe6Sjen5/eMij2uHM/a1tue/QRlo3X80

18038:天数密码最后一次修改的时间从1970-01-01+18038天之后那一天

0:密码最少使用天数0没有限制用户随时可以改密码

99999:天数,密码最大修改时间永久200多年

7:warning警告时间,当密码快到最后修改时间前7天,通知用户修改。

::天数失效时间inactive用户密码过了最后修改时间,未改变密码,再过多少天,账户将被锁定

::账户有效期

创建用户和组:

创建时,没有密码:

#useraddzhangsan

#useraddlisi

#idzhangsan

uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan)

#idlisi

uid=1002(lisi)gid=1002(lisi)groups=1002(lisi)

#

无法登录:与PAM有关

$

$su-zhangsan

Password:

Password:

su:Authenticationfailure

$

设置密码:

#

#cat/etc/passwd|grepzhangsan

zhangsan:x:1001:1001::/home/zhangsan:/bin/bash

#cat/etc/shadow|grepzhangsan

zhangsan:!!:18350:0:99999:7:::#!!未设置密码

#

#passwdzhangsan

Changingpasswordforuserzhangsan.

Newpassword:

BADPASSWORD:Thepasswordisshorterthan8characters

Retypenewpassword:

passwd:allauthenticationtokensupdatedsuccessfully.

#

#

#cat/etc/shadow|grepzhangsan

zhangsan:$6$3wxuXomVbQ58wQcK$oQW6injgldxa2N/Pt4tCPDVRqWRVGw.UNZdxE4R0nhEt8K/3UDKzxap6ReIReEvDpG.GdwjpMiiDh7.f6DJNQ0:18350:0:99999:7:::

#

chage可以查看用户密码属性

#chage-lzhangsan

Lastpasswordchange:Mar29,2020

Passwordexpires:never

Passwordinactive:never

Accountexpires:never

Minimumnumberofdaysbetweenpasswordchange:0

Maximumnumberofdaysbetweenpasswordchange:99999

Numberofdaysofwarningbeforepasswordexpires:7

#

创建组:从属组

#

#groupaddit

#

#

#groupaddsales

#

#

#

#cat/etc/group

root:x:0:

bin:x:1:

daemon:x:2:

sys:x:3:

adm:x:4:

tty:x:5:

disk:x:6:

lp:x:7:

mem:x:8:

kmem:x:9:

wheel:x:10:student

cdrom:x:11:

mail:x:12:postfix

man:x:15:

dialout:x:18:

floppy:x:19:

games:x:20:

tape:x:33:

video:x:39:

ftp:x:50:

lock:x:54:

audio:x:63:

users:x:100:

nobody:x:65534:

dbus:x:81:

utmp:x:22:

utempter:x:35:

input:x:999:

kvm:x:36:

render:x:998:

systemd-journal:x:190:

systemd-coredump:x:997:

systemd-resolve:x:193:

tss:x:59:

polkitd:x:996:

rpc:x:32:

unbound:x:995:

ssh_keys:x:994:

sssd:x:993:

setroubleshoot:x:992:

rpcuser:x:29:

insights:x:991:

cockpit-ws:x:990:

sshd:x:74:

chrony:x:989:

tcpdump:x:72:

student:x:1000:

printadmin:x:988:

libstoragemgmt:x:987:

slocate:x:21:

postdrop:x:90:

postfix:x:89:

apache:x:48:

zhangsan:x:1001:

lisi:x:1002:

it:x:1003:组成员列表

sales:x:1004:

#

#idstudent

uid=1000(student)gid=1000(student)groups=1000(student),10(wheel)

#

将用户添加进组:zhangsan,加入it组,lisi,sales组

#idstudent

uid=1000(student)gid=1000(student)groups=1000(student),10(wheel)

#usermod-aGitzhangsan

#

#

#usermod-aGsaleslisi

#

#

#idzhangsan

uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan),1003(it)

#idlisi

uid=1002(lisi)gid=1002(lisi)groups=1002(lisi),1004(sales)

#

删除用户:

#useraddandy

默认删除,保留用户的文件:

#

#userdelandy

#

#

#useraddandy#重建andy会不一样,uid会不同

useradd:warning:thehomedirectoryalreadyexists.

Notcopyinganyfilefromskeldirectoryintoit.

Creatingmailboxfile:Fileexists

#

#useradduser1

#useradduser2

#idandy

uid=1003(andy)gid=1005(andy)groups=1005(andy)

#userdel-rany

userdel:user'any'doesnotexist

#

#userdel-randy#不保留用户的文件。家目,邮箱文件,skel文件都会

#

#

#idandy

id:‘andy’:nosuchuser

#useraddandy

#idandy

uid=1006(andy)gid=1008(andy)groups=1008(andy)

#

从组中移除用户:

#

#idzhangsan

uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan),1003(it)#zhangsan主组,it从属组

#

命令:

#gpasswd-dzhangsanit

Removinguserzhangsanfromgroupit

#

#

#idzhangsan

uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan)

#

#

#usermod-aGitzhangsan

#

#

#idzhangsan

uid=1001(zhangsan)gid=1001(zhangsan)groups=1001(zhangsan),1003(it)

#

#

#

#groupszhangsan

zhangsan:zhangsanit

#

直接修改文件:

#vim/etc/group

#cat/etc/group|grepit:

it:x:1003:

#

删除组:

#groupaddtest

#

#

#groupdeltest

创建自定义用户和组:

实验:用户名mary,指定用户id2000,家目录/maryhome,不用登录系统描述thisismaryuser

#

#useradd-u2000-d/maryhome-s/sbin/nologin-c"thisismary"mary

#

#idmary

uid=2000(mary)gid=2000(mary)groups=2000(mary)

#cat/etc/passwd|grepmary

mary:x:2000:2000:thisismary:/maryhome:/sbin/nologin

#

#su-mary

Lastlogin:SunMar2916:48:49CST2020onpts/0

Thisaccountiscurrentlynotavailable.

#

创建自定义组:指定组id

#groupadd-g3000group1

#cat/etc/group|grepgroup1

group1:x:3000:

#

linux如何查看组是否添加成功?

有多种方法:

1、直接查/etc/passwd,/etc/group(grep命令查)

2、users和groups命令分别打印系统中的全部用户和组。

3、id命令查用户

串口控制台如何打开linux终端控制台?

串口控制台打开linux终端控制台的方法是追加打开命令的行,为了将这些信息显示在终端上,可以将这些文件中含有echo命令的行追加>TTY。TTY是终端的串口(与/etc/inittab中串口终端行的一样)。

值得注意的是,这样做的好处是利用串口终端作为Linux控制台,可以免去额外的键盘,显示卡和显示器,同时可将Linux主机作为一个任意用途的嵌入式黑匣。

具体的操作方法是,在文件/etc/inittab增加下面一行。

ID:RUNLEVELS:respawn:/sbin/agetty-LSPEEDTTYTERM。

这里:ID=两字母的标识符,如s1或s2。RUNLEVELS=终端激活的运行级别。SPEED=串口端口速率。TTY=串口的设备名。TERM=TERM环境变量。范例如下s2:12345:respawn:/sbin/agetty-L9600ttyS1vt100,表示串口/dev/ttyS1(COM2)速率为9600bps,终端模式为vt100。

Linux查看进程idlinuxid查看进程

linux查看进程由哪个进程启动?

1、查看进程“打开”的文件(方法1):

1)pidofprograme-name(获得想了解的进程(programe-name)的PID)或ps-aux|grepprograme-name(获得想了解的进程(programe-name)的PID)找出进程的PID2)cd/proc/$PID/fd(会看见文件描述符)

3)ls-l得到文件描述符指向的实际文件,即当前进程打开的文件2、查看进程“打开”的文件(方法2):

1)获得想了解的进程的PID方法同上2)lsof-cprograme-name或lsof-p$PID

linux怎么查看一个进程的执行状态?

1,写一个服务,用exec或popen执行ps的命令行,根据该进程的名字获取该进程的pid。

sprintf(cmd,"ps-ef|grep%s",name);

pstr=popen(cmd,"r");

然后php定时的请求这个机器上的进程状态,如果进程挂掉了,可以做个预警。

2,如果想做的更多,监视当前每个进程的资源消耗,比如CPU,内存,根据进程的id,可以去拿到/proc/pid/status中的一些数据,比如:

//获取进程占用内存

unsignedintget_proc_mem(unsignedintpid){

charfile_name={0};

FILE*fd;

charline_buff={0};

sprintf(file_name,"/proc/%d/status",pid);

fd=fopen(file_name,"r");

if(nullptr==fd){

return0;

}

charname;

intvmrss;

for(inti=0;iVMRSS_LINE-1;i++){

fgets(line_buff,sizeof(line_buff),fd);

}

fgets(line_buff,sizeof(line_buff),fd);

sscanf(line_buff,"%s%d",name,vmrss);

fclose(fd);

returnvmrss;

}

然后你就可以通过一些图形做一些动态展示了。

linux中,怎么查看进程所对应的服务名呢?

1。查看进程占用的端口号netstat-anp#netstat-anp|grepsyslogudp000。0。0。0:5140。

0。0。0:*31483/syslogd

2。

查看使用端口号的进程lsof#lsof-i:514COMMANDPIDUSERFDTYPEDEVICESIZENODENAMExinetd4027root6uIPv48560TCP*:shell(LISTEN)syslogd31483root8uIPv4428081UDP*:syslog。

linux怎么确认进程是谁调用?

通过pid,ps-lA和psaxjf都能看到父进程的PID(ppid),编程的话,可用getppid函数

linux中查看系统当前所有进程的命令是?

Linux查询出当前系统的所有进程的方法使用搜索功能搜索“Terminal”,打开Ubuntu命令行终端。通过控制台Terminal,执行ps的帮助命令“ps--helpa”查看ps命令支持的参数列表。在控制台,使用命令“ps-A”查看当前系统所有的进程。在控制台使用ps命令“ps-aux|less”,查看当前系统正在运行的所有进程。在控制台使用ps命令“ps-Uroot-uroot-N”,查看当前系统中非root运行的所有进程。在控制台使用ps命令“ps-utest”,查看当前系统中test用户运行的所有进程。

阅读剩余
THE END