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用户运行的所有进程。