linux第四章-用户和组

linux的入门篇

一,用户和组的概念

1,用户和组是什么。

  • 用户存在的目的是为了实现资源的分派。
  • Authentication:认证
  • Authorization:授权
  • Accouting:审计

2,用户分类

  • Linux 用户分为管理员和普通用户两种:

管理员 用户ID:0
普通用户 用户id 1-65535
---------------- 普通用户分为系统用户和登陆用户两种:
------------------系统用户:1-999 为守护类进程获取系统资源而完成权限指派的用户。
------------------登陆用户:1000-60000为完成交互式登陆使用的用户。

  • Uid 用户ID
  • Gid 组ID

3,Linux安全上下文

  • 运行中的程序:进程(process):

**以进程发起者的身份运行:root:cat;--------------user:cat-------------
进程所能够访问的所有资源和权限取决于进程的发起者的身份,

  • Linux通过安全上下文的概念完成用户权限的指派。

先判断用户是否式某文件的所属主,
在判断用户是否属于某个组,
最后定位为期他用户.

在这里插入图片描述

4,Linux用户组类别。

用户组类别 特性
私有组 创建用户时,如果没有为其制定所属的组,系统会自动为其创建一个与用户名相同的组
基本组 用户的默认组
附加组(额外组) 默认组以外的其他组(可能属于这个组的任务,兼顾其他组的工作这样的称为用户的附加组)

二,Linux用户和组相关的配置文件。

1,各配置文件的说明

配置文件 作用
/etc/passwd 用户及属性信息(名称,uid,基本组id等待)
/etc/group 组及其属性信息
/etc/shadow 用户密码及其相关属性
/etc/gshadow 组密码及其相关属性,在用户执行基本组切换时使用

文件字段

配置文件 /etc/passwd /etc/group
第一字段 用户名 组名
第二字段 密码占位符 组密码
第三字段 Uid Gid
第四字段 Gid 以当前组为附加组的用户列表(分隔符为逗号)
第五字段 用户的描述信息
第六字段 用户家目录
第七字段 用户登陆的shell
配置文件 /etc/shadow
第一字段 登陆名
第二字段 加密后的密码(!!)表示时空密码。
第三字段 最近一次更改密码的日期
第四字段 密码的最小使用期限
第五字段 密码的最大使用期限
第六字段 密码告警时间段
第七字段 密码禁用其(禁用之前为缓冲期。并通知用户密码即将禁用。管理员可以进行解锁)
第八字段 账号的过期日期(在这个日期到来后会进入缓冲期。缓冲期登陆必须更改密码)
第九字段 保留字段

Available 可用的意思
already 成功安装,挂载成功:
在这里插入图片描述

  • 更改用户的密码;
    更改用户的密码:
    [root@Eryuege ~]# echo ‘redhat’|passwd --stdin admin
    更改用户 admin 的密码 。
    passwd:所有的身份验证令牌已经成功更新。
    在这里插入图片描述
    时间戳从系统创建的时间到目前的时间。有的身份验证令牌已经成功更新。

2,密码复杂性要求。

  • 密码复杂性策略:
    -使用数字,大写字母,小写字母及特殊字符中至少3钟
    -足够长
    -使用随机密码,不要使用有意义的单词或数字
    -定期更换,不要使用最近曾经使用过的密码

3.用户和组相关的管理命令;(运维规范使用,邮件记录,规避风险。)

3.1,用户管理

  • 3.1.1用户创建命令Useradd
    //语法:useradd [option] USERNAME
-u UID //定义在/etc/login.defs文件中
-g GID //指定用户所属基本组,可为组名
-G groupname,… //附加组,可以有多个,用逗号隔开,组groupname事先必须存在
-d /path/to/directory //指定用户名1的家目录,此目录必须不能事先存在,否则不会从/etc/skel中复制
-s shell //这里的shell最好使用/etc/shell里面的shell
-M //创建用户时不给其创建的家目录
-r 添加一个系统用户
-D //直接打印/etc/defult/useradd文件的内容或配合其他选项

3.2,用户删除命令userdel

-r 删除用户的同时删除其家目录。

3.3,查看用户账户的信息命令ID

  • id //查看用户账户属性信息。

-u //查看UID
-g //查看GID

-G //查看Groups

3.4,用户修改命令usermod(modify)修改用户账户属性命令

  • 语法 usermod [option] username
