Linux用户管理

Linux系统用户管理算法

1、理论概念sql

(一)系统用户shell

百科定义的系统用户是:那些在一般意义上使用信息系统或者受到信息系统影响的“客户”通俗讲就是可以使用和管理系统资源,并达到某种特定目标的人或客户”。centos

(二)用户分类bash

系统管理员ide

普通用户测试

系统用户ui

登陆用户加密

(三)用户标识spa

UIDLinux经过UID来区别和标识用户

根据用户分类UID的取值范围:0-65535

系统管理员:0

普通用户:1-60000

系统用户:1-499,1-999

登陆用户:500+1000+

(四)用户组

具备相同权限或用户属性的用户划分为一类,用组表示

(五)用户组分类

管理员组

普通组

用户基本组

用户附加组

(六)用户组标识

GIDLinux经过GID来区别和标识用户组

管理员组:0

普通组:1-499,1-999

500+1000+

注解:centos的版本从6升到7后,默认用户建立的新用户ID500开始改成从1000开始


2、Linux系统用户相关的配置文件

1/etc/passwd;记录用户基本信息

2/etc/group:记录用户组基本信息

3/etc/shadow:记录用户密码及相关信息

4/etc/gshadow:记录用户组密码及相关信息

 

(一)各配置文件默认格式:

1/etc/passwd

name:password:UID:GID:GECOS:directory:shell

登陆名:x:UID:GID:comment:主目录:用户默认shell

2/etc/group

group_name:password:GID:user_list

组名:x:GID:组用户列表

3/etc/gshadow:

group name:encrypted password:administrators:members

组名:加密字符串:组管理:组成员

4/etc/shadow:

login name:encrypted password:date of last password change:minimum password age:maximum password age:password warning period:password inactivity period:account expiration date:reserved field

用户名:密码加密字串:密码最后修改日期:密码最小过时期限:密码最大过时期限:密码到期警告期:密码锁定周期:帐号过时日期:保留字段

5)扩展

root:$6$amdZ6oA3a.Cbr7UG$l1RTCNNacewA5vFA263R9NcFpWZGtjl9x4nq0DnCX25wMqdxWApWI7UwTgVO0/wAu1geXrirVv7WChL8FFhsS0:16673:0:99999:7:::

注解:密码加密字符串由$分隔,分三部分

1、加密算法,6表示sha512加密算法

2、随机字符串

3、密码和随机字符串合并加密后的字符串

加密算法:

md5sha1, sha224, sha256, sha384, sha5121,2,3,4,5,6

md5:用数字1标识,按固定的算法转换设置的密码字符串,若是两个用户设置相同的密码,在shadow文件中两个用户的加密密码字符串也是相同的。这是风险点

sha512:用数字6标识,先将用户设置的密码串按算法添加部分随机的字符串,再按固定的加密算法转换密码为加密的字符串,最大程度的下降md5算法存在的风险

注:两个或多个加密算法能够混合使用

测试显示系统加密算法命令:

[root@localhost ~]# authconfig --test|grep hashing

 password hashing algorithm is sha512

密码复杂性策略:

1、使用数字、小写字母、大写字母、特殊字符四类中至少三类;

2、足够长;

3、使用随机密码;

4、按期更换


3、命令

1useradd:添加用户

useradd [options] LOGIN

-c, --comment COMMENT:用户描述

-d, --home-dir HOME_DIR:指定用户家目录路径

-e, --expiredate EXPIRE_DATE:指定用户使用期限;format YYYY-MM-DD

-g, --gid GROUP:指定用户所属基本组,此组必须事先存在

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:指定所属的附加组;

-K, --key KEY=VALUE:指定配置文件/etc/login.defs中参数的值

-m, --create-home:建立用户家目录

-M, --no-create-home:不给用户建立家目录

-p, --password PASSWORD:建立时设置用户密码

-r, --system:建立系统用户

-s, --shell SHELL:设定用户默认的shellcat /etc/shells查看可设置的shell类型

-u, --uid UID:指定用户UID


练习:建立用户Oracle,所属附加组databasesqlID号为3000, 家目录为/home/database,密码为1q2w3e,并指定用户的shellbash

