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给文件授权的主要内容,如果未能解决你的问题,请参考以下文章

python ftp 服务器显示“150 文件状态正常。即将打开数据连接。”啥都不做

python类 包装 授权

Python进阶-----类组合的方式完成授权

python微信服务号关注授权消息推送流程

oracle给远程连接的用户授权。

解决tomcat登录需要给角色授权