Linux系统用户与用户组管理
一、认识/etc/passwd和/etc/shadow
1./etc/passwd:
head前面的符号|叫做管道符,它的作用是把前面的命令的输出再赋予给后面的命令。
管道符命令格式: 命令1 | 命令2
命令1的正确输出作为命令2的操作对象
此处显示的是/etc/passwd文件的前10行。
第一个字段:用户名(root),代表用户账号的字符串;
第二个字段:存放的是该账户的口令(x);此处为x是因为后来基于安全因素,讲其放入了 /etc/shadow中了,这里用x代替;
第三个字段:这个数字代表用户识别号(0),也称为uid;同样,如果把test用户的uid修改 为0,系统就会认为root和test是同一个账户。(uid的取值范围是0~65535,实 际上已经可以支持到429 496 7294)
第四个字段:这个数字表示组标识号(0),也称为gid;它对应着/etc/group中的一条记录。
第五个字段:(root)注释说明,没有实际意义;(可以不用理会)
第六个字段:用户的家目录(/root),当用户登录时,就处在这个目录下;
最后一个字段:用户为用户的shell(/bin/bash);用户登录后,要启动一个进程,用来将用户下达的指 令传给内核;
2./etc/shadow:
查看 /etc/shadow 的前三行:
**
第一个字段:用户名(root),与/etc/passwd对应;
第二个字段:用户密码;是该账号的真正密码,这个密码已经加密。
第三个字段:上次更改密码的日期;
第四个字段:要过多少天才可以更改密码;
第五个字段:密码多少天后才可以更改密码;默认为0,即不受限制。
第六个字段:密码到期前的警告期限;默认为99999,可以理解为永远不需要改。
第七个字段:账号的生命周期;
第八个字段:账号的生命周期;
最后一个字段:做保留用的,无意义;
二、用户和用户组管理
1.新增一个用户组的命令:groupadd
命令:groupadd 【-g GID】 【groupname】
如果不加-g,则会按照系统默认的gid创建组,跟uid一样,gid也是从1000开始。
可自定gid(1111);
2.删除组的命令groupdel
命令:groupdel 【groupname】
3.增加用户的命令useradd:
命令:useradd 【-选项】 【username】
-u:表示自定义uid;
-g:表示使新增用户属于已经存在的某个组;后面可以跟组id,也可以跟组名。
-d:表示自定义用户的家目录;
-M:表示不建立家目录;
-s:表示自定义shell。 如果创建用户时想自定义uid或者所属组的话:
下图是我创建的例子:
4.删除账户的命令userdel
命令:userdel 【-选项】 【username】
选项:-r:删除主目录和邮件池;
5.使用命令chfn更改用户的finger
命令:chfn 【用户名】
三、用户密码管理
1、passwd:
命令:passwd 【username】,不加username的话就是修改自己的密码。
1.创建密码时尽量设置的复杂一些
2.长度大于10个字符
3.密码中包含大小写字母、数字以及一些特殊符号等
4.不规则性
5.密码中不要带自己的名字、电话、生日以及公司名字
2.命令mkpasswd
用于生成密码;
Linux默认时没有这个命令的,需要安装一个expect软件包。
exprct安装命令:yum install -y expect
1.l代表long长度
2.s代表特殊字符
3.d代表数字,还有其他选择
如想要生成指定长度的密码,命令如下:
也可指定密码中有几个特殊字符或数字,命令如下:
如果怕忘记密码的话,可以使用keepass;
KeePass主要有两部分作用:
①生成不易于破解的随机密码:它自带了一个密码生成器,可以按照指定的字符类(大小写、数字、特殊符号)生成指定位数的密码。
②分类管理密码:使用一个kdb扩展名的文件作为数据库,你可以指定数据库的加密算法和加密次数;密码你可以分类别进行管理,并且双击时可以自动打开URL字段的网址,自动复制用户名和密码字段的数据;复制到剪贴板的数据可以定时清除或者只允许粘贴一次。
四、用户身份切换
Linux中有些事情只有root用户才能做,普通用户是不能做的,这是需要临时切换到root身份。
用户的区别:root账户是#,普通用户是$
1.命令su
格式为:su [-] username;普通用户su命令不加username时,就是切换到root用户
2.命令sudo
这个命令只有root才能使用,普通用户想要使用sudo需要root预先设定;
因为本人虚拟机上没有sudo得先安装,安装命令如下:
yum install -y sudo
要在普通用户使用的话要在root设定:
(由于我们所需要编辑的文件只有只读权限所以我们首先需要修改文件的权限)
修改文件权限命令:
chmod 777 sudoers
记得修改完权限之后要改回原来的权限否则后面会运行不了
vi /etc/sudoers
修改最后一行
第一段是指用户名,第二段是左边的all是指所有主机,右边的all是指获取哪个用户的身份,第三段可以设定可以使用sudo的命令有哪些。
批量增加用户:
把配置文件中的# %wheel ALL=(ALL)ALL前面的#去掉,这样wheel这个组的用户都拥有sudo的权利,接下来只需要把所有用户加入到wheel这个组就可以了
3、不允许root远程登录Linux
/etc/ssh/sshd_config为sshd服务的配置文件,默认允许root通过ssh远程登陆;要想不允许远程登录,具体方法为:
vi /etc/ssh/sshd_config,在文件中查找#PermitRootLogin yes并修改为PermitRootLogin no,保存重启即可
本次笔记END!!!