3.2.用户管理

Download Report

Transcript 3.2.用户管理

河南宏力集团网络管理部内部Linux培训
用户管理
刘西洋
1. 用户管理机制
 1.1 用户类型
 1.2 用户ID
 1.3 用户管理方式
 1.4 用户管理交换器文件
1.1 用户类型
 Linux用户分为两类:real user和deamon user
 Real User即普通用户,其中包括超级用户root,普
通用户如honliv。普通用户可登陆系统,获得shell
,执行命令。
 Deamon user为系统服务所使用的用户,此类用户
不可登陆系统,仅作服务进程的权限限制使用。
 Root为超级管理员账户,具有系统最高权限,可
以为所欲为。所以最具危险性。不建议直接使用
。
1.2 用户ID
 Linux用户的唯一标识为用户ID,文件系统以用户
ID标识文件的归属。进程以用户ID标识归属性和
具有的权限。
 用户ID从0开始,无最大限制,最好小于264。
 Red Hat 发行版中:
 0 为root用户ID
 1-499 为deamon用户ID范围
 500以上为普通用户ID范围。
 用户ID的范围界定推荐如上,但不强制。
1.3 用户管理方式
 Linux系统可用的用户管理方式为:
 NIS
使用NIS(版本2 )授权
 NIS+ 使用NIS+(版本3)授权
 Files
使用本地文件/etc/pssswd /etc/shawdow
 DB
使用本地数据库文件
 LDAP 使用LDAP授权
 MYSQL 使用MYSQL授权
1.4 NSS
 Name Service Switch. 名称服务开关,为常见系统服务和名称解析指
明配置数据库来源,包括:本地文件,DNS,NIS,LDAP 等
 NSS包含如下文件:
/etc/nsswitch.conf
/lib/libnss_compat.so.X
/lib/libnss_db.so.X
/lib/libnss_dns.so.X
/lib/libnss_files.so.X
/lib/libnss_nis.so.X
/lib/libnss_nisplus.so.2
主配置文件
为glibc实现以compat为来源的配置指向
为glibc实现以db为来源的配置指向
为glibc实现以dns为来源的配置指向
为glibc实现以files为来源的配置指向
为glibc实现以nis为来源的配置指向
为glibc实现以nisplus为来源的配置指向
 nsswitch.conf文件决定:
 系统从何处获得用户和密码信息。以及查找顺序,
 系统从何处获得IP地址,DNS域名解析,主机名。以及查找顺序。
1.5 PAM
 PAM (Pluggable Authentication Modules for Linux)基于Linu
x 的插入式验证模块。
 PAM实现用户登录授权验证处理。 PAM只提供接口,不
提供数据库。所以, PAM只是工具。
 PAM支持从本地文件,ldap,mysql获取用户和密码数据
库。
 PAM的文件:
 /usr/lib/libpam.so.*
 /etc/pam.conf或/etc/pam.d/
 /usr/lib/security/pam_*.so
PAM核心库
PAM配置文件
可动态加载的PAM 服务模块
1.6 如何工作?
 从登录界面到出现shell系统是如何工作的?
 1 系统输出login提示符,接受用户输入
 2 用户输入用户名,PAM检查用户名的合法性。
» 系统读取/etc/nsswitch.conf文件获取用户密码数据库类型
» PAM读取用户名数据库。
» PAM验证用户名的合法性。
 3 用户名合法,输出password提示符。用户名不合法,
输出失败信息。
 4 PAM获取用户输入,加密后和密码数据库比对。
» PAM读取密码数据库。
» PAM验证密码,完成授权。
 5 密码验证通过后,PAM创建会话,提供shell。
2. 相关配置文件
 /etc/passwd
 /etc/shadow
 /etc/group
 /etc/nsswitch.conf
 /etc/pam.d/login
2.1 /etc/passwd
 内容节选:
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
honliv:x:1001:1001::/home/honliv:/bin/bash
 passwd文件以“:”分段。







