返回 登录
0

Linux用户和组管理详细讲解

1.linux是通过三个机制来保证的用户安全:Authentication:认证 Authorization:授权 Accouting|Audition:审计
2.下面让我们先来了解一些关于管理用户、组和权限的一些介绍以及管理命令。主要介绍了一些参数以及用法!
Linux用户:管理员为:root 、ID为0
在centos 6上系统用户ID是(1-499)、centos 7上系统用户ID是(1-999)一般系统用户是用来守护程序进程,以及程序权限分配。
在centos 6上登陆用户ID是(500 +)、centos 7上登陆用户ID是(1000+)登陆用户用户登陆终端,和用户完成交互式操作。
linux组 :管理员为:root 、ID为0
在centos 6上系统组ID是(1-499)、centos 7上系统组ID是(1-999)。
在centos 6上普通组ID是(500 +)、centos 7上普通组ID是(1000+)。
3.Linux组的类别
用户的主要组(主组):用户必须属于一个且只有一个主组;组名同用户名,且仅包含一个用户:私有组 。
用户的附加组(辅助组):一个用户可以属于多个附加组,也可以是零个。
4.linux用户和组主要用户的配置文件
/etc/passwd 保存用户账号及其属性信息,有用户UID,主组ID,以及变量类型……
/etc/group 保存组及其属性信息
/etc/shadow 用户密码和用户密码相关属性
/etc/gshadow 组密码和组密码相关属性
/etc/login.efs 用户登陆默认值文件
/etc/default/useradd 用户家目录源文件
5.passwd文件格式
luyubo:x:500:500::/home/luyubo:/bin/bash
用户名:密码:UID:GID:注释信息:用户家目录:默认shell
6.group文件格式
luyubo:x:500:
群组名称:组密码:GID 以当前为附加组的用户列表以逗号分隔
7.shadow文件格式
luyubo:!!:17014:0:99999:7:::
用户名:密码:密码最近被修改的时间:密码在过几天可以被更改:密码在过几天必须变更:密码过期前多久提醒用户:密码过期后多久锁定用户:从1970年1月1号算起,多少天后失效。
8.gshdow文件格式
luyubo:!::
群组名称:组密码:组管理员列表 以当前为附加组的用户列表以逗号分隔
9.文件操作相关命令
vipw和vigr
man手册:vipw 和 vigr 命令分别编辑 /etc/passwd 和 /etc/group 文件。使用 -s 标识时,将编辑这些文件的影子版,即分别为 /etc/shadow 和 /etc/gshadow。这些程序将设置相应的锁,以防止文件损坏。寻找编辑器时,首先尝试环境变量 [Math Processing Error]EDITOR,最后是默认编辑器 vi(1)。
选项:
-g, –group 编辑 group 数据库
-h, –help 显示此帮助信息并推出
-p, –passwd 编辑 passwd 数据库
-q, –quiet 安静模式
-R, –root CHROOT_DIR chroot 到的目录
-s, –shadow 编辑 shadow 或 gshadow 数据库
pwck和grpck
pwck 命令检查用户及其认证信息的完整性。它检查 /etc/passwd 和 /etc/shadow 格式正确 、数据有效。将会提示用户删除格式不正确或者有其它错误的项。检查的项目有:正确的字段数 、一个唯一且有效的用户名 、 一个有效的用户和组标识符 、有效的主组 、 有效的主目录 、 有效的登录 shell
grpck - 检查组文件的完整性
10.用户和组管理命令
useradd:useradd - 创建一个新用户或更新默认新用户信息。

