Linux(进阶)——学习笔记(用户管理、权限管理、系统管理[防火墙]、软件安装)

一、Linux 用户管理

1.1 概述

  1. 用户是 Linux 系统工作中重要的一环,用户管理包括用户与组账号的管理。
  2. 在 Linux 系统中,不论是由本机或是远程登录系统,每个系统都必须拥有一个账号,并且对于不同的系统资源拥有不同的使用权限。
  3. Linux 系统中的 root 账号通常用于系统的维护和管理,是超级管理员
  4. 在 centOS7 中有 3 种用户,每种用户的唯一身份标识是 UID
    超级管理员:UID 为 0 超级用户UID 的范围[1,999] 普通用户UID>=1000
    CentOS7 会调用程序用户来启动某些后台应用或服务,该用户不能登录系统。

1.2 常见命令

命令描述
whoami查看当前用户身份
``

1.3 用户

1.3.1 查看登录用户、退出登录

查看登录用户命令:who [-mq]

参数描述
-m只显示运行 who 命令的用户名、登录终端和登录时间
-q 或 --count只显示用户的登录账号和登录用户的数量

退出登录命令:exit

  • 如果是图形界面,退出当前终端;
  • 如果是使用 ssh 远程登录(ssh 是安全协议,是 Linux 自带的登录工具),退出登录账户;
  • 如果是切换后的登录用户,退出则返回上一个登录账号。

1.3.2 查看所有用户的详细信息

命令:cat /etc/passwd
每一行代表一个用户的详细信息,它包含用冒号 : 分隔的 7 个字段;
在这里插入图片描述
以 root 用户 为例:

字段描述
字段1已创建的用户名
字段2x 表示加密密码,保存在 /etc/shadow 文件中
字段30 代表用户的 UID
字段4用户所在的组 id,简称 GID
字段5代表用户描述信息
字段6/root 代表用户家目录
字段7代表用户登录系统的命令解释器(shell)
/bin/bash 表示该用户可以登录系统
/sbin/nologin 表示该用户无法登录系统

1.3.3 添加用户账号(useradd)

  在Linux中添加用户账号可以使用adduseruseradd命令,因为adduser命令是指向useradd命令的一个软链接,因此,这两个命令的使用格式完全一样。

命令:useradd [参数] 用户名

参数描述
-d指定用户的主目录(家目录)
如果不使用该参数,系统自动在/home 目录下建立与用户名同名的目录作为主目录。
-g指定用户所属的组名
如果省略该参数,系统自动创建一个和用户名一样的组。
-m自动建立用户的登入目录

【提示】

  1. 可通过 find -name adduser 命令查找 adduser 命令所在位置,得到/usr/sbin/adduser
    然后在/usr/sbin 下执行 ll adduser,发现 adduser 是指向 useradd 命令的一个软链接。
  2. Linux 每个用户都要有一个主目录,主目录就是第一次登录系统时,默认所在的当前目录。每一个用户必须有一个主目录;用户的主目录一般要放到根目录的 home 目录下,用户的主目录默认和用户名相同

1.3.4 设置用户密码(passwd)

超级管理员修改用户密码 命令:passwd 用户名
管理员或普通用户修改自己的密码 命令:passwd

  1. 在 Linux 中,超级用户可以使用 passwd 命令为普通用户设置或修改用户口令。用户也可以直接使用该命令来修改自己的口令,而无需在命令后面写用户名。

1.3.5 删除用户(userdel)

命令描述
userdel 用户名删除 abc 用户,但不会自动删除用户的主目录
userdel -r 用户名删除用户,同时删除用户的主目录

1.3.6 切换用户(su)

  可以通过 su 命令切换用户,su 后面可以加“-”。susu –的不同之处是 su -切换用户时会把当前工作目录自动切换到用户的家目录。

