linux下获取用户基本信息
通过c语言基础库从获取linux用户的基本信息。
1、使用struct passwd管理用户信息。
struct passwd
{
char *pw_name; /* 用户登录名 */
char *pw_passwd; /* 密码(加密后)*/
__uid_t pw_uid; /* 用户ID */
__gid_t pw_gid; /* 组ID */
char *pw_gecos; /* 详细用户名 */
char *pw_dir; /* 用户目录 */
char *pw_shell; /* Shell程序名 */
};
2、分析相并的系统文件/etc/passwd
1. root:x:0:0:root:/root:/bin/bash
2. daemon:x:1:1:daemon:/usr/sbin:/bin/sh
3. bin:x:2:2:bin:/bin:/bin/sh
在passwd文件中记录的是所有系统用户
每一行表示一个完整的struct passwd结构,以':'分隔出每一项值,其7项。
3、获取系统当前运行用户的基本信息。
#include <grp.h>
#include <pwd.h>
#include <unistd.h>
#include <stdio.h>
int main ()
{
uid_t uid;
struct passwd *pw;
struct group *grp;
char **members;
uid = getuid ();
pw = getpwuid (uid);
相关文档:
1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI) 就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......
今天在数据库中插入了中文,发现有的是乱码,有的不是,很是纳闷。
最后找到了解决办法:
打开 /etc/mysql/my.cnf
在[mysqld]和[client]节下分别添加:
default-character-set = utf8
然后重新启动mysql,需要注意的是,对修改以前创建的数据库来说,他的字符集还是原来的,所以还是会出现乱马,而新创建的数据 ......
也许只是我一个人比较笨,每次碰到bug,虽然有人给出补丁(patch),但是却不知道怎么使用。Manual Page ( man patch
)也只给出 patch -p(num)
<patchfile这样的用法,具体也不知道怎样确定num,如果你也有这样的疑惑,请继续阅读:
建立patch文件:
diff -Naur olddir newdir > new-patch
- or -
diff -Naur ol ......
http://blog.csdn.net/youta_chen/archive/2007/08/29/1763215.aspx
今年上半年我对市场常见的vimicro 摄像头移植了Linux下的驱动至在研的一款嵌入式开发板,开发环境为:
OS:Linux2.6.9
Compile:cross 3.3.2
CPU:Intel PXA270
Camera Typ ......
linux的chmod与chown命令详解
linux的chmod命令使用详解
使用方式 : chmod [-cfvR] [--help] [--version] mode file...
说明 : Linux/Unix 的档案存取权限分为三级 : 档案拥有者、群组、其他。利用 chmod 可以藉以控制档案如何被他人所存取。
mode : 权限设定字串,格式如下 : [ugoa...][[+-=][rw ......