用法:useradd [选项] 登录
useradd -D
useradd -D [选项]
选项:
-b, –base-dir BASE_DIR新账户的主目录的基目录
-c, –comment COMMENT 新账户的 GECOS 字段
-d, –home-dir HOME_DIR 新账户的主目录
-D, –defaults显示或更改默认的 useradd 配置
-e, –expiredate EXPIRE_DATE 新账户的过期日期
-f, –inactive INACTIVE 新账户的密码不活动期
-g, –gid GROUP新账户主组的名称或 ID
-G, –groups GROUPS新账户的附加组列表
-h, –help 显示此帮助信息并推出
-k, –skel SKEL_DIR使用此目录作为骨架目录
-K, –key KEY=VALUE 不使用 /etc/login.defs 中的默认值
-l, –no-log-init不要将此用户添加到最近登录和登录失败数据库
-m, –create-home创建用户的主目录
-M, –no-create-home不创建用户的主目录
-N, –no-user-group不创建同名的组
-o, –non-unique允许使用重复的 UID 创建用户
-p, –password PASSWORD加密后的新账户密码
-r, –system 创建一个系统账户
-R, –root CHROOT_DIR chroot 到的目录
-s, –shell SHELL新账户的登录 shell
-u, –uid UID新账户的用户 ID
-U, –user-group创建与用户同名的组
-Z, –selinux-user SEUSER为 SELinux 用户映射使用指定 SEUSER
例如:我们要创建用户luyubo,设置用户UID为2016,主组为root,附加组为:ftp,postfix,ntp,主目录在/home/test/luyubo
[root@localhost ~]# useradd luyubo -u 2016 -g root -G ftp,postfix,ntp -d /home/test/luyubo
usermod:usermod - 修改一个用户账户
用法:usermod [选项] 登录
选项:
-c, –comment 注释 GECOS 字段的新值
-d, –home HOME_DIR 用户的新主目录
-e, –expiredate EXPIRE_DATE 设定帐户过期的日期为 EXPIRE_DATE
-f, –inactive INACTIVE 过期 INACTIVE 天数后,设定密码为失效状态
-g, –gid GROUP 强制使用 GROUP 为新主组
-G, –groups GROUPS 新的附加组列表 GROUPS
-a, –append GROUP 将用户追加至上边 -G 中提到的附加组中,
并不从其它组中删除此用户
-h, –help 显示此帮助信息并推出
-l, –login LOGIN 新的登录名称
-L, –lock 锁定用户帐号
-m, –move-home 将家目录内容移至新位置 (仅于 -d 一起使用)
-o, –non-unique 允许使用重复的(非唯一的) UID
-p, –password PASSWORD 将加密过的密码 (PASSWORD) 设为新密码
-R, –root CHROOT_DIR chroot 到的目录
-s, –shell SHELL 该用户帐号的新登录 shell
-u, –uid UID 用户帐号的新 UID
-U, –unlock 解锁用户帐号
-Z, –selinux-user SEUSER 用户账户的新 SELinux 用户映射
例如:我们要设置luyubo的注释信息,并设置账户在1个月后过期,过期后5天后密码失效,使用luyubo为新主组,并更改luyubo登录名为nzg,并且将家目录移动到/home/test/nzg,设置用户新的UID为0
[root@localhost ~]# usermod -c “luyuboand” -e 2016-09-02 -f 5 -g luyubo -l nzg -d /home/test/nzg -u 0 -o luyubo
有创建就有删除,来看一下删除命令 userdel
用法:userdel [选项] 登录
选项:
-f, –force 强制删除用户,删除之后不会立即退出,而是等当前ssh断开之后不可登陆
-h, –help 显示此帮助信息并推出
-r, –remove 删除主目录和邮件池
-R, –root CHROOT_DIR chroot 到的目录
-Z, –selinux-user 为用户删除所有的 SELinux 用户映射
主目录和邮件池子例如:删除luyubo用户
[root@localhost home]# userdel -r luyubo
组账号维护命令
groupadd: groupadd - 创建一个新组
用法:groupadd [选项] 组

选项:
-f, –force 如果组已经存在则成功退出
并且如果 GID 已经存在则取消 -g
-g, –gid GID 为新组使用 GID
-h, –help 显示此帮助信息并推出
-K, –key KEY=VALUE 不使用 /etc/login.defs 中的默认值
-o, –non-unique 允许创建有重复 GID 的组
-p, –password PASSWORD 为新组使用此加密过的密码
-r, –system 创建一个系统账户
-R, –root CHROOT_DIR chroot 到的目录
例如:创建系统组luyubo,设置GID为110。
[root@localhost ~]# groupadd -r luyubo -g 110
groupmod:修改系统上的组定义
用法:groupmod [选项]
选项:
-g, –gid GID 将组 ID 改为 GID
-h, –help 显示此帮助信息并推出
-n, –new-name NEW_GROUP 改名为 NEW_GROUP
-o, –non-unique 允许使用重复的 GID
-p, –password PASSWORD将密码更改为(加密过的) PASSWORD
-R, –root CHROOT_DIR chroot 到的目录
例如:更改luyubo的GID为:0,并更改名称为nzg。
[root@localhost home]# groupmod -g 0 -o -n nzg luyubo
groupdel - 删除一个组 [root@localhost ~]# groupdel luyubo

11.查看用户相关的ID信息
id:显示指定用户或当前用户(当未指定用户时)的用户与组信息。
用法:id [选项]… [用户名]
-a 忽略,仅为与其他版本相兼容而设计
-Z, –context 仅显示当前用户的安全环境
-g, –group 仅显示有效的用户组ID
-G, –groups 显示所有组的ID
-n, –name 显示组名称而非数字,不与-ugG 一起使用
-r, –real 显示真实ID 而非有效ID,与-ugG 一起使用
-u, –user 仅显示有效用户ID
–help 显示此帮助信息并退出
–version 显示版本信息并退出
如果不附带任何选项,程序会显示一些可供识别用户身份的有用信息。
例如:显示root用户的id,不以数字显示,并查看postfix的所有组ID
[root@localhost ~]# id -u -n root && id -G postfix

passwd命令介绍
用法: passwd [选项…] <帐号名称>
-k, –keep-tokens 保持身份验证令牌不过期
-d, –delete 删除已命名帐号的密码(只有根用户才能进行此操作)
-l, –lock lock the password for the named account (root only)锁定指定帐户的密码
-u, –unlock unlock the password for the named account (root only)解锁命名帐户的密码
-e, –expire expire the password for the named account (root only)将指定帐户的密码过期
-f, –force 强制执行操作
-x, –maximum=DAYS 密码的最长有效时限(只有根用户才能进行此操作)
-n, –minimum=DAYS 密码的最短有效时限(只有根用户才能进行此操作)
-w, –warning=DAYS 在密码过期前多少天开始提醒用户(只有根用户才能进行此操作)
-i, –inactive=DAYS 当密码过期后经过多少天该帐号会被禁用(只有根用户才能进行此操作)
-S, –status 报告已命名帐号的密码状态(只有根用户才能进行此操作)
–stdin 从标准输入读取令牌(只有根用户才能进行此操作)
例如:root用户密码永不过期,删除luyubo用户的密码,并锁定luyubo用户,设置nzg密码最长有效期为60,最低有效期为3天,密码过期前5天提醒nzg用户,密码过期2天后nzg被禁用
设置root密码永不过期
[root@localhost ~]# passwd -k root
删除用户密码
[root@localhost ~]# passwd -d luyubo
锁定用户
[root@localhost ~]# passwd -l luyubo
设置nzg密码策略
[root@localhost ~]# passwd -x 60 -n 3 -w 5 -i 2 nzg

12.设置用户密码设置策略
用法:chage [选项] 登录
选项:
-d, –lastday 最近日期 将最近一次密码设置时间设为“最近日期”
-E, –expiredate 过期日期 将帐户过期时间设为“过期日期”
-h, –help 显示此帮助信息并推出
-I, –inactive INACITVE 过期 INACTIVE 天数后,设定密码为失效状态
-l, –list 显示帐户年龄信息
-m, –mindays 最小天数 将两次改变密码之间相距的最小天数设为“最小天数”
-M, –maxdays 最大天数 将两次改变密码之间相距的最大天数设为“最大天数”
-R, –root CHROOT_DIR chroot 到的目录
-W, –warndays 警告天数 将过期警告天数设为“警告天数”
例如:设置nzg用户最近一次更改密码时间为2012-08-02 过期10天后密码设置为失效状态,最小修改密码时间为10天,最大修改密码时间为80天,在密码过期前2天进行警告提醒
[root@localhost ~]# chage -d 2012-08-02 -I 10 -m 10 -M 80 -W 2 nzg
13.groupmems 用户主组的管理员成员
用法:groupmems [选项] [动作]
选项:
-g, –group groupname 更改组 groupname,而不是用户的组(只 root)
-R, –root CHROOT_DIR chroot 到的目录动作:
-a, –add username 将用户 username 添加到组成员中
-d, –delete username 从组的成员中删除用户 username
-h, –help 显示此帮助信息并推出
-p, –purge 从组中移除所有成员
-l, –list 列出组中的所有成员
例如:把nzg添加到luyubo用户组,并列出luyubo组内所有成员
添加用户组
[root@localhost ~]# groupmems -g luyubo -a nzg
列出 用户
[root@localhost ~]# groupmems -g luyubo -l
小命令记录
chfn:设定用户注释信息!
chsh:设定用户shell类型!
newgrp命令:临时切换基本组; 如果用户本不属于此组,则需要组密码 例如:newgrp - luyubo
14.密码加密格式
加密解密机制:
加密:明文–> 密文
解密:密文–> 明文
单向加密:哈希算法,原文不同,密文必不同
相同算法定长输出,获得密文不可逆推出原始数据
雪崩效应:初始条件的微小改变,引起结果的巨大改变
md5: message digest, 128bits
sha1: secure hash algorithm, 160bits
sha224: 224bits
sha256: 256bits
sha384: 384bits
sha512: 512bits
更改加密算法 authconfig –passalgo=sha256 –update 等同于修改了/etc/login.efs配置文件
本文出自 “Linux学习之路” 博客,请务必保留此出处http://luyubo.blog.51cto.com/7634254/1833430

评论