[root@localhost ~]# groupadd database
[root@localhost ~]# groupadd sql
[root@localhost ~]# useradd -G database,sql -u 3000 -d /home/database -p 1q2w3e -s /bin/bash Oracle

结果:shadow文件中Oracle的密码是明文密码,而不是加密后的字符串?

wKioL1XgFLqh3UWbAAEXhhoA0XQ732.jpg

[root@localhost ~]# passwd Oracle

从新用passwd命令重置Oracle密码后,shadow文件中Oracle用户密码是加密后的字符串wKiom1XgEvPCW2LXAAIqo7dfRK4935.jpg二、groupadd:添加用户组

groupadd [options] group

-g, --gid GID:指定组ID

-r, --system:建立系统组

例子是1useradd练习中的databasesql,查看两个组信息

wKioL1XgFUaChS9lAADWM9BfqDw400.jpg三、id:查看用户相关ID信息

 id [OPTION]... [USER]

-g, --group:只打印组ID

-a:默认格式

-G, --groups:打印全部GID

-n, --name:打印名字而不是ID,与-ugG一块儿使用

-u, --user:只打印用户ID

wKioL1XgFbjAvOKVAAGAj9zmAUc131.jpg四、su切换用户或以其余用户身份执行命令

su [OPTION]... [-] [USER [ARG]...]

-, -l, --login USERNAME:彻底切换,登陆式切换;至关于用新用户登陆

USERNAME:非彻底切换

-c, --command=COMMAND:以新用户身份执行命令‘command

五、usermod修改用户属性

usermod [options] LOGIN

-d, --home HOME_DIR:修改用户家目录

-g, --gid GROUP:修改用户所属基本组

-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]:修改用户附加组

-L, --lock:锁定用户

-p, --password PASSWORD:修改用户密码

-s, --shell SHELL:修改用户默认shell

-u, --uid UID:修改UID

-U, --unlock:解锁,不能和-p-L一块儿使用

六、passwd设置用户密码

passwd  [-k]  [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warn-

       days] [-i inactivedays] [-S] [--stdin] [username]

-llock user

-uunlock user

--stdin:从标准输出接收用户密码

echo 123456 | passwd --stdin root

wKiom1XgE8XBSqq8AAB18VCUWz8190.jpg

7userdel:删除用户

userdel [-r] USERNAME

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

8groupmod: 组属性修改

groupmod [OPTION] GROUPNAME

-n GROUP_NAME:修改组名

-g GID:修改用户组GID

九、newgrp:为当前用户临时添加用户组,切换shell后消失

例:

wKioL1XgFfXDGlUGAAEhFycLbcw511.jpg

十、gpasswd:设置用户组密码

groupdel:删除用户组

十一、chfn:修改用户信息

chfn [-f full-name] [-o office] ,RB [ -p office-phone] [-h home-phone] -u][-v] [username]

chfn USERNAME:交互式同时修改用户全部信息,包括namephoneoffice

例:

wKiom1XgE_TyXkgvAAHFtcGSAyk451.jpg

 十二、chsh:修改用户默认shell

chsh [-s shell] [-l] [-u] [-v] [username]

-s, --shell shell:修改默认shell

-l, --list-shells:等同于命令:cat /etc/shells

wKioL1XgFjXRsiRaAAGReLW1TjI137.jpg

1三、finger:显示系统用户信息

finger [-lmsp] [user ...] [user@host ...]

1四、whoami:显示系统当前shell登陆用户。等同于id -un

wKioL1XgFnWB5KjbAAC1GzmxWOY648.jpg

1五、who:显示登陆系统的用户信息

who [OPTION]... [ FILE | ARG1 ARG2 ]

-a, --all:显示全部信息

-b, --boot:系统最后一次启动时间

-q, --count:全部登陆的用户名和用户数

-r, --runlevel:显示系统运行级别

-u, --users:显示登陆的用户

wKioL1XgFoOAsrKAAAErC3paHKI378.jpg

16w:显示哪些用户登陆以及在做什么

w - [husfiV] [user]

-h:不打印头信息

-u:忽略用户名

-s:简略方式显示

-f:不显示From

-i:用IP显示

相关文章
相关标签/搜索