Linux 期末


前言

Linux的期末作业

提示:以下是本篇文章正文内容,下面案例可供参考

一、基本应用

1.以root用户登录系统,创建个人用户(以自己学号作为用户名),并指定属于student工作组。 2.在刚刚创建的用户的主目录下创建以自己学号命名的文件,并修改文件权限为本身用户可以读写执行,同组用户和其他用户只可读。 3.使用命令在文件中写入自己的学号和拼音。

首先创建用户组 student
之后创建用户并给用户sudo权限

groupadd student
useradd cme19044 -g student -m
passwd cme19044

在这里插入图片描述

可参考如下配置

chmod u+w /etc/sudoers
vim /etc/sudoers
chmod u-w /etc/sudoers

在这里插入图片描述
在刚刚创建的用户的主目录下创建以自己学号命名的文件,并修改文件权限为本身用户可以读写执行,同组用户和其他用户只可读。

cd ~
pwd
touch cme19044
sudo chmod 744 cme19044
ls -ll

在文件中写入自己的学号和拼音。

echo CME19044sbr > cme19044

在这里插入图片描述

二、shell应用

1.使用shell自动化在上一步用户的主目录下创建名为 “学号_shell”的文件夹; 2、进入“学号_shell”文件夹; 3、利用命令获取/bin或者/sbin目录下文件以及文件夹名字,并将结果存入“学号_shell”文件夹下的result.txt该文件; 4、最后打印输出result.txt的内容。

创建shell文件并写入命令,之后赋予权限

vim shell.sh 
sudo chmod 777 shell.sh 
./shell.sh

在这里插入图片描述

在这里插入图片描述


三、应用程序

(1)samba应用 创建自己学号为名字的共享目录,并通过驱动器映射的方式,将该目录映射为window下的磁盘目录。 (2)FTP应用 搭建FTP服务器,并采用虚拟用户的方式创建自己学号的虚拟用户,访问密码统一设置为123456。。

samba应用

安装samba

sudo apt install samba

samba软件的管理方式

sudo /etc/init.d/smbd start     #启动
sudo /etc/init.d/smbd stop      #停止
sudo /etc/init.d/smbd restart   #重启

配置

vim /etc/samba/smb.conf
 [global]
         workgoup = MYGROUP
         server string = Samba Server Version %v
         server string = Samba Server %v
         netbios name = ubuntu
         security = user
         map to guest = bad user
         dns proxy = no
 [CME19044]
     path = /home/cme19044/share
     public = yes 
     writable = yes
     printable = no
     create mask = 0777
     sync always = yes
     

创建共享文件夹

sudo mkdir -p /home/cme19044/share
sudo chmod -R 777 /home/cme19044/share

重启

sudo /etc/init.d/smbd restart   #重启

在这里插入图片描述

通过window连接samba

在这里插入图片描述

FTP应用

FTP服务器配置环境

sudo apt-get install --reinstall systemd
sudo apt install  vsftpd   #安装ftp
sudo apt install db-util  #安装生成虚拟帐号数据库工具db

创建账户

useradd CME19044 -s /sbin/nologin
passwd CME19044 

修改配置

vim /etc/vsftpd.conf

在文件最后添加以下内容

anonymous_enable=NO
local_enable=YES
userlist_enable=YES
#userlist_deny=NO
#
guest_enable=YES
guest_username=CME19044
virtual_use_local_privs=YES
pam_service_name=vsftpd
user_config_dir=/etc/vsftpd/virtualconf
userlist_enable=NO
userlist_file=/etc/vsftpd/virtusers  

创建配置文件夹,用于存放每个用户的配置

mkdir -p /etc/vsftpd/virtualconf

创建存放用户密码

vi /etc/vsftpd/virtusers

同时使用db命令生成数据库文件
修改pam配置文件

db_load -T -t hash -f /etc/vsftpd/virtusers /etc/vsftpd/virtusers.db

vim /etc/pam.d/vsftpd

把文件的内容全部删掉,替换以下配置

auth required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/virtusers
account required /lib/x86_64-linux-gnu/security/pam_userdb.so db=/etc/vsftpd/virtusers

配置每个用户信息

切换到用户配置目录下

mkdir -p /home/CME19044/CME19044
chown CME19044.CME19044 /home/CME19044
cd /etc/vsftpd/virtualconf/
vim CME19044

在这里插入图片描述

