linux的/etc/passwd、/etc/shadow、/etc/group和/etc/gshadow

1./etc/passwd  存储用户信息

[root@oldboy ~]# head /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin

一行记录对应着一个用户,每行记录被冒号:分隔为7个字段,这7个字段的具体含义为:

用户名:密码:uid:gid:解释描述:家目录:登录shell

 

500及以前的uid都是系统用户,普通用户的uid大于500

可通过id 用户名查看该用户的用户和组信息

 

2./etc/shadow  存储用户的密码信息

[root@oldboy ~]# head /etc/shadow
root:$6$ylNOqOypZpCje1NL$B2cJYJxy0IeKspoC1BHRYP3snN8Xp8Umtgn7xc/vCrRCfTgOp.vh2Y/gOEMSG3eb6kA9yanPoHWKi0.i31oZ8/:17735:0:99999:7:::
bin:*:15980:0:99999:7:::
daemon:*:15980:0:99999:7:::

一行记录对应着一个用户的密码信息,每行记录被冒号:分割为9个字段,这9个字段的具体含义为:

登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志

 

3./etc/group  存储组信息

[root@oldboy ~]# head /etc/group
root:x:0:
bin:x:1:bin,daemon
daemon:x:2:bin,daemon

一行记录对应着一个组信息,每行记录被冒号:分割为4个字段,这4个字段的具体含义为:

组名称:组密码:组id:用户列表

 

4./etc/gshadow  存储组密码信息

[root@oldboy ~]# head /etc/gshadow
root:::
bin:::bin,daemon
daemon:::bin,daemon

一行记录对应着一个组的密码信息,每行记录被冒号:分割为4个字段,这4个字段的具体含义为

组名称:组密码:组管理者:组成员列表

 

5.用户操作

①useradd新增用户

语法:useradd [-u uid] [-g  初始用户组] [-G 次要用户组] [-m|M] [-c 说明] [-d 主文件夹绝对路径] [-s shell] 用户名

-u:指定uid,可省略,如省略系统会默认创建普通用户并自动指定uid (如果要创建系统用户,需要使用-r参数,此时uid有要求/etc/login.def)

-g:指定初始用户组,可省略,如省略系统会自动创建一个与用户名相同的用户组,该值为/etc/passwd文件第4列的内容

-G:指定次要用户组,可省略

-m|M:是否强制创建用户主文件夹,可省略,系统用户默认强制不创建,普通用户(即uid>500)默认强制创建

-c:说明,即/etc/passwd文件第5列的内容

-d:指定主文件夹路径,可省略,默认为/home/用户名/

-s:指定登录shell,可省略,默认为/bin/bash

 

创建用户后需要为新用户设置密码

root用户为普通用户设置或修改密码:passwd 用户名,会提示输入新密码和确认新密码

普通用户修改自身密码:直接passwd,会提示输入旧密码、新密码和确认新密码

 

②usermod修改用户

语法:usermod [-u uid] [-g 初始用户组] [-G 次要用户组] [-c 说明] [-d 主文件夹绝对路径] [-s shell] 用户名

修改uid、初始用户组、次要用户组、说明、主文件夹和登录shell,各参数含义类似useradd。

 

usermod还有一个参数-a,通常与G搭配使用,表示追加增加附加组。

[root@peng ~]# id peng
uid=1001(peng) gid=1001(peng) 组=1001(peng)
[root@peng ~]# usermod -G group1 peng
[root@peng ~]# id peng
uid=1001(peng) gid=1001(peng) 组=1001(peng),2001(group1)
[root@peng ~]# usermod -G group2 peng
[root@peng ~]# id peng
uid=1001(peng) gid=1001(peng) 组=1001(peng),2002(group2)
[root@peng ~]# usermod -aG group1 peng
[root@peng ~]# id peng
uid=1001(peng) gid=1001(peng) 组=1001(peng),2001(group1),2002(group2)

 

③userdel删除用户

语法:userdel [-r] 用户名

-r:是否删除相关文件夹,默认不删除,-r表示删除主文件夹和邮件目录,一般是/home/username和/var/spool/mail/username

删除用户的时候会同时删除与用户同名的用户组

 

6.用户组操作

①groupadd增加用户组

语法:groupadd [-g gid] [-r] 用户组名

-g:指定gid,可省略,如省略系统会默认创建普通用户组并自动指定gid (如果要创建系统用户组,需要使用-r参数,此时uid有要求/etc/login.def)

 

②groupmod修改用户组

语法:groupmod [-g gid] [-n 新用户组名] 用户组名

-g:修改gid,通常不建议修改,容易造成资源错乱

-n:修改原用户组为新的名称

 

③groupdel删除用户组

语法:groupdel 用户组名

如果有用户使用某一个用户组作为初始用户组,则该用户组不能被删除

 

普通用户获取超级管理员权限的配置文件:/etc/sudoers.d,这个文件需要强制保存。

 

配置免密登录

ssh-keygen:三次回车,生成两个文件,即公钥id_rsa.pub和私钥id_rsa,路径$HOME/.ssh

ssh-copy-id username@hostname:需要输入以username用户登录hostname主机的密码,将本机的公钥id_rsa.pub拷贝到hostname主机

后续即可在本机上通过ssh username@hostname登录hostname主机而不需要输入密码

 

posted @ 2018-10-04 15:08  Forever77  阅读(517)  评论(0编辑  收藏  举报