1、用户组分类:管理员组和普通组
管理员组(root,gid为0)
普通组:gid范围:1-65535,分为系统组和登陆组,
系统组(gid范围:1-999)和登陆组(gid范围:6000-10000)
2、用户的分类:
用户分为:管理用户和普通用户。算法
(1)管理用户root(uid为0),权利最大的管理员,全部的权限对它来讲几乎是形同虚设的,它的存在就是为了管理其它用户的,因而普通用户都得由它来建立。 (2)普通用户分为登陆用户和系统用户。uid的范围也和group类似,uid范围:1-65535,登陆用户(uid范围:1-999)能够用来登陆,能够经过不一样验证方式登陆,可是对于新手来讲,刚开始接触大多数都是密码验证登陆。系统用户(6000-10000)。shell
3、用户即用户组的建立:
一个用户从建立到使用,一般通过的流程为:
建立用户组——用户组密码——建立用户——设定密码。
翻译成命令,即:
groupadd——gpasswd——useradd——passwd。centos
若是对用户组没要求,能够不用建立用户组的,而直接建立user,会生成相应的组的。通常来讲,gpasswd不是必须的,所以最简单的useradd passwd,这里操做要在root权限下。安全
id 用户名,显示当前帐号信息app
指定附加组,一个用户只能拥有一个基本组,也称之有效组,或者说主组,可是却能够属于多个附加组,而一个组能够有多个用户,是多对多的关系,若是有的命令还没熟悉,不要紧,能够往下面继续查看,如何为用户指定附加组(useradd -G),以及后面追加附加组(usermod -aG)
chage命令:更改密码的过时信息,主要是对应修改/etc/shadow里面的数据
-l:列出密码的详细参数
-d :修改建立密码的距离19700101那天的秒数,即将最近一次密码设置时间设为“最近日期” chage -d "487208" centos
-E:修改过时时间
-W:指定警告时间
-m:密码最短可修改天数
-M:密码最长必须修改天数
userdel命令:删除用户
userdel [选项] username
-r:删除用户时一并删除其家目录
usermod命令;修改用户属性
usermod [option] username
-u,--uid UID:指定新的UID
-g:--gid GROUP:修改用户所属的基本组:
-G, --groups GROUP1[,GROUP2,...[,GROUPN]]]修改附加组,原来的附加组会被覆盖
-a:--append,与-G一同使用,用于为用户追加新的附加组
-c, --comment COMMENT :指明注释信息-d,--home HOME_DIR:修改用户的家目录,用户原有的文件不会被移置新位置 默认修改是不建立新的文件位置的
-m,--move-home,只能与-d选项一同使用,用于将原来的家目录移动为新的家目录
-l,--login NEW_LOGIN:修改用户名
-s,--shell SHELL:修改用户默认的shell
-L;--lock 锁定用户密码
-U,--unlock;解锁用户的密码
ui
eg2:修改用户名(usermod -l)以及修改用户家目录并移除原来目录(usermod -md)以下加密
2.用户组的建立
涉及命令:groupadd,groupdel,groupmod,gpasswd
groupadd命令:添加组
groupadd [option] group_name
-g GID:指定GID,默认是上一个组的GID+1
-r:建立系统组
groupmod命令:修改组属性
groupmod [option] groupname
-g GID:修改gid
-n newname:修改groupname
groupdel命令:
groupdel [option] group
gpasswd:修改组密码,而且设置user
gpasswd [option] group
-a USERNAME:向组中添加用户
-d USERNAME:从组中移除用户
3.检验以及查看用户即用户组
系统关机后,内存里面的数据是不会存在的,并且像帐号密码这么重要的数据固然是须要写到磁盘上面去了,并且应该是写到某个固定的文档中去了,对吧。下面我想介绍两种查看用户及用户组方法:经过命令查看和经过文档查看
(1)经过命令查看:id
id命令:显示用户的真实和有效ID
id [option]... [user]
-u:仅显示有效的UID
-g:仅显示用户的基本组
-G:仅显示用户全部的组
-n:显示名字而非ID,和上面的参数能够搭配使用
(2)经过文档查看:tail -n /etc/passwd | /etc/shadow | /etc/group
这仨文档有什么关系呢:当咱们登陆到系统时,输入帐号密码后,系统会根据你输入到帐户到/etc/passwd搜寻看有没有这个帐户,即/etc/passwd里面的name,没有则退出,有的话,再去/etc/shadow里面去核对密码,当全部都无误了
/etc/passwd:主要是存放user信息的库
name:password:UID:GID:GECOS:directory:shell
/etc/shadow:单独存放user的密码
用户名:加密的密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告期限:过时期限:保留字段
/etc/group:存放group信息的库翻译
group_name:password:GID:user_listserver
1.查看系统支持的shells: cat /etc/shells
2.用户添加附加组有三种方法:第一:usermod -aG username ,第二: gpassword -a username groupname,第三:vi /etc/group,在最后一项添加username
删除附加组: gpasswd -d USERNANME,vi /etc/group
3./etc/passwd,/etc/shadow,/etc/group的默认设置是在 /etc/login.defs
4.passwd的加密究竟用的哪一种加密算法,在/etc/shadow里面的第二字段就有据可查,总共由3个$符隔开,第一和第二个$之间表示加密的算法,为6表示sha512,第二个$和第三个$之间表示的是salt,最后一段就是真正的加密数据了。
passwd --status USERNAME ,或者 passwd -S USERNAME 能够也能够查看帐户的属性以及使用的什么加密算法
加密算法 对称和非对称
公式:s={p,c,k,e,d}, p=Ek(c),c=Dk(p)
对称 DES,3DES,RC2 RC4
非对称 RSA DSA
单向加密 md5 sha base64 hmac
加密算法代号:
1 md5:message digest,128bits 消息摘要
2 sha:secure hash algorithm 安全的哈希算法,160bits
3 sha224
4 sha256
5 sha384
6 sha512blog
设置普通用户也能执行yum等命令,等于root权限。
一、打开visudo文件,设置 serverdevops ALL=(ALL) ALL