第一段:用户名,
第二段:密码,x号标示passwd文件中不包含密码,密码在shadow文件中。
第三段:用户ID
第四段:组ID,用户主属组的组ID
第五段:解释,备注,关于用户的一些详细信息。
第六段:用户主目录
第七段:用户shell,/sbin/nologin,不允许登陆。
 添加用户可以用useradd名,也可直接编辑passwd文件。
2.2 /etc/shadow
 内容节选:
root:$6$LdRV66cqgbYG0Vuz$xNrk7AM0.SA/GmP5IpyGo9D77JXLowDr48
WdX0IsaSArU6vhkQfbKW7B7LKBwX0BFv0PRpqRBHO0Eo0kFGR25.:15442:
0:99999:7:::
bin:*:14937:0:99999:7:::
daemon:*:14937:0:99999:7:::
 shadow文件以“:”分段。









第1段:用户名
第2段:密码,!代表未设置密码,$代表设置了密码,*表示不需要密码。
第3段:上次修改密码日期,自计算机元年1970年1月1日的天数。
第4段:多久后可修改密码,0代表随时可修改
第5段:密码的过期时间,99999代表永不过期
第6段:过期时间提前警告天数,7天后过期
第7段:密码过期后,系统自动禁用账户天数
第8段:账户被禁用的天数
第9段:备用
2.3 /etc/group
 内容节选:
root:x:0:root
bin:x:1:root,bin,daemon
daemon:x:2:root,bin,daemon
 group文件以“:”分段。




第一段:组名
第二段:组口令占位符
第三段:组ID
第四段:组内用户,逗号分隔添加多个用户。
2.4 /etc/nsswitch.conf
 /etc/nsswitch.conf
 该文件决定系统从何处查找用户和密码信息。以及多
种选择方式的优先级。
 同时该文件还决定hostname,network等服务获取地址
和主机名的优先级。
passwd:
shadow:
group:
hosts:
files
用户数据库从/etc/passwd读取
files
密码数据库从/etc/shadow读取
files
组数据库从/etc/passwd读取
files dns 主机名优先从host文件读取,其次通过DNS获取
2.5 /etc/pam.d/login
 内容节选:
module-type
auth
account
password
session
control-flag
required
sufficient
requisite
optional
control-flag
pam_env.so
pam_localuser.so
pam_cracklib.so
pam_keyinit.so
 module-type 模块类型有四种:
 auth、account、session、password,即对应PAM所支持的四种管理方式。
 同一个服务可以调用多个 PAM模块进行认证,这些模块构成一个stack。
 control-flag 有四种可能的值:
 required,requisite,sufficient,optional。
 它告诉PAM库该如何处理与该服务相关的PAM模块的成功或失败情况
 control-flag包含以下两个部分:
 module-path部分指明库文件路径,相对路径默认基于目录/usr/lib/security
 arguments 为模块执行的参数。
3 用户管理命令
 3.1 用户管理命令







/bin/users查看当前在系统上登录的用户
/usr/sbin/usernetctl 查看用户是否有操作网卡权限
/usr/sbin/newusers从文件批量创建用户
/usr/sbin/lnewusers同lnewusers
/usr/sbin/adduser同useradd
/usr/sbin/useradd添加用户
/usr/sbin/luseradd同useradd
/usr/sbin/userdel删除用户
/usr/sbin/luserdel同userdel
/usr/sbin/usermod修改用户属性 /usr/sbin/lusermod同usermod
 3.2 组管理命令





/usr/bin/groups查看当前在系统上登录的组
/usr/sbin/groupadd添加组
/usr/sbin/lgroupadd
/usr/sbin/groupdel删除组
/usr/sbin/lgroupdel
/usr/sbin/groupmod修改组属性
/usr/sbin/lgroupmod
/usr/sbin/groupmems把别的用户添加到自己的同名组,不需要特权