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

📄 07.htm

📁 Linux系统函数用法的详细介绍
💻 HTM
📖 第 1 页 / 共 5 页
字号:
  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体 size=2>struct utmp * getutline (struct utmp       *ut);<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体       size=2>getutline()用来从目前utmp文件的读写位置逐一往后搜索ut_type为USER_PROCESS       或LOGIN_PROCESS 的记录,而且ut_line 和ut-&gt;ut_line 相符。找到相符的记录便将该数据以utmp       结构返回,utmp结构请参考getutent()。<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体 size=2>返回utmp 结构数据,如果返回NULL       则表示已无数据,或有错误发生。<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体       size=2>#include&lt;utmp.h&gt;<BR>main()<BR>{<BR>struct utmp       ut,*u;<BR>strcpy (ut.ut_line,”pts/1”);<BR>while       ((u=getutline(&amp;ut))){<BR>printf(“%d %s %s %s       \n”,u-&gt;ut_type,u-&gt;ut_user,u-&gt;ut_line,u-&gt;ut_host);<BR>}<BR>}<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体 size=2>7 root pts/1<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>        <DIV align=right><BR><FONT face=宋体 size=2><A       name=linuxc110></A></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体 size=2><BR>initgroups(初始化组清单)     </FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体   size=2>setgrent,endgrent<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体       size=2>#include&lt;grp.h&gt;<BR>#include&lt;sys/types.h&gt;<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体 size=2>int initgroups(const char *user,gid_t       group);<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体       size=2>initgroups()用来从组文件(/etc/group)中读取一项组数据,若该组数据的成员中有参数user时,便将参数group组识别码加入到此数据中。<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体       size=2>执行成功则返回0,失败则返回-1,错误码存于errno。<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>        <DIV align=right><BR><FONT face=宋体 size=2><A       name=linuxc111></A></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体 size=2><BR>pututline(将utmp 记录写入文件)       </FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体       size=2>getutent,getutid,getutline<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体       size=2>#include&lt;utmp.h&gt;<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体 size=2>void pututline(struct utmp       *ut);<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体       size=2>pututline()用来将参数ut的utmp结构记录到utmp文件中。此函数会先用getutid()来取得正确的写入位置,如果没有找到相符的记录则会加入到utmp文件尾,utmp结构请参考getutent()。<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体 size=2><BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体 size=2>需要有写入/var/run/utmp       的权限<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>范例 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体       size=2>#include&lt;utmp.h&gt;<BR>main()<BR>{<BR>struct utmp       ut;<BR>ut.ut_type       =USER_PROCESS;<BR>ut.ut_pid=getpid();<BR>strcpy(ut.ut_user,”kids”);<BR>strcpy(ut.ut_line,”pts/1”);<BR>strcpy(ut.ut_host,”www.gnu.org”);<BR>pututline(&amp;ut);<BR>}<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>执行 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体 size=2>/*执行范例后用指令who -l 观察*/<BR>root pts/0       dec9 19:20<BR>kids pts/1 dec12 10:31(www.gnu.org)<BR>root pts/2 dec12       13:33<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>        <DIV align=right><BR><FONT face=宋体 size=2><A       name=linuxc112></A></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体 size=2><BR>seteuid(设置有效的用户识别码)     </FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体       size=2>setuid,setreuid,setfsuid<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体       size=2>#include&lt;unistd.h&gt;<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体 size=2>int seteuid(uid_t       euid);<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体       size=2>seteuid()用来重新设置执行目前进程的有效用户识别码。在Linux下,seteuid(euid)相当于setreuid(-1,euid)。<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体       size=2>执行成功则返回0,失败则返回-1,错误代码存于errno<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体 size=2>请参考setuid<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>        <DIV align=right><BR><FONT face=宋体 size=2><A       name=linuxc113></A></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体 size=2><BR>setfsgid(设置文件系统的组识别码)       </FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体       size=2>setuid,setreuid,seteuid,setfsuid<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体       size=2>#include&lt;unistd.h&gt;<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体 size=2>int setfsgid(uid_t       fsgid);<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体       size=2>setfsgid()用来重新设置目前进程的文件系统的组识别码。一般情况下,文件系统的组识别码(fsgid)与有效的组识别码(egid)是相同的。如果是超级用户调用此函数,参数fsgid       可以为任何值,否则参数fsgid必须为real/effective/saved的组识别码之一。<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体       size=2>执行成功则返回0,失败则返回-1,错误代码存于errno。<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体 size=2>此函数为Linux特有。<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>错误代码 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体 size=2>EPERM   权限不够,无法完成设置。<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>        <DIV align=right><BR><FONT face=宋体 size=2><A       name=linuxc114></A></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2><BR></FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体 size=2><BR>setfsuid(设置文件系统的用户识别码)       </FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>相关函数 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体       size=2>setuid,setreuid,seteuid,setfsgid<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>表头文件 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体       size=2>#include&lt;unistd.h&gt;<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>定义函数 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体 size=2>int setfsuid(uid_t       fsuid);<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>函数说明 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体       size=2>setfsuid()用来重新设置目前进程的文件系统的用户识别码。一般情况下,文件系统的用户识别码(fsuid)与有效的用户识别码(euid)是相同的。如果是超级用户调用此函数,参数fsuid可以为任何值,否则参数fsuid必须为real/effective/saved的用户识别码之一。<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>返回值 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋体       size=2>执行成功则返回0,失败则返回-1,错误代码存于errno<BR></FONT></DIV></TD></TR>  <TR>    <TD vAlign=top width=80>      <DIV align=right><FONT face=宋体 size=2>附加说明 </FONT></DIV></TD>    <TD>      <DIV align=left><FONT face=宋

⌨️ 快捷键说明

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