zoukankan      html  css  js  c++  java
  • Linux环境-用户信息&主机信息&临时文件

    用户信息&主机信息

    20191022

    13:39

    通过检查环节变量与读取系统时间,程序可以很大程度上了解当前运行的信息。以内部机制来说,用户还有一个唯一的用户标识符UID,Linux每运行一个程序,实际上都是以某个用户的名义在执行,因此程序都会有一个关联的UID。

    也可以使用SUID(文件属主ID),su命令(超级用户)来执行程序。

    头文件 sys/types.h 中 定义了uid_t结构体

    Linux有一个shadow密码文件,普通用户不允许读取,有一组函数来提供函数接口。

       

       

     Linux临时文件

    1 #include <unistd.h>
    2 
    3 int gethostname(char *name, size_t namelen); //函数把机器的网络名写入name字符串,写入成功返回0,失败返回-1.
    4 
    5 int uname(struct utsname *name); //返回utname结构体 包含了主机更多的信息
    6 
    7 long gethostid(void); //返回与主机对应的一个唯一值,对于系统硬件是唯一的。Linux返回一个基于该机器因特网地址的值,但对于许可证管理来说不够安全。 

    很多时候,程序会使用一些文件形式的临时存储手段,用来存储计算的中间结果或关键操作前的文件备份。多任务的系统中,必须保证程序里的临时文件名是唯一的,否则程序间将造成干扰。以下函数可以生成唯一的文件名

    1 #include<stdio.h>
    2 
    3 char *tmpnam(char *s)

    返回一个不与任何已存在文件同名的文件名。字符串的长度至少是20个字符,tmpnam最多可以被调用TMP_MAX次

    使用tmpfile()函数,在使用tmpnam为临时文件命名后创建文件并将文件打开,可以避免另一个程序可能会创建出与tmpnam()返回的文件名相同的文件。

       

    以下两个函数,与上边两个函数类似 区别在于可以按照指定的模板生成临时文件

      

  • 相关阅读:
    三大程序结构
    数组
    php多种排序
    购物车多选提交订单
    AJAX无刷新加购物车
    php常用
    通过判断加载遍历首页内容
    登陆权限验证
    PHP打印数据和mb_substr函数
    apollo3.5搭建教程(调试成功)
  • 原文地址:https://www.cnblogs.com/Mrwang-tju/p/12198486.html
Copyright © 2011-2022 走看看