目录
前言
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']."   ";
}
foreach ($column as $i){
echo "<th>".$i."</th>";
}
echo "</tr>";
echo '<hr>';
while ($row=$state->fetch()) {
echo "<tr><td>".$row['XueHao']."   "."</td><td>".$row['name']."   "."</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