Linux的用户管理
时间:2006-06-11 来源:softwindow
超级用户:root
-可以控制所有的程序,访问所有文件,使用系统上的所有功能
-不应该使用 root 身份来处理日常的事务
-可以配置一些特定的程序由某些用户以 root 身份去运行,而不必赋予他们 root 权限。
——————————————————————————————————
1、创建新用户和组
useradd
groupadd
-----------------------
所有用户都存放在 /etc/passwd
所有组都存放在 /etc/group
查看的命令可以是: less 目录名
------------------------
password文件的结构:
LogonID :Password :UID : GID :FullName/comment :HomeDirectory : DefaultShell
-p -u -g / -G -c -d -s
第一列 用户名
第二列 用户的密码,“x”说明真正的密码存放在 /etc/shadow 映像文件中
第三列 用户的数字ID
第四列 用户的主组的ID
第五列 用户的全名,或者是注释
第六列 用户主目录的位置,这个目录通常位于 /home 目录下,目录名与用户 ID 相同
第七列 用户的默认控制台
-------------------------------
Group结构:
GroupName :Password :Index :User1,User2 ...
第一列 组的名字
第二列 密码,“x”说明真正的密码存放在 /etc/gshadow 映像文件中
第三列 组的一个数字索引,
在第三列之后将是以逗号隔开的组的成员的用户ID。
将真正的密码存放在/etc/shadow中不是最好的办法,而应该将用户保存于一个单独的地方,比如使用 LDAP。
LDAP(轻量级目录访问协议,Lightweight Directory Access Protocol)是实现提供被称为目录服务的信息服务。目录服务是一种特殊的数据库系统,其专门针对读取,浏览和搜索操作进行了特定的优化。目录一般用来包含描 述性的,基于属性的信息并支持精细复杂的过滤能力。目录一般不支持通用数据库针对大量更新操作操作需要的复杂的事务管理或回卷策略。而目录服务的更新则一般都非常简单。这种目录可以存储包括个人信息、web链结、jpeg图像等各种信息。为了访问存储在目录中的信息,就需要使用运行在TCP/IP之上的访问协议—LDAP。 LDAP目录中的信息是是按照树型结构组织,具体信息存储在条目(entry)的数据结构中。条目相当于关系数据库中表的记录;条目是具有区别名DN(Distinguished Name)的属性(Attribute),DN是用来引用条目的,DN相当于关系数据库表中的关键字(Primary Key)。属性由类型(Type)和一个或多个值(Values)组成,相当于关系数据库中的字段(Field)由字段名和数据类型组成,只是为了方便检索的需要,LDAP中的Type可以有多个Value, 而不是关系数据库中为降低数据的冗余性要求实现的各个域必须是不相关的。LDAP中条目的组织一般按照地理位置 和组织关系进行组织,非常的直观。LDAP系统结构图见图1.
图1 LDAP系统结构图
LDAP的信息是以树型结构存储的,在树根一般定义国家(c=CN)或域名(dc=com),在其下则往往定义一个或多个组织(organization)(o=Acme)或组织单元(organizational units) (ou=People)。一个组织单元可能包含诸如所有雇员、 大楼内的所有打印机等信息。
此外,LDAP支持对条目能够和必须支持哪些属性进行控制,这是有一个特殊的称为对 象类别(objectClass)的属性来实现的。该属性的值决定了该条目必须遵循的一些规则,其规定了该条目能够及至少应该包含哪些属性。例如:inetorgPerson对象类需要支持sn(surname)和cn(common name)属性,但也可以包含可选的如邮件,电话号码等属性。dn :一条记录的位置;dc :一条记录所属区域;ou :一条记录所属组织;cn/uid:一条记录的名字/ID。OpenLdap是一个正在得到日益普遍应用的开源软件,和LADP完全兼容。
———————————————————————————————————
2. 修改密码
passwd UserID
- 只有 root 用户可以用 passwd 修改其他用户的密码
- 从控制台Shell输入 passwd ,用户可以修改自己的密码
______________________________________________________________________
3. 删除用户
userdel -r 用户名
———————————————————————————————————
4、添加和删除组成员
gpasswd -a / -d 用户名 组名
也可以通过直接编辑 /etc/group 文件来对组进行修改成员。
———————————————————————————————————
5、用户和组的关联
-每个文件只能属于一个主人和一个组
-基于所需要的资源访问权限而不是根据业务单位来定义组,可以创建更多的组来更好地控制对资源的访问,不要吝惜对组的使用,在复杂的环境中,不要害怕创建很多组。
*********************************************************************
多用户之间的切换ALT+F1~F6
Linux是真正的多用户操作系统,可以同时接受多个用户的远程和本地登录,也允许同一个用户多次登录。Linux为本地用户(也就是做在计算机面前的用户)提供了虚拟控制台访问方式,允许用户在同一时间从不同的控制台进行多次登录。
虚拟控制台的选择可以通过按ALT+F1~F6六个功能键来实现。例如,用户登录后,按一下ALT+F2组合键,用户又可以看到“login:”提示符,这其实就是第二个虚拟控制台,而这时再按下ALT+F1组合键,用户则又可以回到第一个虚拟控制台。
大家可以通过使用虚拟控制台来感受Linux系统多用户的特性。例如用户可以在某一虚拟控制台上进行的工作尚未结束时,就可以切换到另一个虚拟控制台上开始另一项工作。例如在开发软件时,可以在一个控制台上编辑程序,在另一个控制台上进行编译,在第三个控制台上查阅信息