简介:这节我们将简单介绍一下Linux系统中一些数据据。(在这里、我们只简单介绍几个例子)
1:passwd数据文件和组文件。
a:首先我们在这里介绍passwd数据文件,此数据文件存放在/etc/passwd文件目录中。该文件中的数据可能有如下各项的内容。
注:由于不同的系统,该密钥文件中显示的条目可能不一样。
在这里我介绍一个特殊的例子:就是我们如何组织用于登录,这里我列举几种方法。
1>:将登录的shell换成/bin/false。
2>:将登录的shell换成/bin/nologin。(可以允许该用户使用ftp等服务)
3>:使用命令usermod -s /sbin/nologin 。
接下来、我们介绍一些有关密钥文件的一些函数。
struct passwd *getpwuid(uid_t uid);
struct passwd* getpwnam(const char* name);
这两个函数分别根据用户的ID和名字获取有关用户的一些信息,具体使用方法请参考man手册、这里就不一一赘述了。
接下来同样,我们介绍几个函数关于查看整个口令文件。
struct passwd* getpwent();
void setpwent();
void endpwent();
第一个函数是用来获取口令文件的下一项,它返回一个填充好的passwd结构的指针,第二个函数将文件位置重新置为文件开始的位置。第三个函数是释放文件所是哟个的资源。
2:系统标识,获取系统的一些信息。
函数原型:
int uname(struct utsname *name);
此函数获取系统的一些信息。在终端上我们可以使用uname命令获取一些信息。
3:接下来、我们讲解时间相关的函数。
这里主要介绍一下时间和日期相关的函数。
time_t time(time_t *calptr);//返回与时间和日期,如果参数不为空的环,将时间和日期保存到参数指向的内存空间中。
int gettimeofday(struct timeval* tp, void* tzp);//返回更加精确的时间,他返回的是程序执行的时间。
同时、我们在获得这种以秒数有关的时间、我们也需要将这种时间转换成年月日等各种形式的时间。同时struct tm结构体以年月日时分秒表示
时间,我们也可以用这个时间转换成其它的时间。如下图所示,各种时间格式的转换。
在这里,我们将所有的函数原型列出来。