作者ak77now (ak77now)
看板Linux
标题[问题] FTP设定帐号到期时间
时间Tue Jul 28 17:40:33 2020
不一定非要FTP
主要的目的是将档案存放於VPS上
然後设定权限给不同的使用者,并设定存取期限
比如说我原本是在VPS上装Nextcloud
的确可以设定不同的使用者的存取期限
但下载档案的过程非常不稳,破G的大小後很容易断线
连线的方式是Webdav
用了许多不同客户端软体下载都容易失败
於是改在VPS上用FTP的方式,发现下载过程还算稳定
我现在是用pure-ftpd
因为对linux还不熟,所以是透过一个叫做宝塔面板的工具操作
https://www.bt.cn/
FTP也是用上面内建的,功能很阳春
只有简单的建立帐号密码与存取的目录
考量到下载稳定,可能还是要往这类型的工具找找了
请问有FTP server的软体可以设定帐号的存取到期期限的吗
(日期到了该帐号自动不能用或不能下载)
或是说除了Nextcloud,还有什麽工具档案传输很稳定的吗
谢谢大家喔!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 122.254.35.34 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Linux/M.1595929236.A.FA8.html
1F:→ bitlife: 手工阳春作法或许可用 at 定好预定时间去deluser? 07/28 21:10
2F:→ brli7848: 明明有ftp专板… 07/28 22:05
不冲突吧?
搜寻本板有关FTP的文也不少
一方面我也是针对linux系统的FTP部分询问
就像google drive问题
免空板与Google板都很多文啊,难道只能特定其中一个问吗
会不会去FTP问了後,又有人要我回这里问呢
3F:推 chang0206: 既然有nextcloud 为什麽不用内建的分享? 07/29 10:55
如同文中提的,下载过程容易断线
4F:→ chang0206: 用webdav 失败的话,改用http? 07/29 10:56
一样不稳
怀疑可能要在php方面做些优化设定
这类的文章其实满多的,我参考了很多文章去做调整
客户端也换了不同的软体测
小档没问题,大档就容易断线了
改用FTP的方式後,连续下载十几个单档10G的档案都没问题
5F:推 chang0206: nextcloud我测试OK耶,下了几个2g/3g的ISO没断线 07/29 14:41
7F:→ chang0206: 要一点基本的反向代理设定 07/29 14:54
8F:推 chang0206: 或者丢去dropbox ?省下VPS的钱 07/29 15:13
OK,我研究看看,非常感谢
毕竟Nextcloud这类工具还是比较好用也美观
9F:→ Gold740716: 开 linux 帐号,然後用 passwd -x 设定密码过期天数 07/29 22:06
10F:→ bitlife: 密码过期可能防不了有心人? 期满前不登出ftp就不用再输入 07/30 00:12
11F:→ bitlife: 密码. 我原先deluser做法也太过头,应该只要把档案设成不 07/30 00:12
12F:→ bitlife: 可读就够了 07/30 00:13
13F:→ chang0206: 每天重启ftp service 罗 07/30 13:57
14F:→ holishing: 用 crontab 或 systemd 的 timer 实现楼上说的 07/30 22:51
15F:→ bitlife: 万一有个档要传24h01m不就每天哭一次? XD 07/31 14:24
16F:→ bitlife: 不过ftp双方有开续传功能就还好 07/31 14:25
感谢!
我尝试开linux帐号的方法,大致可行
不过时间上判定的方法让我很困扰
因为是使用在VPS上
为了让时间判定可以方便点,google了别人的脚本自动更正时区
0 0 * * * sudo /usr/sbin/ntpdate time.stdtime.gov.tw
@reboot sleep 15; sudo /usr/sbin/ntpdate time.stdtime.gov.tw
@reboot sleep 15; sudo cp /usr/share/zoneinfo/Asia/Taipei /etc/localtime
输入date後确认时间跟本地一样後
也开了帐号测试连线没问题
但就是帐号到期时间怪怪的
我用的是chage -E [日期] [帐号]这指令
比如说此时是2020年8月1日
而我用的这指令在不同日期下有不同结果:
chage -E 2020-07-30 demo
(FTP客户端不可连线)
chage -E 2020-07-31 demo
(FTP客户端可连进)
chage -E 2020-08-01 demo
(FTP客户端可连进)
看起来日期的分界点就是7月30与31日
但为什麽不是7月31日与8月1日呢
--补充--
後来又再google,发现可能是参考伺服器的时区
因为用这指令date -u 是7月31日,而用date的话则是我这边的8月1日
伺服器端的FTP软体是Pure-FTPd
好像没有特别相关设定
现在的问题可能是要改问大家
既然我原本用的更新本地日期的方式不行的话
还能怎麽处理呢?
是不是要从最根本的VPS厂商那边的主机另外设定之类的呢
※ 编辑: ak77now (122.254.35.34 台湾), 08/01/2020 03:59:25
17F:→ bitlife: 一般内部储存*ix都是以UTC+0(以前的GMT)做为基准,ui所有 08/01 10:40
18F:→ bitlife: 输入的日期时间,最後都转成UTC+0在处理,要看ui程式有没有 08/01 10:40
19F:→ bitlife: 考虑到时区问题,看了chage的man只讲到格式(locale),没提 08/01 10:41
20F:→ bitlife: 到localtime(*ix对本地时间的用词),很可能只处理格式,而 08/01 10:41
21F:→ bitlife: 未考虑本地时间(一般所谓的时区,不论vps或实际主机)转换 08/01 10:42
22F:推 bitlife: 由於密码控管这类需求通常是要求使用者定期更换密码,所以 08/01 10:45
23F:→ bitlife: 精确度通常不会到小时,也就是误差在0~24小时.如果你真的 08/01 10:46
24F:→ bitlife: 要求要精确控管至分,那麽用at指定时间做事,至於做的事看 08/01 10:47
25F:→ bitlife: 是让密码即刻失效还是让档案/目录不可读 08/01 10:47
26F:→ bitlife: 控管至时或分 08/01 10:48
27F:推 chang0206: 考虑看看在建立帐号的时候就指定有效期限 比如说90天 08/04 16:59
28F:→ chang0206: 然後用chage 去指定password expire 08/04 17:00
29F:→ chang0206: 就会有一个存活期限N天的帐号可以用 08/04 17:00