linux系统-用户和组管理-学习笔记

资源分派:

Authentication:认证

Authorization:授权

Accouting|Audition:审计


1、用户user


令牌token

用户登录,系统会给予用户相应的令牌,不同的令牌赋予了用户不同的操作权限,若更新了用户的令牌权限,用户需要重新登录账号以获取新的令牌。


id

可查看当前用户的uid  gid  groups等信息


*Linux用户和组的主要配置文件:

/etc/passwd:用户及其属性信息(名称、UID、主组ID等)

/etc/group:组及其属性信息

/etc/shadow:用户密码及其相关属性

/etc/gshadow:组密码及其相关属性

**etc下的配置文件都有严格的格式要求,可通过man帮助查看格式


pwunconv

还原passwd文件里面的密码显示

pwconv

遮挡passwd文件里面的密码显示


**linux系统必须要有至少一个管理员uid=0,若没有则无法正常启动系统。


login name:登录用名(wang)

passwd:密码 (x)

 UID:用户身份编号 (1000)

GID:登录默认所在组编号 (1000)

GECOS:用户全名或注释

home directory:用户主目录 (/home/wang)

 shell:用户默认使用shell (/bin/bash)

chfn  tiny

修改tiny的GECOS:用户全名或注释的内容


**在配置文件/etc/passwd里修改用户的家目录,要注意以下几个问题:

1)新配置的目录必须确保已被创建或者已存在

2)新配置的目录里要有必要家目录的初始配置文件,系统默r认创建用户时给家目录复制配置文件,文件保存在/etc/skel,

举例:修改tiny用户家目录为data/tiny,添加相应配置文件,命令如下:

cp   -r   /etc/skel/.[^.]*     data/tiny

tiny用户并不是管理员账户,因此无法通过cp -a 把所有权限信息都复制到 data/tiny ,只能-r

** /etc/skel/ 目录下存放了初始化家目录的文件


cat  /etc/shells

查询shell类型


chsh  -s    /bin/csh  tiny

修改tiny用户的shell类型为csh


/sbin/nologin  是特殊的shell类型,用于给系统账户使用的


su  -  tiny  

临时切换成tiny账号,输入exit,可返回到原来账户


/etc/shadow  文件存放用户密码

shadow文件第2个域(列、属性、字段)是用户密码,根据一定加密算法进行了加密。!!双叹号用于锁定账号。

不同的前缀代表不同的加密算法,$1 表示MD5的加密算法,MD5目前已经被破解,$6表示sha512加密算法  

shadow文件第3个域(列、属性、字段)表示创建时间,如果为0,表示用户下次登录的时候,用户需要修改密码

shadow文件第4个域(列、属性、字段)表示X天之后才可以改密码,0就表示随时可以改密码。

shadow文件第5个域(列、属性、字段)表示密码的有效期,默认99999天。

shadow文件第6个域(列、属性、字段)表示过期前X天通知你即将过期,默认提前7天。

shadow文件第7个域(列、属性、字段)表示过期宽限期,默认没有设置。

shadow文件第8个域(列、属性、字段)表示账户有效期,与密码没有关系。


*更改加密算法 

authconfig  --passalgo=sha256  --update

以上命令改成sha256加密算法,实际上修改了/etc/login.defs



useradd   tiny

创建账号tiny


usermod -U  tiny

解锁账号的叹号,centos6以后就不允许该命令解锁,将导致账户可以无密码登录


passwd  -e  tiny

让tiny账号密码期间立即过期


chage  -d  0  tiny

让tiny账号密码期间立即过期


chage  -l  tiny

查看用户密码情况

以上命令,查看用户密码情况


chage    tiny

交互式更改tiny密码配置


修改/etc/login.defs,可以更改默认创建用户时的密码参数


配置文件 /etc/default/useradd

存放了用户创建时,系统自动调用创建的文件信息

输入:usaeradd -D 

直接可以查看 /etc/default/useradd


usaeradd -D   -s  /bin/csh

 直接修改配置文件里的shell类型

useradd  -u   1111   tiny

指定UID=1111 创建tiny 账号

getent   passwd    tiny

 只显示passwd文件里,tiny用户一条信息

useradd   -g    root    tiny

创建tiny用户时,将root组作为tiny主组,此时tiny组将不会创建

useradd    -G   "root,abc"    tiny

加到root,abc两个辅助组,主组还是tiny

useradd -d  /data/tiny   tiny

创建tiny时指定家目录 /data/tiny,此时家目录将自动生成配置文件

useradd    -s     /sbin/nologin    -r   tiny

指定shell类型创建用户,-r设置成系统账号,此时将没有家目录

useradd    -s     /sbin/nologin    -r   -m   tiny

加上-m  强行创建家目录

useradd  -M  tiny

强行不创建家目录

useradd  -N  tiny

创建的tiny账号,主组不加入tiny同名,加入到gid为100的users组

usermod   -aG    root    tiny

把tiny添加到root附加组,不覆盖原来的tiny附加组

usermod  -G    ""    tiny    

usermod  -G   "tiny"   tiny

把tiny从所有附加组中移除

usermod  -l     ttiny  tiny

改用户名为ttiny,但是其他相应配置文件包括家目录的名字并没有跟着修改

usermod  -e    20180505  tiny

给用户账号tiny设置过期日期20180505

userdel  -r   tiny

删除用户tiny账号,包括家目录,邮箱


2、group命令


/etc/group

第4个域(列、属性、字段)指附加组的成员


/etc/gshadow

组配置文件


groups  tiny

以上命令可查看tiny属于什么组(id 命令也可以)



Linux组:Groupname/GID

管理员组:root, 0

系统组:1-499, 1-999(CENTOS7)

普通组:500+ 1000+(CENTOS7)

默认情况下,创建了一个用户,系统会自动创建一个同名组,并把该用户加入到同名组。如创建tiny,则创建tiny组同时将tiny加入到组中(也叫私有组)。

*Linux组的类别

用户的主要组(primary group)

用户必须属于一个且只有一个主组

组名同用户名,且仅包含一个用户,私有组

用户的附加组(supplementary group)

一个用户可以属于零个或多个辅助组

**默认同名组是主组,但主组可以改变,不一定要同名组作为主组


**普通用户可以把自己加入到某个组,前提是知道这个组的密码



gpasswd   tiny

给tiny组添加密码


newgrp   root

以上命令,将当前用户的主组更换为root组,tiny组变成附加组(需要输入组密码)


如果tiny原本已经加入了root组作为附加组,newgrp  root  命令不再需要输入组密码


pwck  

检查/etc/passwd配置文件的语法错误

grpck

检查/etc/gpasswd配置文件的语法错误


用户管理命令 

useradd 

usermod 

userdel 

 组帐号维护命令 

 groupadd 

 groupmod 

 groupdel


id [OPTION]... [USER]

-u: 显示UID

-g: 显示GID

-G: 显示用户所属的组的ID

-n: 显示名称,需配合ugG使用


su  - root    -c    'cat /etc/shadow'

su命令,短暂切换到root账号,执行cat /etc/shadow  命令之后,立即返回到原来账号

** 切换了一次账号之后,用exit退回去原来身份后,再切换到其他账号,尽量避免在不退出的情况下多次切换


groupmems  -l    -g   tiny

以上命令可查看tiny组里面有什么成员

你可能感兴趣的:(linux系统-用户和组管理-学习笔记)