pythonftp给文件授权
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pythonftp给文件授权相关的知识,希望对你有一定的参考价值。
参考技术A (1)客户端访问服务器端要有一个验证功能(2)可以有多个客户端访问服务器端
(3)可以对重名文件重新上传或下载
FTP(File Transfer Protocol,文件传输协议) 是 TCP/IP 协议组中的协议之一。FTP协议包括两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户可以使用FTP客户端通过FTP协议访问位于FTP服务器上的资源。在开发网站的时候,通常利用FTP协议把网页或程序传到Web服务器上。它工作在TCP 模型的第四层, 即应用层, 使用 TCP 传输而不是 UDP, 客户在和服务器建立连接前要经过一个“三次握手”的过程, 保证客户与服务器之间的连接是可靠的, 而且是面向连接, 为数据传输提供可靠保证。
服务器端
首先要实现对访问客户端的验证,在本地建立一个数据库文件,将客户端的用户名和密码写入到文件中。这样每次访问时都将用户名和密码和数据库中存在的进行匹配,实现验证功能。这里对密码进行了MD5加密,保证了密码不会轻易泄露。
mysql创建角色并授权给用户
mysql创建角色并授权给用户
CREATE DATABASE testdb;
创建角色
-- 创建角色
CREATE ROLE 'admin';
-- 语法
CREATE ROLE [IF NOT EXISTS] role [, role ] ...
角色授权
-- 角色授权
GRANT ALL ON testdb.* TO 'admin' WITH GRANT OPTION;
CREATE ROLE 'test';
GRANT SELECT,INSERT,DELETE,UPDATE ON testdb.* TO 'test';
-- 语法
GRANT role [, role] ... TO user_or_role [, user_or_role] ...[WITH ADMIN OPTION]
角色授权给用户
创建用户
CREATE USER 'admin'@'%' IDENTIFIED BY '1qaz@wsx';
角色授权给用户
设置用户默认角色的语法
-- 设置默认角色
SET DEFAULT ROLE 'admin' TO 'admin'@'%';
-- 语法
SET DEFAULT ROLE NONE | ALL | role [, role ] ... TO user [, user ] ...
服务器应视为必需的角色。实际上,这些 角色会自动授予每个用户,尽管 设置mandatory_roles 实际上不会更改任何用户帐户和授予的角色 在系统表中不可见。
mysql8开启角色自动激活
#设置开启
set global activate_all_roles_on_login=ON;
-- 查看是否开启
show variables like 'activate_all_roles_on_login';
当这个配置开启,服务器将在账号登录时,自动激活账号被授予所有角色。并且,优先于SET DEFAULT ROLE
设置的默认值。
如果禁用activate_all_roles_on_login
,服务器只会激活默认角色 。
更换会话的角色
SET ROLE DEFAULT; --激活默认角色
SET ROLE 'role1', 'role2';
SET ROLE ALL; -- 激活所有角色
SET ROLE ALL EXCEPT 'role1', 'role2';
-- 语法
SET ROLE DEFAULT | NONE| ALL | ALL EXCEPT role [, role ] ...| role [, role ] ...
设置服务器默认角色(不重要)
SET PERSIST mandatory_roles = '`role1`@`%`,`role2`,role3,role4@localhost';
服务器视为必需的角色。这些 角色会自动授予每个用户,设置mandatory_roles
实际上不会更改任何用户帐户和授予的角色,在系统表中也不可见。
撤销授权
REVOKE INSERT ON *.* FROM 'jeffrey'@'localhost';
REVOKE 'role1', 'role2' FROM 'user1'@'localhost', 'user2'@'localhost';
REVOKE SELECT ON world.* FROM 'role3';
-- 语法
REVOKE [IF EXISTS] PROXY ON user_or_role FROM user_or_role [, user_or_role] ...
[IGNORE UNKNOWN USER]
其他相关内容
-
刷新授权
flush hosts; -- 当修改授权后,使用这个命令来刷新授权。 FLUSH PRIVILEGES ;
-
查看当前角色
SELECT CURRENT_ROLE();
-
查看授权
SHOW GRANTS; SHOW GRANTS FOR CURRENT_USER; SHOW GRANTS FOR CURRENT_USER(); SHOW GRANTS FOR 'username'@'%' ; --查看某个用户授权
role的值有:
-
ALL PRIVILEGES
: 所有权限 -
CREATE
: 创建数据库和表的权限。 -
DROP
: 删除数据库和表的权限。 -
ALTER
: 修改表结构的权限。 -
INSERT
: 向表中插入数据的权限。 -
SELECT
: 查询表中数据的权限。 -
UPDATE
: 修改表中数据的权限。 -
DELETE
: 删除表中数据的权限。
以上是关于pythonftp给文件授权的主要内容,如果未能解决你的问题,请参考以下文章