用户标识、密码:
Authentication 认证
Authorzation 授权
Audition 审计
这就是3A机制,
用户类别:分为管理员和普通用户;普通用户又可分为系统用户和登录用户
用户标识:系统按照UID来区分用户的,它的取值范围是16bits二进制数字:0-65535
管理员:用0表示
普通用户:1-65535
系统用户:1-499,是centos6;1-999 是centos7;
登录用户:500-60000centos6 ;1000-60000centos7
名称解析:名称转换
计算机指认二进制的数字
根据名称解析库进行:/etc/passwd
用户组类别1:分为管理员组和普通用户组;普通用户组又可分为系统用户组和登录用户组
用户组标识:系统按照GID来区分用户的,它的取值范围是16bits二进制数字:0-65535
管理员组:用0表示
普通用户组:1-65535
系统用户组:1-499,是centos6;1-999 是centos7;
登录用户组:500-60000centos6 ;1000-60000centos7
名称解析:名称转换
计算机指认二进制的数字
根据名称解析库进行:/etc/group
组类别2:用户的基本组 用户的附加组
组类别3:私有组,同用户名,且只包含一个用户;公共组,组内包含多个用户;
认证信息:
通过比对事先存储的,与登录时提供的信息是否一致;
password: /etc/shadow /etc/gshadow
密码的使用策略:
1,使用随机密码;
2.最短长度不要低于8位
3.应该使用大写字母、小写字母、数字、标点符号中的至少三种
4.定期更换
plain text--> cipher text
铭文 密文
加密的算法:
对称加密:加密和解密使用同一个密码:
非对称加密:加密和解密使用的一对儿秘钥:
秘钥对儿:
公钥:public key
私钥:private key
单项加密:只能加密,不能解密:提出数据特征码:
定长输出:与原来的数据量没关系
算法:
md5sum:message digest 128 bits
sha1sum:secure hash algorithm 126 bits
sha224sum:secure hash algorithm 224 bits
sha256sum:secure hash algorithm 256 bits
sha384sum:secure hash algorithm 384 bits
sha512sum:secure hash algorithm 512 bits
在计算之时加salt,添加随机数
/etc/passwd:用户的信息库
以冒号分开的7个字段
用户名 密码占位符 UID GID 注释 家目录 shell
/etc/shadow:用户密码
以冒号分隔的9个字符段
登录名 :加密了密码: 最后一次修改密码的时间:密码的最小年龄:最大密码年龄:密码警告时间:密码禁用时间:账户过期日期:保留字段
/etc/group
四个字段
组名:密码占位符:GID:用户列表
Linux用户和组管理
安全上下文;
进程以发起者非身份运行:
进程对文件的访问权限,取决去发起此进程的用户的权限;
系统用户:为了能够让那后台进程或服务进程以非管理员的身份运行,通常创建普通用户,这类用户从不登录系统;
用户管理命令
useradd usermod userdel
useradd [options] LOGIN
-u UID: [UID_MIN, UID_MAX]定义在/etc/login.defs
-o 配合-u 选项,不检查UID的唯一性
-g GID:指明用户所属基本组,可为组名,也可以GID
-c "COMMENT":用户的注释信息
-d HOME_DIR:以指定的路径(不存在)为家目录
-s SHELL: 指明用户的默认shell程序
可用列表在/etc/shells文件中
-G GROUP1[,GROUP2,...]:为用户指明附加组,组必须事先存在
-N 不创建私用组做主组,使用users组做主组
-r: 创建系统用户CentOS 6: ID<500,CentOS 7: ID<1000
例题:1、创建用户gentoo,附加组为bin和root,默认shell为/bin/csh,注释信息为"Gentoo Distribution"
useradd -G root,bin -s /bin/csh -c "Gentoo Distribution" gentoo
例题:
2、 创建下面的用户、组和组成员关系
名字为admins 的组
用户natasha,使用admins 作为附属组
用户harry,也使用admins 作为附属组
用户sarah,不可交互登录系统,且不是admins 的成员,natasha,harry,sarah密码都是centos
[root@localhost ~]# groupadd admins
[root@localhost ~]# useradd -G admins natasha
[root@localhost ~]# useradd -G admins harry
[root@localhost ~]# useradd -s /sbin/nologin sarah
[root@localhost ~]# echo "centos" | passwd --stdin natasha
Changing password for user natasha.
passwd: all authentication tokens updated successfully.
[root@localhost ~]# echo "centos" | passwd --stdin harry &> /dev/null
[root@localhost ~]# echo "centos" | passwd --stdin sarah &> /dev/null
usermod命令:
usermod[OPTION] login
-u UID: 新UID
-g GID: 新基本组
-G GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append;
-s SHELL:新的默认SHELL;
-c ‘COMMENT‘:新的注释信息;
-d HOME: 新家目录不会自动创建,原家目录中的文件不会同时移动至新的家目录;若要创建新家目录并移动原家数据,同时使用-m选项
-l login_name: 新的名字;
-L: lock指定用户,在/etc/shadow 密码栏的增加!
-U: unlock指定用户,将/etc/shadow 密码栏的! 拿掉
-e YYYY-MM-DD: 指明用户账号过期日期;
-f INACTIVE: 设定非活动期限;
useradd命令:
-r:删除家目录;
例题:
5、file1文件的内容为:”1 2 3 4 5 6 7 8 9 10” 计算出所有数字的总和
[root@localhost ~]# echo {1..10} | tr " " "+" |bc
55
6、处理字符串“xt.,l 1 jr#!$mn2 c*/fe3 uz4”,只保留其中的数字和空格
7、将PATH变量每个目录显示在独立的一行
8、删除指定文件的空行
9、将文件中每个单词(字母)显示在独立的一行,并无空行
[root@localhost ~]# echo "aa bb cc dd ee ff" | tr ‘ ‘ ‘\n‘
aa
bb
cc
dd
ee
ff
us
passwd命令:
-l:锁定用户
-u:解锁用户
-d:删除用户密码
-e:过期期限,日期
-i:非活动时间
-n:密码的最短使用期限
-x:密码的最长使用期限
-w:警告期限
--stdin:
echo " passwd" | passwd --stdin name
gpasswd 命令
组密码文件:/etc/gshadow
gpasswd [选项] group
-a USERNAME:向组中添加用户
-d USERNAME:从组中移除用户
newgrp 命令:
登录到一个新组
newgrp [-] [group]
-:会模拟用户重新登录此组
chage命令:
更改用户密码的过期信息
chage
-d:上一次更改的日期
-E:账号到期日期:到了这天账号不可用1
-m:改密码最小时间
-M:密码能保留多少天cha
id命令:显示用户的真实和有效信息
id neme 其他用户的
id 显示自己
-u: 仅显示有效的uid
-g:仅显示基本gid
、
-G:显示所有的组的id
-n:显示名字而非id
su 命令:swith user
登录式切换:会通过读取用户的配置文件来重新初始化
su - name
su -l name
不登录式切换:不会读取用户的配置文件进行初始化
su name
注意:管理员可以不用密码切换到其他用户;其他用户切换到root 就要密码
su name -c`COMMAND`:仅以指定用户的身份运行此处指定的命令;
原文地址:http://11010820.blog.51cto.com/11000820/1832421