命令描述
su root切换到 root 用户
su - 切换到 root 用户,同时工作目录切换到 /root
su - root 切换到 root 用户,同时工作目录切换到 /root
su 普通用户切换到普通用户
su - 普通用户切换到普通用户,同时切换到普通用户的主目录

测试案例:(exit 退出当前登录或切换到上一个登录)
在这里插入图片描述

1.4 用户组

1.4.1 查看用户组列表、查看用户所属组

查看用户组列表 命令:cat /etc/group
查看用户所属组 命令:groups 用户名

提示:查到的每条记录中有 3 个字段,字段 1:用户组名称 字段 2:密码 字段 3:GID。
在这里插入图片描述

1.4.2 添加用户组、删除用户组

添加用户组 命令:groupadd 要添加的用户组名
删除用户组 命令:groupdel 要删除的用户组名

【提示】如果用户组里面有用户,必须先删除用户,才能删除组。

二、Linux 权限管理

2.1 普通用户添加 sudo 权限

  sudo 是 linux 系统管理指令,是允许普通用户执行一些或者全部的 root 命令的一个工具,sudo 的操作对象是系统命令。比如关机、重启、添加一个其他的普通用户等。这样不仅减少了 root 用户的登录和管理时间,同样也提高了安全性。新创建的用户默认没有 sudo 权限

1)安装 sudo
安装方法:yum -y install sudo

2)用 root 登录,把普通用户添加到 sudoers 文件里;
编辑命令:vim /etc/sudoers
文件中填写的内容: 用户名 ALL=(ALL) ALL
在这里插入图片描述

【提示】

  1. 由于 sudoers 本身是只读的,修改后要强制保存退出 :wq!
  2. 在没有其它用户登录 Linx 主机时,此时Jack用户就可以执行系统命令 init 6 来重启系统。

2.2 文件/目录权限

  权限是 Linux 中的重要概念,每个文件/目录都具有权限,通过 ll 命令我们可以查看某个目录下的文件或目录的权限。

简写描述
r代表可读取(read),对于一个目录,如果没有 r 权限,就不能通过 ls 查看这个目录的内容。
w表示可写入(write),对于一个目录,如果没有 w 权限,就不能在目录下创建新文件。
x表示可执行(execute),如果一个目录没有 x 权限,就不能通过 cd 进入这个目录。
-表示相应的操作权限没有被授予。

在这里插入图片描述
上面图片来自“软测小生”博主

2.2.1 修改文件/目录的权限 chmod

chmod 修改文件权限有两种使用格式:字母法数字法

字母法chmod u/g/o +/-/= rwx 文件

u/g/o/a 参数含义
uuser 表示该文件的所有者
ggroup 表示与文件的所有者在同一组(group)的用户,即用户组
oother 表示其他的用户
a表示以上三者皆是
+/-/= 参数含义
+增加权限
-撤销权限
=设定权限

案例:
1)设定 /home/jack/b.txt 文件的权限(属主权限:rwx,同组权限:rw,其它用户权限:r):
  chmod u=rwx,g=rw,o=r /home/jack/b.txt
2)给同一用户组的用户撤销对 /home/jack 下 b.txt 文件写的权限:
  chmod g-w /home/jack/b.txt
3)给文件所有者添加可执行权限(字母法):
  chmod u+x b.txt

数字法

如执行:chmod u=rwx,g=rx,o=r filename 就等同于:chmod u=7,g=5,o=4 filename 或等同于:chmod 754 finename

【注意】

  1. 如果想递归所有目录都加上相同权限,需要加上参数“ -R ”。 如:chmod -R 777 test,表示递归 test 目录下所有文件都加 777 权限。否则只有指定的文件有相应的权限(目录和文件夹的权限是独立的!!)。

2.2.2 修改文件的所有者

命令:chown 所有者 文件
在这里插入图片描述

三、Linux 系统管理

3.1 常见命令