-u UID
-g GID
-a -G Groupname //不使用-a选项会覆盖此前的附加组
-d -m 改变用户家目录的同时把原来家目录的文件移动到新的家目录中
-e YYYY-MM-DD 指定用户账户过期的日期。
-f 设定非活动期限
-L 锁定账户
-U 解锁账户
-s SHELL 修改用户的默认shell

3.5,切换用户命令su

  • 使用方法

root su 至其他用户不需要密码,非root用户su至其他用户需要输入目标用户的密码;
语法 su {option} - user
-c //切换身份执行命令,命令执行结束后又回到原来的身份。

切换方式 特点
su username 非登陆式切换,即不会读取目标用户的配置文件
su - username 登陆式切换,即会读取目标用户的配置文件,完全切换
su - 不指定用户时默认切换至root用户

bash的配置文件:

配置文件类型 配置文件路径
全局配置 /etc/profile --------- /etc/profile.d/*.sh-----------/etc/bashrc
个人配置 ~/.bash_profile--------/.bashrc
profile类 为交互式登陆的shell提供配置,用来设定环境变量,运行命令或脚本
bashrc类 为非交互式登陆的shell提供配置,用来设定本地变量,定义命令别名
  • 登陆shell的配置文件读取顺序

登陆时shell如何读取配置文件?
/etc/profile ->/etc/profile.d/.sh ->~/.bash_profile->/.bashrc->/etc/bashrc
非登陆式shell如何读取配置文件
~/。bashrc ->/etc/bashrc ->/etc/profile.d/
.sh

3.6,密码管理命令-passwd

  • 语法:passwd [option] [USERNAME]
    —stdin //从标准输入获取用户密码,例如:echo ‘redhat’ /passwd --stdin [username]
-l //锁定用户
-u //解锁用户
-d //删除用户密码
-n minddays 指定最短使用期限
-x maxdays //指定最长使用期限
-w warndays //提前多少天开始警告
-l inactivedays //非活动期限,密码过期后到禁用前的这段缓冲期时间
-f 强制解锁空密码用户

3.7,密码生成工具openssl

  • **语法:openssl command [command_opts] [command_args]
Command //包含标准的命令,消息摘要命令,加密命令
Version /查看程序版本号
Dgst //提取特征码
Passwd //生成密码
rand 生成伪随机数

1,提取特征码(把一个md5值当作密码)
[root@Eryuege /]# openssl dgst -md5 /etc/fstab
MD5(/etc/fstab)= 602457f7f2024163d092ffeccac97243
2,生成密码 openssl passwd -1(数字1) salt string(生成密码的参数) //string一般为8位;
[root@Eryuege /]# openssl passwd -1 salt string
1 1 1JpFwvLt9$p7F/ZIxcvOvvrH64zBr2z/
1 1 1nYsCL08G$bTd2Xh6y.PgblYEQhbXBG/
3,生成随机数 openssl rand -base64 NUM(随机数的长度)
[root@Eryuege ~]# openssl rand -base64 20
VS2ck5IzTJWwOqxdkaKRio72C9I=

3.8 组管理

  • Groupadd 创建组命令:

语法:groupadd [options] [Group]
-g GID://指定GID
-r ://添加一个系统组-

  • 删除组命令 griyodel

语法:Groupdel [option] GROUP
删除组时

4,命令使用练习;

  • 1,登陆xshell;
  • 2,创建一个用户wangqing,附加组为taoist和tianzun,默认shell为/bin/csh,注释信息为“wu liang tian zun”

[root@Eryuege home]# useradd wangqing -G taoist,tianzun -s /bin/csh -c “wu liang tian zun”
[
root@Eryuege home]# id wangqing
uid=2001(wangqing) gid=2003(wangqing) 组=2003(wangqing),2001(taoist),2002(tianzun)

[root@Eryuege home]# tail /etc/passwd
pesign:x:970:970:Group for the pesign signing daemon:/var/run/pesign:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
rngd:x:969:969:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologin
dovecot:x:97:97:Dovecot IMAP server:/usr/libexec/dovecot:/sbin/nologin
dovenull:x:968:968:Dovecot's unauthorized user:/usr/libexec/dovecot:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
admin:x:1000:1000:Admin:/home/admin:/bin/bash
wanghaixin:x:1001:1001::/home/wanghaixin:/bin/bash
james:x:2000:2000::/home/james:/bin/bash
wangqing:x:2001:2003:wu liang tian zun:/home/wangqing:/bin/csh

[root@Eryuege home]# tail -1 /etc/shadow
wangqing:!!:18554:0:99999:7:::

猜你喜欢

转载自blog.csdn.net/LBJ19224/article/details/109153793