在Linux系统中,进程权限是非常重要的一方面。进程权限决定了进程可以执行的操作以及可以访问的资源。当你想要查看某个进程的权限时,该怎么做呢?本篇文章将会介绍方法并提供详细的步骤。
为开平等地区用户提供了全套网页设计制作服务,及开平网站建设行业解决方案。主营业务为成都做网站、网站建设、外贸营销网站建设、开平网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
在Linux中,有很多命令可以用来查看进程权限。其中最常用的是ps命令和lsof命令。
我们先来看看ps命令可以如何查看进程权限。
ps命令是一个用于查看进程信息的命令。其中,ps -ef命令可以显示系统中所有进程的详细信息,包括进程ID、进程名称、占用CPU的百分比以及进程的所有者等等。如果你想查看某个特定进程的权限,可以使用如下命令:
“`
ps -p [进程ID] -o pid,user,group,comm,umask
“`
这个命令将会打印出进程的PID、所属用户、所属组、命令名称以及进程的umask权限掩码。umask是一个三位八进制数,它用来限制文件的权限。其中,之一位表示Owner权限,第二位表示Group权限,第三位表示Other权限。它们分别对应数值4、2、1。例如,如果umask为022,表示Owner具有读写权限,Group和Other只有读权限。
除了使用ps命令,我们还可以使用lsof命令查看进程权限。lsof命令可以显示当前系统中打开的所有文件,因此可以用来查询一个进程打开了哪些文件,从而了解该进程使用了哪些资源。你可以使用如下命令:
“`
lsof -p [进程ID]
“`
这个命令将会列出该进程打开的所有文件以及对应的文件描述符。文件描述符是一个整数,用于标识一个文件或者网络连接。在Linux系统中,每个进程都会有一个文件描述符表,用于记录该进程打开的所有文件和网络连接的信息。
使用lsof命令可以查看该进程打开的文件的权限以及所有者等信息。例如,你可以看到该进程打开的文件的文件名、文件大小、文件类型、文件权限以及文件所有者等信息。
除了可以查看某个进程的权限,你还可以查看系统中所有进程的权限。你可以使用如下命令:
“`
ps -ef | awk ‘{if ($3 == 0) print $1,$2,$3,$8}’
“`
这个命令将会列出所有权限为root的进程,其中,$3 == 0表示进程的父进程是init进程,也就是进程权限为root。该命令的输出结果包括进程的Owner、PID、PPID以及进程名称。
在Linux系统中,进程权限是非常重要的。该权限决定了进程可以执行的操作以及可以访问的资源。你可以使用ps命令和lsof命令来查看进程的权限。ps命令可以显示系统中所有进程的详细信息,而lsof命令可以显示当前系统中打开的所有文件,因此可以用来查询一个进程打开了哪些文件,从而了解该进程使用了哪些资源。使用这些命令,你可以轻松地查询进程的权限以及其他相关信息。
相关问题拓展阅读:
Linux的用户在登录(login)之后,就带有一个用户身份(user ID, UID)和一个组身份(group ID, GID)。差物在Linux文件管理背景知识中,我们又看到,每个文件又有九位的权限说明,用来指明该文件允许哪些用户执行哪些操作(读、写或者执行)。
(参考Linux文件管理背景知识)
一般来说,Linux的用户信息保存在/etc/passwd中,组信息保存在/etc/group中,文件的每一行代表一个用户/组。早期的Linux将密码以名码的形式保存在/etc/passwd中,而现在则多以暗码(也就是加密之后的形式)的形式保存在/etc/shadow中。将密码存储在/etc/shadow中提高了密码的安全性,因为/etc/passwd允许所有人查看,而/etc/shadow只允许root用户查看。
进程权限
但是,在Linux中,用户的指令是在进程的范围内进行的。当我们向对某个文件进行操作的时候,我们需要在进程中运行一个程序,在进程中对文件打开,并进行读、写或者执行的操作。因此,我们需要将用户的权限传递给进程,以便进程真正去执虚尺液行操作。例如我们有一个文件a.txt, 文件中为一个字符串:
Hello world!
我以用户Vamei的身份登录,并在shell中运行如下命令:
$cat a.txt
整个运行过程以及文件读取如下:
我们可以看到,整个过程中我们会有两个进程,一个是shell本身(2256),一个是shell复制自身,再运行/bin/cat (9913)。图中的fork, exec, PID可参看Linux进程基础。第二个进程总共对文件系统进行了两次操作,一次是执行(x)文件/bin/cat,另外一次是读取(r)文件a.txt。使用$ls -l 查看这两个文件的权限:
$ls -l /bin/cat
-rwxr-xr-x 1 root rootApr/bin/cat
$ls -l a.txt
-rw-rw-r– 1 Vamei Vamei 14 Oct 7 09:14 a.txt
从上面可以看到(参考Linux文件管理背景知识),/bin/cat让所有用户都享有执行的权利,而Vamei作为a.txt的拥有者,对a.txt享有读取的权利。
让我们进入更多的细节 (The devil is in the details)。在进行这两次操作的时候,尽管用户Vamei拥有相应的权限,但我们发现,真正做工作的是进程9913。我们要让这个进程得到相应的权限。实际上,每个进程会维护有如下6个ID:
真实身份: real UID,real GID
有效身份: effective UID, effective GID
存储身份:saved UID, saved GID
其中,真实身份是我们登录使用的身份,有效身份是当该进程真正去操作文件时所检查的身份,存储身份较为特殊,我们等一下再深入。当进程fork的时候,真实身份和有效身份都会复制给子进程。大部分情况下,真实身份和有效身份都相同。当Linux完成开机启动之后,init进程会执行一个login的子进程。我们将用户名和密码传递给login子进程。login在查询了/etc/passwd和困大/etc/shadow,并确定了其合法性之后,运行(利用exec)一个shell进程,shell进程真实身份被设置成为该用户的身份。由于此后fork此shell进程的子进程都会继承真实身份,所以该真实身份会持续下去,直到我们登出并以其他身份再次登录(当我们使用su成为root的时候,实际上就是以root身份再次登录,此后真实身份成为root)。
最小权限原则
每个进程为什么不简单地只维护真实身份,却选择费尽麻烦地去维护有效身份和存储身份呢?这牵涉到Linux的“最小特权”(least priviledge)的原则。Linux通常希望进程只拥有足够完成其工作的特权,而不希望赋予更多的特权给它。从设计上来说,最简单的是赋予每个进程以super user的特权,这样进程就可以想做什么做什么。然而,这对于系统来说是一个巨大的安全漏洞,特别是在多用户环境下,如果每个用户都享有无限制的特权,就很容易破坏其他用户的文件或者系统本身。“最小特权”就是收缩进程所享有的特权,以防进程滥用特权。
然而,进程的不同阶段可能需要不同的特权。比如一个进程最开始的有效身份是真实身份,但运行到中间的时候,需要以其他的用户身份读入某些配置文件,然后再进行其他的操作。为了防止其他的用户身份被滥用,我们需要在操作之前,让进程的有效身份变更回来成为真实身份。这样,进程需要在两个身份之间变化。
存储身份就是真实身份之外的另一个身份。当我们将一个程序文件执行成为进程的时候,该程序文件的拥有者(owner)和拥有组(owner group)可以被,存储成为进程的存储身份。在随后进程的运行过程中,进程就将可以选择将真实身份或者存储身份复制到有效身份,以拥有真实身份或者存储身份的权限。并不是所有的程序文件在执行的过程都设置存储身份的。需要这么做的程序文件会在其九位(bit)权限的执行位的x改为s。这时,这一位(bit)叫做set UID bit或者set GID bit。
$ls -l /usr/bin/uuidd
-rwsr-sr-x 1 libuuid libuuidMar/usr/in/uuidd
当我以root(UID), root(GID)的真实身份运行这个程序的时候,由于拥有者(owner)有s位的设定,所以saved UID被设置成为libuuid,saved GID被设置成为libuuid。这样,uuidd的进程就可以在两个身份之间切换。
我们通常使用chmod来修改set-UID bit和set-GID bit:
$chmod 4700 file
我们看到,这里的chmod后面不再只是三位的数字。最前面一位用于处理set-UID bit/set-GID bit,它可以被设置成为4/2/1以及或者上面数字的和。4表示为set UID bit, 2表示为set GID bit,1表示为sticky bit (暂时不介绍)。必须要先有x位的基础上,才能设置s位。
linux 进程权限怎么看的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于linux 进程权限怎么看,如何查看Linux进程权限?,linux中的 代表什么权限的信息别忘了在本站进行查找喔。
成都网站设计制作选创新互联,专业网站建设公司。
成都创新互联10余年专注成都高端网站建设定制开发服务,为客户提供专业的成都网站制作,成都网页设计,成都网站设计服务;成都创新互联服务内容包含成都网站建设,小程序开发,营销网站建设,网站改版,服务器托管租用等互联网服务。
文章标题:如何查看Linux进程权限? (linux 进程权限怎么看)
分享地址:http://www.gawzjz.com/qtweb/news27/163477.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联