命令描述
netstat -tnlp查看正在运行的端口号和进程号
netstat -anp | grep 端口号查看端口号是否被占用
``
``
``

3.2 关机重启

命令描述
reboot强制重启操作系统
shutdown -h now立刻关机,其中 now 相当于时间为 0 的状态
shutdown -h 20:25系统在今天的 20:25 会关机
shutdown -h +10系统再过十分钟后自动关机
init 0halt关机
init 6正常重启系统(一般用 init 6)

3.3 防火墙

  • 【查看防火墙状态】命令:firewall-cmd --state
  • 【开启防火墙】命令:systemctl start firewalld.service
  • 【查看防火墙是否开启成功】命令:systemctl is-enabled firewalld.service;echo $?

在这里插入图片描述

  • 【设置防火墙开机自启】命令:systemctl enable firewalld.service
  • 【重启防火墙】(比如开放了端口后)命令:
    systemctl restart firewalld.servicefirewall-cmd --reload
  • 【开启端口】命令:firewall-cmd --zone=public --add-port=80/tcp --permanent
    --zone :作用域;
    --add-port=80/tcp:添加端口,格式为:端口/通讯协议;
    --permanent:永久生效,没有此参数重启后失效;
  • 【查看开启的端口列表】命令:firewall-cmd --list-ports
  • 【关闭防火墙】命令:
    停止防火墙:systemctl stop firewalld.service
    禁止防火墙开机启动:systemctl disable firewalld.service

【备注】开启端口后要重启防火墙,才能使端口放行生效。

四、Linux 的软件安装

4.0 常用命令

命令描述
yum -y install 文件名安装文件;-y 表示一直确认是否安装提示。
``

4.1 JDK 安装

1) 下载 Linux 版的 jdk,如:jdk-8u181-linux-x64.tar.gz
2) 将下载的 jdk 安装包上传到 linux 的 /root/javaDevEnviron 目录,并在 opt 下创建 modules 目录。(javaDevEnviron 目录是自己自定义创建的,modules 目录也是自己自定义创建的)
3) tar 命令解压 JDK 包,指定解压地址是 /root/javaDevEnviron /modules,在 javaDevEnviron 目录执行 tar -xvf jdk-8u181-linux-x64.tar.gz -C modules (当前路径为/root/javaDevEnv)。
在这里插入图片描述
4) 配置环境变量,打开 /etc/profile 文件,将下面的配置拷贝进去(JAVA_HOME 是 jdk 安装的根路径,不能写错了)。先编辑文件vim /etc/profile,然后按 :wq!强制保存退出。
在这里插入图片描述
5) 输入命令 source /etc/profile 使配置生效,最后用 java -version 命令验证 JDK 是否安装成功。
在这里插入图片描述

【注意】

  1. 这里安装的jdk版本,要跟本地上的jdk版本一致。(jdk8编译的项目可能在别的jdk的版本上运行出现问题)。

4.2 Tomcat 安装

4.2.1 上传安装

1) 上传 Tomcat 安装包到 linux 的 /root/javaDevEnv 目录;
2) 解压 Tomcat 到 /root/javaDevEnv/modules 下,在 /javaDevEnv 目录执行
  tar -xvf apache-tomcat-8.5.14.tar.gz -C modules
3) Linux 对外开放端口 8080(如已开放可忽略)
  firewall-cmd --zone=public --add-port=8080/tcp --permanent(防火墙放行端口)
  firewall-cmd --reload(重启防火墙)
4) 启动关闭 Tomcat。启动 tomcat : 进入 tomcat 的 bin 下执行 ./startup.sh
在这里插入图片描述
  输入 http://虚拟机 ip:8080/,即可访问到 tomcat 主页。
在这里插入图片描述
在这里插入图片描述

4.2.2 在线安装

# 执行命令在线安装 tomcat到当前目录
wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.50/bin/apache-tomcat-8.5.50.tar.gz

tomcat在线安装相关博客

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值