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:::