用户管理
linux是一个多用户的操作系统,拥有最高权限的是管理员用户root,我们可以在其中创建多个用户,可以给这些用户限制一些权限,防止意外发生。可以使用下面命令创建一个叫做monkey1024的用户
useradd monkey1024
创建之后,可以在home目录下看到生成了一个monkey1024的文件,即一个用户会对应一个文件。使用下面命令给monkey1024设置密码:
passwd monkey1024
之后我们通过logout命令退出当前用户的登录,然后再使用monkey1024登录即可,登录之后输入pwd可以看到当前所在的目录。
当不需要某个用户的时候,我们可以将其删除,删除方式包含下面2种:
- 仅删除用户,保留其home目录
userdel monkey1024
- 删除用户和home目录
userdel -r monkey1024
用户切换命令,切换到root用户:
su - root
用户组
创建一个叫做dev的用户组:
groupadd dev
删除叫做dev的用户组:
groupdel dev
创建用户时,若未指定组,则该用户会放到与其同名的组种,下面创建用户monkey1024,并将其放入到dev组种
useradd -g dev monkey1024
创建成功之后,通过下面命令查看monkey1024的用户信息
id monkey1024
下面命令是修改用户monkey1024所在的组为test
usermod -g test monkey1024
文件管理
在linux中每个文件有下面几个概念:
- 所有者一个文件的所有者默认是该文件的创建者,当然,我们可以通过下面命令修改文件的所有者,将文件aaa的所有者改为monkey1024
chown monkey1024 aaa
- 所在组文件的所在组与该文件所有者的所在组是一致的。可以通过下面命令修改文件的所在组,将aaa文件的所在组改成dev
chgrp dev aaa
- 其他组除了文件所有者和所在组的用户外,文件所在的别的组叫做其他组,比如上图中的test组
权限简介
在linux中不同组中的用户可以操作的文件权限是不同的,我们输入ll之后可以看到显示如下内容:
drwxr-xr-x. 20 root root 3060 7月 1 13:22 dev
其中最前面的10个字符含义如下
1.第1个字符表示文件类型:
- -表示文件
- d表示目录
- l表示软连接
- c表示字符设备,键盘,鼠标
- b表示块设备,硬盘。
由此可见,上面的内容第1个是d,即表示目录。
2.第2-4个字符(上面的rwx)表示文件所有者拥有的文件权限
3.5-7个字符(上面的r-x)表示文件所在组的其他用户拥有的权限
4.8-10个字符(上面的r-x)表示其他用户拥有该文件的权限
文件权限rwx表示的内容如下:
- r,read表示可读
- w,write表示可写,若用户对该文件所在的文件夹拥有w权限,则可以对其删除。
- x,execute表示可执行
文件夹权限rwx表示内容如下:
- r,可以查看文件夹中的内容
- w,可以对文件夹内进行创建,删除,重命名操作
- x,可以进入到该目录
权限修改
我们可以使用chmod命令来修改用户对文件的权限,u表示所有者,g表示所有组,o表示其他用户,a表示所有人,即前三者的总和。
chmod u=rwx,g=rx,o=r aaa 给aaa文件/文件夹赋予权限,u赋予rwx权限,g赋予rx权限,o赋予r权限
chmod g+x aaa 给aaa文件/文件夹的g增加x权限
chmod o-w aaa 给aaa文件/文件夹的o减去w权限
除了使用rwx字符的方式赋予权限之外,还可以使用对应的数字赋予权限,r=4,w=2,x=1,即r可以使用数字4来表示。倘若要赋予rwx权限,我们可以将其对应的数字相加,rwx=4+2+1=7,若要赋予rx权限,则rx=4+1=5。上面的:
chmod u=rwx,g=rx,o=r aaa
修改为使用数字之后的命令如下,3位数字分别对应了u,g,o:
chmod 754 aaa
防火墙
在linux中有一道防火墙,可以开启或关闭指定的端口,这样就提高了安全性。当设备A访问3306端口时,倘若防火墙并未开启该端口,此时设备A是无法访问的。
关于操作防火墙的一些命令:
systemctl status firewalld 查看防火墙状态
systemctl disable firewalld 永久关闭防火墙(生产环境下不要这么做)
systemctl enable firewalld 重启后开启防火墙
下面两个命令在重启之后会回复到防火墙之前的设置
systemctl start firewalld 开启防火墙
systemctl stop firewalld 关闭防火漆
注意,考虑到安全问题,在实际生产环境中不要关闭防火墙,通常我们会开放需要使用的端口。
查看开放的端口:
firewall-cmd --list-ports
查看特定的端口是否开放:
firewall-cmd --query-port=端口/协议
打开端口:
firewall-cmd --permanent --add-port=端口号/协议
关闭端口:
firewall-cmd --permanent --remove-port=端口号/协议
开启或关闭后需要重新载入:
firewall-cmd --reload
下面以在linux配置tomcat为例演示下防火墙的作用,请参考视频。