注册账户后可访问私人网盘,树莓派
来源:互联网 发布:生鲜超市销售数据分析 编辑:程序博客网 时间:2024/06/09 18:27
注册账户后可访问私人网盘,树莓派
实现功能:在网页注册成功后,树莓派自行创建专属于该账户的储存空间(相当于网盘),在windows中的网上邻居可访问。
建议先阅读,http://blog.csdn.net/klli15/article/details/78009455
环境
- python
- flask
- samba
- MySQL
环境安装
sudo pip install Flask # 安装flask
Mysql的安装请参考 http://blog.csdn.net/klli15/article/details/78009418
samba的安装和配置请参考 http://blog.csdn.net/klli15/article/details/78009455
安装依赖python 库
- MySQLdb 的安装:http://www.jb51.net/article/48827.htm,用于操作Mysql
- Pexpect的安装
sudo pip install pexpect
,用于创建用户过程中自动输入密码以完成网盘的创建
编辑注册页面
只用于测试,不求美观
<!DOCTYPE html><html><head> <title>注册</title></head><body> <form action="../check" method="post"> 注册:<input type="text" name="name" required="required"> 密码:<input type="password" name="pass" required="required"> <input type="submit" > </form> </body></html>
编辑Python脚本处理网页请求
#check.py# coding: utf-8from flask import Flaskfrom flask import requestfrom flask import send_fileimport MySQLdbimport pexpectimport osapp=Flask(__name__)@app.route('/index')def index(): return send_file('register.html') # 注册页面@app.route("/check",methods=['POST', 'GET'])def hello_word(): #return request.form['name'] RName=request.form['name'] #获取表单数据 RPassword= request.form['pass'] isExit=0 #return "hello#2" db=MySQLdb.connect("localhost",'root','password','user_infor') #登录mysql cursor = db.cursor() #获取游标 cursor.execute('select * from user') # 执行Mysql语句 exits=cursor.fetchall() #获取所有的数据 for i in exits: #防止重复注册 name=i[1] if(RName==name): isExit=1 break if (isExit==1): return 'registed' os.system("sudo mkdir /home/pi/share/"+RName) #创建私人网盘 #os.system("sudo chmod a+w /home/pi/"+RName) os.system("sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.bak") #备份 fp=open('/etc/samba/smb.conf',"a") #追加配置文件 tempStr="""[%s] path=/home/pi/share/%s read only =no writable = yes public=no valid users=%s """%(RName,RName,RName) fp.write("\n"+tempStr) fp.close() os.system("sudo useradd "+RName) #smb用户要求必须要linux系统用户 child=pexpect.spawn("sudo smbpasswd -a "+RName) child.expect("New SMB password:") #自行输入密码 child.sendline(str (RPassword)) #记得要变为字符串 child.expect("Retype new SMB password:") child.sendline(str(RPassword)) os.system("sudo /etc/init.d/samba retsart") #重启samba服务 #完成之后写进数据库,以免重复注册 sql="""INSERT INTO user(name,password)VALUES ('%s','%s')"""%(RName,RPassword) try: cursor.execute(sql) db.commit() #交予数据库处理数据 # return 'hello world' except: db.rollback() return "failed" db.close() return "successful"if __name__=='__main__': app.run(debug=True,port=8181,host="192.168.137.220")
flask 文档:http://docs.jinkan.org/docs/flask
pexpect 使用实例:http://blog.csdn.net/xj626852095/article/details/51271541
执行脚本
sudo python check.py
访问注册页面
浏览器打开 hosts:port/index
,如192.168.137.220:8181/index
输入账号密码,提交后显示“successful”
访问网盘
- 方法一
- win+R(即“运行”快捷键)
- 输入
\\树莓ip地址\账号
如\\192.168.137.220\15klli
- 输入15klli用户的账号密码
- 方法二
- 打开windows的网上论据
- 双击 RASPBERRYPI
- 输入账号密码
阅读全文
0 0
- 注册账户后可访问私人网盘,树莓派
- 树莓派创建windows可访问的私人网盘
- 注册账户
- ios 用私人邮箱注册开发者公司账号后如何把权限转移到公司公有邮箱?
- 才注册的账户
- 如何注册PayPal账户
- 账户注册(未完成)
- 无法注册账户
- 注册大朋账户
- 如何注册Google账户
- ROS2.9.27成功架设VPN后可访问网关但无法访问内网的解决办法
- 2017 Google hosts 持续更新,配置后可访问外网(不定期更新)
- 2017 Google hosts 持续更新,配置后可访问外网(不定期更新)
- 系统账户更改为可登陆账户
- 注册远程服务器到本地后以别名访问
- 修改了域账户密码后,访问sharepoint站点时出现的问题
- 注册,登陆,删除账户模块
- 账户信息(注册、登录)
- 实验三 交换机的基本配置与管理
- Sicily.1114 Food Cubes
- C++模板与泛型(3.模板特化)
- 轮播图的实现(上)
- Hibernate Many-to-Many
- 注册账户后可访问私人网盘,树莓派
- 小米手机权限开启方法9
- MySQL Cluster--安装部署性能测试
- sklearn学习记录
- 实验四 交换机的Telnet远程登陆配置
- linux awk命令详解
- 前端 | 浅谈预检请求
- Android上打包jar并在真机上运行
- 大数据开发【Linux系统 本地虚拟机网络配置】