序:本人水平有限,希望把自己的学习过程记录下来,请大家多指教!
一、几个基本的概念
1.学习linux编程,首先明确linux是一个多用户多任务的系统,它遵循POSIX标准。POSIX 表示可移植操作系统接口,是为了方便不同平台的移植而规定的一套标准。根据这个标准我们可以清楚的明白一些Linux下数据类型。eg:<sys/type.h>下的数据类型。
2.Linux 是一个多用户、多任务的操作系统。这个概念的引入产生了,用户和用户组的概念。多用户是指多个用户可以在同一时间使用计算机系统;多任务是指Linux可以同时执行几个任务,它可以在还未执行完一个任务时又执行另一项任务。我们就是通过组和组用户进行认证、保护等机制的。(就是区分用户的角色)
3.用户和用户组,产生了UID、GID的概念,其为一些整数。
a)UID:对应Linux下的用户的帐号。其配置文件是:/etc/passwd(系统所有用户的记录);还有一个/etc/shadow(影子文件,记录密码等相关信息);
b)GID:类似UID配置文件,/etc/group;/etc/gshadow
c)etc/login.defs 配置文件;/etc/login.defs 文件是当创建用户时的一些规划,比如创建用户时,是否需要家目录,UID和GID的范围;用户的期限等等,这个文件是可以通过root来定义的;
/etc/default/useradd 文件;通过useradd 添加用户时的规则文件;
4.其过程如下:例如使用LANDSCAPE登录---查阅/etc/passwd---确定用户UID---存取UID对应密码/etc/shadow--读取配置文件;
GID类似;