`
brxonline
  • 浏览: 64256 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

UNIX编程(6)-系统数据文件和信息

    博客分类:
  • C
阅读更多
1.口令文件
口令文件存储在/etc/passwd中,是一个ASCII文件
用用户名或UID获取passwd结构体信息的函数
#include <pwd.h>

struct passwd *getpwuid(uid_t uid);

struct passwd *getpwnam(const char *name);
获取口令文件中所有内容

#include <pwd.h>

struct passwd *getpwent(void);

Returns: pointer if OK, NULL on error or end of file


void setpwent(void);

void endpwent(void);

2.阴影口令
某些系统将加密口令存放在一个通常称为阴影的文件里面
访问阴影口令文件的函数
#include <shadow.h>

struct spwd *getspnam(const char *name);

struct spwd *getspent(void);




Both return: pointer if OK, NULL on error


void setspent(void);

void endspent(void);
3.组文件
组的信息存放在/etc/group文件中
查看组信息的函数
#include <grp.h>

struct group *getgrgid(gid_t gid);

struct group *getgrnam(const char *name);


查看整个组文件的函数


#include <grp.h>

struct group *getgrent(void);

Returns: pointer if OK, NULL on error or end of file


void setgrent(void);

void endgrent(void);

获取和设置附加组函数

#include <unistd.h>

int getgroups(int gidsetsize, gid_t grouplist[]);

Returns: number of supplementary group IDs if OK, 1 on error


#include <grp.h>     /* on Linux */
#include <unistd.h>  /* on FreeBSD, Mac OS X, and
Solaris */

int setgroups(int ngroups, const gid_t grouplist[]);

#include <grp.h>     /* on Linux and Solaris */
#include <unistd.h>  /* on FreeBSD and Mac OS X */

int initgroups(const char *username, gid_t basegid);

4.登录账号记录

系统都提供下列两个数据文件:utmp文件,它记录当前登录进系统的各个用户
wtmp文件,它跟踪各个登录和注销事件

5.系统标识

获取当前主机和操作系统相关的信息的函数

#include <sys/utsname.h>

int uname(struct utsname *name);


7.时间和日期

UNIX内核提供的时间是从1970年1月1日00:00:00以来经过的秒数
#include <time.h>

time_t time(time_t *calptr);


#include <sys/time.h>

int gettimeofday(struct timeval *restrict tp, void
*restrict tzp);


日期间的转换和格式化


#include <time.h>

struct tm *gmtime(const time_t *calptr);

struct tm *localtime(const time_t *calptr);


#include <time.h>

time_t mktime(struct tm *tmptr);


#include <time.h>

char *asctime(const struct tm *tmptr);

char *ctime(const time_t *calptr);


#include <time.h>

size_t strftime(char *restrict buf, size_t maxsize,
                const char *restrict format,
                const struct tm *restrict tmptr);












  • 大小: 13.1 KB
分享到:
评论

相关推荐

    unix环境高级编程--第章 文件和目录.doc.doc

    " Unix 环境高级编程 - 文件和目录" 在 Unix 环境高级编程中,文件和目录是两个基本概念。本章将详细介绍文件和目录的属性、stat 函数、fstat 函数、lstat 函数等知识点,并且对目录进行操作的函数进行详细的解释。...

    UNIX----系统编程

    在IT领域,UNIX系统编程是开发者和系统管理员必须掌握的核心技能之一。UNIX作为一个历史悠久且功能强大的操作系统,其设计理念和编程接口对现代操作系统产生了深远影响。本文将深入探讨UNIX系统编程的相关知识点,...

    unix环境高级编程--第章 文件和目录(下).doc

    在“UNIX环境高级编程--第4章 文件和目录(下)”中,主要探讨了文件截短、文件系统以及inode等关键概念。 文件截短是一个实用功能,用于减少文件的大小。在某些情况下,可能需要从文件尾部移除数据以缩短文件长度。...

    UNIX编程艺术 - 扫描版 - 书签

    根据提供的信息,我们可以了解到这是一本关于《UNIX编程艺术》的经典书籍,该书提供了高清扫描版本,并且包含完整的书签,方便读者进行阅读与查阅。接下来,我们将从这本书的主题出发,探讨几个重要的UNIX编程概念与...

    Unix编程艺术--完整书签版

    此外,书中还涉及了Unix工具和库的使用,如grep、sed、awk等强大的文本处理工具,以及C语言编程,包括标准库函数和系统调用的使用。这些工具和库是Unix系统编程的重要资源,能帮助开发者编写出高效、可维护的代码。 ...

    Linux-UNIX系统编程手册.pdf

    《Linux/UNIX系统编程手册》是一本旨在深入介绍Linux和UNIX系统编程接口的权威指南,该书由经验丰富的Linux编程专家Michael Kerrisk所著。 该手册详细描述了系统编程中必须掌握的系统调用和库函数。系统调用是用户...

    UNIX高级编程5-6(大师著作)

    通过学习《UNIX高级编程》,程序员不仅可以掌握UNIX编程的核心技术,还能培养出系统级别的思维,从而能够设计和编写更高效、更稳定、更健壮的软件系统。无论是对初学者还是经验丰富的开发者,这都是一本极具价值的...

    Linux编程接口 - Linux和UNIX系统编程手册

    - **系统管理员与高级用户**:希望深入了解Linux/UNIX编程接口及系统软件实现原理的人员。 #### 三、核心知识点概览 ##### 1. 标准兼容性与可移植性 - **POSIX标准**:本书重点关注Linux编程接口的同时,也非常...

    Linux-UNIX系统编程手册(上册)1

    《Linux-UNIX系统编程手册(上册)》是由Linux编程专家Michael Kerrisk撰写的一部权威指南,详细介绍了Linux和UNIX系统的编程接口。这本书是针对那些希望掌握系统编程技能的开发者,无论是在Linux还是其他UNIX平台上...

    linux/unix系统编程手册附录代码

    《Linux/Unix系统编程手册》是一本深受程序员和系统管理员喜爱的经典著作,它详细阐述了在Linux和Unix操作系统上进行低级编程的各种技术。附录中的代码是书中的实例,旨在帮助读者深入理解和掌握这些系统编程的核心...

    Linux/UNIX系统编程手册源码

    6. **文件系统操作**:包括文件权限管理、硬链接和软链接的创建、文件元数据的修改(如时间戳)等,这些都通过系统调用实现,如`chmod()`, `link()`, `symlink()`, `utimensat()`等。 7. **进程间通信(IPC)**:`...

    UNIX-Linux系统编程 光盘部分 下载

    《UNIX-Linux系统编程》是一本深入探讨UNIX与Linux系统编程的权威著作,它涵盖了操作系统接口、进程管理、文件操作、网络编程等多个重要领域。在光盘部分,可能包含了源代码、实例程序、练习题以及可能的教学视频,...

    操作系统课程设计----模拟unix文件系统

    通过这个课程设计,学生不仅可以学习到操作系统的基本概念,还能提升编程和系统设计能力。通过实际操作,深入理解文件系统如何高效地组织和管理数据,为后续深入学习操作系统和软件开发奠定坚实基础。

    UNIX环境高级编程 -- PDF格式

    《UNIX环境高级编程》是一本深受程序员喜爱的经典教程,它深入介绍了在UNIX操作系统环境下进行系统级编程的各种技术和方法。这本书不仅适用于C++开发者,也对任何想要深入理解UNIX系统的程序员都极具价值。以下是对...

    UNIX文件系统模拟

    通过这个项目,学生不仅能学习到操作系统的底层概念,还能提升实际编程和系统设计能力。这个模拟系统对于理解UNIX系统如何管理文件和目录,以及如何高效地在磁盘上分配和操作数据,具有极大的教学价值。

    HP-UNIX.rar_hp_hp unix_hp-unix download

    6. **管理工具**:提供了全面的系统管理和监控工具,如HPUX Admin Tools,便于系统管理员进行日常维护和故障排查。 通过下载并学习“HP-UNIX.rar”中的内容,用户可以掌握如何利用HP-UNIX搭建和管理高效、安全的...

    unix环境高级编程----------------------------------

    6. **权限与安全**:Unix的用户和组权限系统以及访问控制列表(ACL)是保证系统安全的关键。理解`umask()`、文件权限位以及`setuid()`、`setgid()`等机制对于编写安全的程序至关重要。 7. **信号(Signal)**:Unix...

    Linux-Unix系统编程手册

    根据提供的信息,《Linux-Unix系统编程手册》是一本详尽且深入探讨Linux和UNIX系统编程接口的专业书籍。此书由德国作者Michael Kerrisk撰写,并由孙剑、许从年、董健、孙余强等人翻译成中文。该书旨在帮助读者深入...

    Unix 系统和网络编程16-7答案完整版

    在本资源中,我们聚焦于"Unix 系统和网络编程16-7答案完整版",这显然是针对某一教科书或课程的第十六章习题解答。这个章节可能涵盖了Unix系统的基础知识以及网络编程的核心概念。让我们深入探讨一下这些主题。 ...

Global site tag (gtag.js) - Google Analytics