⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 172.html

📁 本文详细介绍了学习FREEBSD的一些命令
💻 HTML
字号:
<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>www.newok.com::FreeBSD使用大全</title>
<link rel=stylesheet href="newok.css" tppabs="http://www.newok.com/include/newok.css">
</head>

<body>

<div align=center>
<p>&nbsp;</p>
<table width=720>
<tr><td>
<strong>当前所在位置:</strong><a href="javascript:if(confirm('http://www.at.china.com/bsd/index.html  \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?'))window.location='http://www.at.china.com/bsd/index.html'" tppabs="http://www.at.china.com/bsd/index.html" class=t1>FreeBSD使用大全>></a>
</td></tr>
</table>
<table width=700>
<tr><th><font color=white>FreeBSD连载(26):进程的权限</font></th></tr>
<tr><td>&nbsp;</td></tr>
<tr><td align=left><i>作者:</i>王波</td></tr>
<tr><td>&nbsp;</td></tr>
<tr><td><font color=white>由于FreeBSD是多用户系统,因此进程必须要受到权限的控制和保护。出于安全性的考虑,一个用户不可能杀死其他用户启动的进程,一个进程也不能非法存取其他用户的文件数据。只有超级用户和超级用户启动的进程才有最大的权限,普通进程就只与进程的执行者相关,只具有这个用户的权限。<br><br>  一些情况下(特别是执行系统维护任务时),要求普通用户也能完成特殊权限的任务,那么就必须在进程执行过程中改变进程的身份。改变进程的身份则必须同时具备两个要求:程序文件本身具有SetUID或SetGID属性,同时程序中需要相应调用setuid()或setgid()系统调用,这两个系统调用能够检查文件的属性,并完成更改进程权限的操作。<br><br>  通常只有系统程序才需要利用这两个属性,例如系统程序su允许普通用户成为root用户,就使用的是这个能力。&nbsp;<br><br>$&nbsp;ls&nbsp;-l&nbsp;a*<br>-rwxr-xr-x&nbsp;&nbsp;&nbsp;1&nbsp;user&nbsp;&nbsp;wheel&nbsp;&nbsp;3212&nbsp;Dec&nbsp;&nbsp;4&nbsp;12:36&nbsp;a1<br>-rwxr-xr-x&nbsp;&nbsp;&nbsp;1&nbsp;user&nbsp;&nbsp;wheel&nbsp;&nbsp;3212&nbsp;Dec&nbsp;&nbsp;4&nbsp;12:36&nbsp;a2<br>$&nbsp;chmod&nbsp;u+s&nbsp;a1<br>$&nbsp;ls&nbsp;-l&nbsp;a*<br>-rwsr-xr-x&nbsp;&nbsp;&nbsp;1&nbsp;user&nbsp;&nbsp;wheel&nbsp;&nbsp;3212&nbsp;Dec&nbsp;&nbsp;4&nbsp;12:36&nbsp;a1<br>-rwxr-xr-x&nbsp;&nbsp;&nbsp;1&nbsp;user&nbsp;&nbsp;wheel&nbsp;&nbsp;3212&nbsp;Dec&nbsp;&nbsp;4&nbsp;12:36&nbsp;a2<br>$&nbsp;chmod&nbsp;g+s&nbsp;a2<br>$&nbsp;ls&nbsp;-l&nbsp;a*<br>-rwsr-xr-x&nbsp;&nbsp;&nbsp;1&nbsp;user&nbsp;&nbsp;wheel&nbsp;&nbsp;3212&nbsp;Dec&nbsp;&nbsp;4&nbsp;12:36&nbsp;a1<br>-rwxr-sr-x&nbsp;&nbsp;&nbsp;1&nbsp;user&nbsp;&nbsp;wheel&nbsp;&nbsp;3212&nbsp;Dec&nbsp;&nbsp;4&nbsp;12:36&nbsp;a2<br>&nbsp;<br>&nbsp;<br><br>  上面第一个chmod(chmod&nbsp;u+s&nbsp;a.out)为a.out增加设置属主身份权限,然后列表中对应属主的执行权限位的&nbsp;“x”&nbsp;标志将改变为&nbsp;“s”&nbsp;(文件属性显示为rwsr-xr-x)。第二个c&nbsp;hmod&nbsp;(chmod&nbsp;g+s&nbsp;a.out)为a.out增加设置组身份权限,则列表中对应组的执行权限位的&nbsp;“x&nbsp;”&nbsp;标志将改变为&nbsp;“s”&nbsp;(文件属性显示为rwxr-sr-x)。同样,SetUID和SetGID&nbsp;属性也都有相应的八进制表示方式,SetUID为04000,后面的三个八进制位属于文件的读写访问属性设置,相应S&nbsp;etGID为02000,它们两个属性位处于读写属性位之前。下面是一个更改属性设置的例子:&nbsp;<br><br>#&nbsp;ls&nbsp;-l&nbsp;/bin/ps<br>-r-xr-sr-x&nbsp;&nbsp;1&nbsp;bin&nbsp;&nbsp;kmem&nbsp;163840&nbsp;May&nbsp;&nbsp;6&nbsp;06:02&nbsp;/bin/ps<br>#&nbsp;chmod&nbsp;a=r&nbsp;/bin/ps<br>#&nbsp;su&nbsp;user<br>$&nbsp;ps<br>bash:&nbsp;ps:&nbsp;Permission&nbsp;denied<br>$&nbsp;^D<br>#&nbsp;chmod&nbsp;a+x&nbsp;/bin/ps<br>#&nbsp;su&nbsp;user<br>$&nbsp;ps<br>ps:&nbsp;/dev/mem:&nbsp;Permission&nbsp;denied<br>$&nbsp;^D<br>#&nbsp;chmod&nbsp;g+s&nbsp;/bin/ps<br>#&nbsp;su&nbsp;user<br>$&nbsp;ps<br>&nbsp;&nbsp;PID&nbsp;&nbsp;TT&nbsp;&nbsp;STAT&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;TIME&nbsp;COMMAND<br>&nbsp;&nbsp;226&nbsp;&nbsp;p2&nbsp;&nbsp;S&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0:00.56&nbsp;bash<br>&nbsp;&nbsp;239&nbsp;&nbsp;p2&nbsp;&nbsp;R+&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;0:00.02&nbsp;ps<br>$<br>&nbsp;<br>&nbsp;<br><br>  第一次以user身份执行ps时,ps的文件属性被改为对所有用户只有读权限,因此不能执行,shell报告&nbsp;Permission&nbsp;denied;第二次以user身份执行ps时,ps报告不能打开/dev/mem文件,这是因为普通用户无权存取内存映象文件。而第三次执行ps时,由于设置了setgid位,和kmem同组的进程就能够打开&nbsp;/dev/mem文件,从而正确执行了ps程序。<br><br>  具有SetUID或SetGID属性的程序,能够在进程执行中调用系统调用setuid()或setgid()&nbsp;,调用成功后这个进程就具有了程序文件属主和组的权限,就可以完成以前改变身份之前不能完成的任务。因为通过它们程序可以改变进程的用户标识,绕过系统的权限设置,因此这两个属性对于系统安全非常重要。尤其是属于root的文件,并设置了SetUID属性的程序,更是系统安全中值得注意的地方。为了保证系统安全,必须保证没有非法的SetUID或&nbsp;SetGID程序的存在,通常管理员可以使用find命令来完成这个任务,例如查找具有SetUID的程序,则执行:<br><br>#&nbsp;find&nbsp;/&nbsp;-perm&nbsp;4000&nbsp;-print<br>&nbsp;<br>&nbsp;<br><br>未完,待续。。。</font></td></tr>
<tr><td>&nbsp;</td></tr>
<tr><td align=right><i>来源:</i><a href="javascript:if(confirm('http://freebsd.online.ha.cn/  \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?'))window.location='http://freebsd.online.ha.cn/'" tppabs="http://freebsd.online.ha.cn/">http://freebsd.online.ha.cn/</a></td></tr>
</table>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
声明:本站的文章和软件是本人从网上收集整理的(除本人的作品之外),所有版权属于作者,<br>
如有侵犯您的权益,请指出,本站将立即改正,谢谢.
<hr  width=500>
<br>
<font color=#ffffff>Copyright 2000 <a href="javascript:if(confirm('http://www.newok.com/  \n\nThis file was not retrieved by Teleport Pro, because it is addressed on a domain or path outside the boundaries set for its Starting Address.  \n\nDo you want to open it from the server?'))window.location='http://www.newok.com/'" tppabs="http://www.newok.com/" class=t1>www.newok.com</a></font>
</div>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -