一、用户和组管理
1.用户和组的认识
1.1用户账号
- 超级用户:root用户是linux系统中默认的超级用户,对系统拥有最高权限,当进行系统管理、维护任务时,才建议使用root用户。日常事务处理建议使用普通用户。
- 普通用户:普通用户账号需要由root用户或者其他管理员用户创建,拥有一定的权限,一般只在用户自己的家目录中拥有完整权限。
- 程序用户:经常所说的服务用户
1.2组账号
- 由于某种联系将多个用户集合在一起,就构成了一个用户组。
- 每一个用户至少属于一个组,这个组称为基本组,如果这个用户同时还包括在其他组里面,其他的组被称为该用户的附加组。
1.3uid、gid
- uid:是用户id,范围在(1~999),其中root用户的uid为0
- gid:是组id,范围在(1000~60000),其中root组的gid为0
2.用户和组的配置文件
创建一个linux用户会改变系统哪些文件
- 存放用户信息文件 /etc/passwd
- 存放用户密码文件 /etc/shadow
- 存放组账号信息文件 /etc/group
- 存放组密码文件 /etc/gshadow
- 用户的家目录 /home
- 邮件账号 /var/spool/mail/
2.1 vim/etc/passwd 存放用户信息文件
(1)用于保存用户名称、宿主目录、登录shell环境等基本信息
(2)每段字段用冒号“:”进行分隔
(3)总共7个字段
用户名:密码:uid:gid:用户全名(描述信息):家目录路径:shell环境
基于系统运行和管理的需要,所有的用户都能访问/etc/passwd文件的内容,但是只有root用户能进行修改早期的时候账号和密码信息是保存在passwd文件中的,不法用户可以获取密码字符串进行暴力破解,存在不安全性,因此后来将密码转存到专门的shadow文件中,而passwd文件的密码用“x”表示。
切换用户 su - 用户名
2.2 vim/etc/shadow
(1)shadow文件又被称为“影子文件”,保存各个用户账号的密码信息,因此对shadow文件的访问进行严格限制。默认只有root用户能够读取文件的内容。
(2)每段字段用冒号“:”进行分隔
(3)总共9个字段
账号:
- 密码(sha-512哈希加密):“*”“!!”时,表示此用户不能登录系统。为空,就是该用户登录系统无需密码
- 最近更新密码日期:从1970.1.1起到最近修改密码时间间隔天数
- 密码不可更变天数:自本次修改密码后,必须经过多少天后才能再次修改密码,默认值为0,表示不限制
- 密码需要重新变更天数:密码最长有效天数,自本次修改密码后,经过多少天后必须再次修改密码,默认值为99999,表示不限制
- 变更前警告天数:提前多少天警告用户密码将过期,默认值为7
- 密码过期后宽限天数:密码过期后多少天将禁止用此用户
- 账号失效日期(从1970年1月1日起):从1970.1.1起,用户多少天后作废,默认值为空,表示账号永久可用。
- 保留:保留字段,暂时没有特定的用途
管理员用户手动修改shadow文件
使用chage命令可以修改
2.3 vim /etc/group
组名:组密码位组id号:除了自己以外的成员
2.4 vim /etc/gshawow(不要改动)
组名
- 组密码:空或者 ! 表示没有密码
- 用户组管理员名称
- 组成员
2.5 cd /var/spool/mail/
chage 用户名 修改选项
- -m:两次改变密码相距最小天数,密码不可更变天数:自本次修改密码后,必须经过多少天后才能再次修改密码,0为任意时间可以修改,不限制
- -m:两次改变密码相距最大天数,密码需要重新变更天数:密码最长有效天数,自本次修改密码后,经过多少天后必须再次修改密码,默认值为99999,表示不限制
- -w:变更前警告天数:提前多少天警告用户密码将过期,默认值为7
- -e:账号过期(失效)时间:从1970.1.1起,用户多少天后作废,默认值为空,表示账号永久可用。
- -d:最近一次密码修改时间
- -i(大i):密码过期后宽限天数:密码过期后多少天将禁止用此用户
- -l:列出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
/etc/group
- 组名、组密码、组id(gid)、组中用户
/etc/gshasow
- 组名
- 组密码:空或者 ! 表示没有密码
- 用户组管理员名称
- 组成员
二、管理用户和组---useradd、userdel、usermod
1、useradd 添加用户useradd 【选项】【用户名】
- -u:指定用户的uid号,要求该uid号码未被其他用户使用。
- -d:指定用户的宿主目录位置。
- -g:指定用户的基本组名(或使用gid号)。
- -g:指定用户的附加组名(或使用gid号)。
- -s:指定用户的登录shell。
- -c:指定描述信息
2、passwd 设置密码
passwd 用户名(普通用户只用输入命令)
- -d:清空指定用户的密码,仅使用用户名即可登录系统。
- -l:锁定用户账号。
- -s:查看用户账号的状态(是否被锁定)。
- -u:解锁用户账号。
3、usermod 修改用户属性 usermod 【选项】 【用户】
- -u:修改用户的uid号,要求该uid号码未被其他用户使用。
- -d:修改用户的宿主目录位置。
- -g:修改用户的基本组名(或使用gid号)。
- -g:修改用户的附加组名(或使用gid号)。
- -s:修改用户的登录shell。
- -l:锁定用户账号
- -u:解锁用户账号
4、userdel 删除用户
userdel 【用户】
- --删除4个配置文件--passwd shadow group gshadow
userdel -r 【用户】
- --删除该用户所有的文件,总6个文件
- 多一个家目录文件、一个邮件的文件
5、groupadd 组名(创建组)
- groupdel 组名(删除组)
- gpasswd 组名(设置组密码)
- -a把用户添加到组里面
- -d把用户从组里面移除
- gpasswd -a 用户 组名---添加
- gpasswd -d 用户 组名---删除
- groups 【用户】 查看用户所属组
权限委派
- 普通用户没有权限去执行的命令,使用sudo权限委派后,把root的身份委派给普通用户,
- 使其有权限去执行该命令
配置文件
vim /etc/sudoers
找到100、101行左右
admin all=(all) all ycyall=(all)usr/sbin/useradd,/usr/sbin/usermod,/usr/sbin/userdel
su -ycy 进入到ycy用户
普通用户使用useradd
sudouseraddtom
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论