写入以下内容

local_root=/home/CME19044/CME19044
write_enable=YES
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

在这里插入图片描述

重启

service vsftpd restart

测试

在这里插入图片描述

四、综合应用

创建个人网站,该网站应包含三大组件:Nginx+php+MySQL。在MySQL中创建一个以自己学号、姓名、性别为内容的数据表格,Nginx应设置为可解释php代码的环境,最后效果为当我访问http://ip:8089端口的时候能出现前面创建的学号、姓名、性别的数据表。

MySQL

安装

sudo apt install -y mysql-server

初始化

sudo mysql_secure_installation

创建数据库

在这里插入图片描述

数据库的相关操作

show databases;     #显示所有数据库
use 数据库名;        #切换到某个数据库
show tables;             #显示某个数据库里的表
select 字段1,字段2,字段3 from 表名;      #从表中筛选出部分字段
create database 数据库名; #创建数据库
drop database数据库名; #删除数据库
describe 数据表名;  #显示数据表
sudo mysql -u root -p
#创建一个用户,并赋予全部权限
CREATE USER 'cme19044'@'%' IDENTIFIED BY '1';
grant all on *.* to 'cme19044'@'%';

创建数据表

use mysql

#创建数据表
CREATE TABLE IF NOT EXISTS `CME19044`(
   `XueHao` VARCHAR(40) NOT NULL,
   `name` VARCHAR(100) NOT NULL,
   `sex` VARCHAR(40) NOT NULL,
   PRIMARY KEY ( `XueHao` )
)ENGINE=InnoDB DEFAULT CHARSET=utf8;


insert into CME19044 values ('CME19044','sbr','man');

describe CME19044;  #查看

select * from CME19044

在这里插入图片描述

php

下载

apt install php-fpm -y
apt install php-mysql php-pgsql php-sqlite3

配置php-fpm

cd /etc/php/7.4/fpm/pool.d/
sudo vim www.conf

将listen = /var/run/php7-fpm.sock
改为listen = 127.0.0.1:9000

在这里插入图片描述

Nginx

sudo apt install nginx
vim /etc/nginx/nginx.conf

写入如下配置

     server {
         listen       8089;
         server_name  localhost;
         location /{
             root /home/ubuntu/8089;
             index  index.html index.htm;        
             }
     location ~ .*\.php?$ {
         try_files $uri = 404;
         root        /home/hhh/web/8089;
         index       index.php index.html index.htm;
         fastcgi_pass   127.0.0.1:9000;
         fastcgi_index  index.php;
         include        fastcgi_params;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  fastcgi_param PATH_INFO                $fastcgi_script_name;
      }
 
 
      }

在这里插入图片描述
创建目录,给予权限 ,到该目录下创建info.php文件

sudo mkdir -p /home/hhh/web/8089
sudo chmod -R 777 /home/hhh/web/8089
cd /home/hhh/web/8089/
vim info.php

写入如下内容

<?php
$host = "127.0.0.1"; 
$port = "3306";  
$username = "cme19044"; 
$password = "****"; 
$dbname = "mysql"; 
$charset = "utf8"; 
$dsn = "mysql:dbname=$dbname;host=$host";
 try{
$pdo = new Pdo($dsn, $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, 
PDO::ERRMODE_EXCEPTION); 
echo "接入mysql成功";
echo "hello world";
echo '<tr>';
$state = $pdo->query("select * from CME19044 "); 
$total_column = $state->columnCount();
echo '<hr>';
for ($counter = 0; $counter < $total_column; $counter ++) {
    $meta = $state->getColumnMeta($counter);
    $column[] = $meta['name']."&nbsp&nbsp&nbsp";
}
foreach ($column as $i){
	echo "<th>".$i."</th>";
}
echo "</tr>";
echo '<hr>';
while ($row=$state->fetch()) {
	echo "<tr><td>".$row['XueHao']."&nbsp&nbsp&nbsp"."</td><td>".$row['name']."&nbsp&nbsp&nbsp"."</td><td>".$row['sex']."</td></tr>";
}
echo "</table>";
set_exception_handler("cus_exception_handler");
} catch(PDOException $e){
echo "接入mysql失败";
die("连接失败: ".$e->getMessage());
}
?>

在这里插入图片描述

综合网站测试

在浏览器中访问 http://127.0.0.1:8089/info.php
在这里插入图片描述

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值