第三章预习笔记

3.1 用户配置文件和密码配置文件

用户文件,是用户的核心配置文件

root:x:0:0:root:/root:/bin/bash

有冒号分割为七段

第一段是用户名,第二段早期版本的Linux会把密码存放到这里,第三段uid,第四段gid,第五段是用户的注释信息,第六段是用户的家目录,第七段是shell 可以和用户交互的窗口,常见的有/bin/bash./sbin/nologin

每创建一个用户就会多出一行

/etc/shadow

和用户文件是一 一对应的

第一段是用户名,第二段是加密的密码,不能反着编译,可以由一个明文的密码编译成一个加密的密码,但不能由加密的密码编译成明文的密码,第三段是个天数,最后一次更改密码的天数距离1970年7月1日的天数,第四段是代表多少天才可以更改密码,默认是零,不受限制。第五段是代表密码多少天后到期及在多少天内要更改密码。第六段代表密码到期前的警告,7的话代表密码七天后到期,第七段代表密码到期后,几天后锁定,第八段代表距离1970年1月1日有多少天,账号在这个日期前可以使用,到期后就被锁定了,最后是一个段是保留字段。

同时执行两个连续的命令,中间用分号隔开

man shadow 查看shadow的各段的解释。

3.2 用户组管理

/etc/group

/etc/shadow-  带减号的文件,是系统自动备份了一份文件,

groupadd grp1 创建一个组

创建组同时指定id号

删除一个组  groupdel grp1

如果要删除一个组,前提是组里面没有用户

3.3 用户管理

useradd  user1 

创建一个新用户

-u 指定uid

-g 指定组

-d 指定家目录

-s 指定登录shell

useradd -M  用户

-M 创建用户的时候不创建家目录

创建用户时,不指定gid的情况下,创建用户的gid是根据uid增加的

删除用户  userdel  用户

但是不会删除用户的家目录

userdel -r  加上r选项时用户的家目录也会一并删掉

3.4 usermod命令

更改用户属性的命令

usermod -u uid  username

usermod -g gid/组名 username

usermod -d 家目录 username

usermod -s 登录shell  /bin/bash /sbin/nologin  username

useradd  -G 创建用户的时候可以给用户添加扩展组

usermod -G  组名  username 

如果想同时加入到两个组,组名之间用逗号隔开

id username  可以查看用户的uid和gid

3.5 用户密码管理

passwd 更改用户密码

!! 代表密码是空,*代表用户是锁定的  代表用户不能登录

passwd -l username

锁定一个用户

passwd -u username

解锁一个用户

usermod -L username 也可以锁定一个账号

前面是一个叹号

usermod -U username 解锁一个用户

--stdin 输入一次就可以更改密码 

echo "112233" |passwd --stdin user1

免交互更改用户密码

\n 是换行符   \t是制表符

利用换行符更改密码,正常一般更改密码的时候需要输入两遍

3.6 mkpasswd命令

mkpasswd  (make passwd)  

生成密码的一个工具,可以生成一个随机的字符串,当作密码使用

安装一个expect包

mkpasswd  自动生成一个9位的随机字符串

-l 指定长度 后面跟位数

-s 指定特殊符号 后面跟个数  0代表没有特殊符号

运用在shell脚本里面批量创建密码的时候

3.7 su 命令

su - username

彻底的切换用户,包括配置,环境变量

su - -c

-c  以指定用户的身份执行一条命令

从普通用户切换到另一个普通用户的目录下,显示的前缀不一样,是因为用户的家目录不存在,没有用户的配置文件,所以就出现前缀不一样的情况,通过创建家目录和拷贝配置文件,恢复用户前缀

普通用户也可以切换到root下

3.8 sudo命令

sudo 命令可以使用户临时执行一条命令,以指定用户的身份去执行,一般是给用户授权root用户的身份

visudo 

允许root用户执行所有的命令,在任何地方

第一个ALL代表在哪里,主机

第二个ALL代表用户

第三个ALL代表全部命令

用户aming和user1拥有ls mv cat 命令执行权限,写成绝对路径

NOPASSWD:            sudo的时候不再让用户输入密码

定义主机别名

定义用户别名

定义命令别名

运用定义的命令别名

可以把一些用户加入到一个组里面,统一授权

3.9 限制root 远程登录

visudo  创建一个用户的别名

修改sshd_config配置文件

PermitRootLogin  no 

限制root远程登录

测试普通sudo 到root用户下

猜你喜欢

转载自blog.csdn.net/weixin_37817498/article/details/81314526