V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  msg7086  ›  全部回复第 358 页 / 共 1046 页
回复总数  20913
1 ... 354  355  356  357  358  359  360  361  362  363 ... 1046  
2018-12-07 11:49:56 +08:00
回复了 ywgx 创建的主题 分享创造 给大家几个日常工具,一行命令搞定基础环境建设
@NeoChen 楼主很明显是秉承着能耍嘴炮就绝不妥协的精神来吵的,改进我觉得还是别指望了。
如果有兴趣了解比较专业的 Deb 家族软件打包流程,可以去看看 Debian 自己 Git Repo https://salsa.debian.org/ ,可以学到很多。我维护的不少软件也都是借鉴或者借用了他们官方的打包工具,确实值得研究学习。
私底下我还维护着 VPS 厂商部署的 Linux 模板文件,不过因为 NDA 的关系,制作模板的源码没办法放出来,否则也是个很好的学习样本。
2018-12-07 02:53:02 +08:00
回复了 lynx 创建的主题 全球工单系统 阿里云的奇葩时间解析方式
阿里云免费续,一次续 16 小时!
2018-12-07 02:43:12 +08:00
回复了 darrow 创建的主题 Python 学编程语言和学英语哪个优先级更高
@yzkcy 掌握英语是啥概念……
2018-12-07 02:12:23 +08:00
回复了 benmaowang 创建的主题 问与答 穿秋裤时,外面穿什么裤子比较舒适?
裤袜加……裙子?
2018-12-07 01:55:54 +08:00
回复了 xjr1022 创建的主题 C C 语言里如何给从键盘输出获得字符串动态分配内存
@xjr1022 异常发生在结尾是因为,不是不报,时候未到。
还是拿旅行团做例子。那 20 个人的团有可能当场就来揍你了(比如复写了保护内存,直接 SEGFAULT ),也有可能等回家了以后把你告上法庭(比如复写得不多,直到程序退出清算内存空间的时候才发现内存乱套了)。
2018-12-07 01:11:58 +08:00
回复了 xjr1022 创建的主题 C C 语言里如何给从键盘输出获得字符串动态分配内存
@xjr1022 越界发生在增大空间之前。程序都炸穿了你稍后再增大空间还有什么用呢。
就像这 20 个人的团在酒店大堂睡了一晚以后,第二天你再去定其他 7 个房间……
2018-12-07 01:04:21 +08:00
回复了 xjr1022 创建的主题 C C 语言里如何给从键盘输出获得字符串动态分配内存
> 难道只能一开始就给字符串分配足够大的空间吗

当然了。

类比一下。旅行团定酒店,起手先定 3 间双人房,然后来了个 20 个人的团,你说会发生什么事呢。
Phabricator 挺好用的,虽然我只是拿来做个人看板,当 TODO List 用……
@jingyulong jpeg 一般是用量化来减少数据量,也就是 DCT 完了以后通过抹平高频部分来减少信息熵。
重新采样是直接降低原始数据的信息熵。
本来在屏幕上显示的图片就没有必要超过显示区域的大小,除非你是计划让人放大了看的。
2018-12-06 16:46:59 +08:00
回复了 ywgx 创建的主题 分享创造 给大家几个日常工具,一行命令搞定基础环境建设
@lemonda apt 安装的 redis 默认是运行在降权用户上的,不会有提权问题。
你可以开 htop 看一下子进程的运行用户,一般是 nobody 或者是 redis-server 吧。
喜欢 Perl 处理文本的可以试试 Ruby ……
2018-12-06 13:14:17 +08:00
回复了 stewforani 创建的主题 程序员 CSDN 反 ADB check
@Biwood #35 实名反对。
雷霄骅的博客就放在 CSDN。
2018-12-06 13:04:33 +08:00
回复了 ywgx 创建的主题 分享创造 给大家几个日常工具,一行命令搞定基础环境建设
@ywgx
CentOS 6 Maintenance Updates November 30th, 2020
ermmm 行吧,你说淘汰就淘汰吧。

信任同事?哦 500 强大公司域控 Admin 权限在企业内部随便发咯,反正「信任自己的同事」对吧。
ermmm 行吧,你要信任就信任吧。

我一开始就说了,这玩意儿不是给生产环境用的,你要和我杠,说了半天还是主要给测试和开发用的,那你叫唤啥呀。这帖子简直是教科书级的中国 GOV 传统文化。遇到问题,不解决问题,先解决提出问题的人。把我杠走了,脚本里的错误就都不是错误了。不支持的操作系统和瞎瘠薄装上 3 个版本的 PHP 也都不是事了。
ermmm 行吧,要 Block 那就 Block 吧。

对了,什么叫「迫害妄想狂患者」?

19 楼那个回复「迫害妄想狂患者?」的人,别人回一句他就觉得别人要喷他祖宗十八代的人,他就是典型的「迫害妄想狂患者」。这种人真的可怕,我还是躲远点好。
@abcbuzhiming #12
反过来说。没有钱上多台服务器或者高配服务器的,为什么要去用 Java 呢。
就像以前用 Oracle 的,十年前大家都在说,Oracle 一开,几十 G 内存就没了。那时候 48G 内存的至强都是要有点矿才能买得起了。那所以小公司没人去搞 Oracle 啊。一样的道理。
Java 的本来设计得就是用大内存换取高性能,买不起内存是你公司的事,你想想不充钱能变强吗(笑)
@jingyulong 照片要高分辨率的主要原因,一个是放大,一个是冲印。
放在屏幕上的照片,不管分辨率多高,最后都要做 Resize,降采样到屏幕上显示的大小。
这就意味着,除非观众是拿着 4k 或者 5k 显示器然后全屏看你的照片,否则你放原图反而画质会更差。

比如 v2 的帖子里,图片最大宽度是 750px,所以用 750px 发的图质量是最好的。6000px 的图,最后还是要由浏览器做 Resize 到 750px 才能显示,反而没有你提前先用更昂贵的软件和更好的算法去 Resize 效果来得好。就算考虑到苹果环境下 Retina 两倍像素,1500px 也足够用了。
2018-12-06 12:20:48 +08:00
回复了 ywgx 创建的主题 分享创造 给大家几个日常工具,一行命令搞定基础环境建设
然后是 PHP 的问题。
首先这玩意儿在 CentOS 6 上是跑不起来的,看我给你表演一个:

root@verification ~ # yum -y localinstall https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
Loaded plugins: fastestmirror
Setting up Local Package Process
Examining /var/tmp/yum-root-u6aqjZ/webtatic-release.rpm: webtatic-release-7-3.noarch
Marking /var/tmp/yum-root-u6aqjZ/webtatic-release.rpm to be installed
Loading mirror speeds from cached hostfile
Resolving Dependencies
--> Running transaction check
---> Package webtatic-release.noarch 0:7-3 will be installed
--> Processing Dependency: epel-release >= 7 for package: webtatic-release-7-3.noarch
--> Finished Dependency Resolution
Error: Package: webtatic-release-7-3.noarch (/webtatic-release)
Requires: epel-release >= 7
Installed: epel-release-6-8.noarch (@extras)
epel-release = 6-8
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest



然后你问我装几套,跑过没跑过。



那,你跑过吗?

没跑过吧。来,给你看看什么效果。

root@verification ~ # apt-get -y install php7.[0-9]
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'php7.0' for glob 'php7.[0-9]'
Note, selecting 'php7.2' for glob 'php7.[0-9]'
Note, selecting 'php7.3' for glob 'php7.[0-9]'
The following packages were automatically installed and are no longer required:
gnupg-agent libasprintf0c2 libbind9-90 libcurl3-gnutls libdns100 libisc95 libisccc90 libisccfg90 libjasper1 liblwres90 libpng12-0 libpth20
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
apache2 apache2-bin apache2-data apache2-utils curl libapache2-mod-php7.0 libapache2-mod-php7.2 libapache2-mod-php7.3 libapr1 libaprutil1 libaprutil1-dbd-sqlite3
libaprutil1-ldap libbrotli1 libcurl4 libgdbm-compat4 liblua5.2-0 libmagic-mgc libmagic1 libpcre2-8-0 libperl5.28 libsodium23 perl perl-modules-5.28 php-common php7.0-cli
php7.0-common php7.0-json php7.0-opcache php7.0-readline php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline php7.3-cli php7.3-common php7.3-json
php7.3-opcache php7.3-readline ssl-cert
Suggested packages:
apache2-doc apache2-suexec-pristine | apache2-suexec-custom www-browser php-pear file perl-doc libterm-readline-gnu-perl | libterm-readline-perl-perl make libb-debug-perl
liblocale-codes-perl openssl-blacklist
The following packages will be REMOVED:
libcurl3
The following NEW packages will be installed:
apache2 apache2-bin apache2-data apache2-utils libapache2-mod-php7.0 libapache2-mod-php7.2 libapache2-mod-php7.3 libapr1 libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
libbrotli1 libcurl4 libgdbm-compat4 liblua5.2-0 libmagic-mgc libmagic1 libpcre2-8-0 libperl5.28 libsodium23 perl perl-modules-5.28 php-common php7.0 php7.0-cli php7.0-common
php7.0-json php7.0-opcache php7.0-readline php7.2 php7.2-cli php7.2-common php7.2-json php7.2-opcache php7.2-readline php7.3 php7.3-cli php7.3-common php7.3-json
php7.3-opcache php7.3-readline ssl-cert
The following packages will be upgraded:
curl
1 upgraded, 42 newly installed, 1 to remove and 0 not upgraded.
Need to get 22.3 MB of archives.
After this operation, 111 MB of additional disk space will be used.


还行,也就装了 7.0 7.2 7.3 三套…… ermmm
2018-12-06 12:17:35 +08:00
回复了 ywgx 创建的主题 分享创造 给大家几个日常工具,一行命令搞定基础环境建设
一个一个来,先说 Redis 的问题。

你的 bind 127.0.0.1 大作我当然是看过了。bind 127.0.0.1 不正是给人提权用的吗?
任何一个无权的本地用户都可以连接到 127.0.0.1 然后给 redis 发指令复写任意文件。
所以比如你给一个做外包的开发开了一个没有权限的 SSH 账号。然后人家直接连接你无保护的 Redis,然后注入,马上就能拿到 root。这简直就是教科书式的提权漏洞。

安全措施做好的情况,应该是 bind 到 unix_socket,并且修改 sock 文件的 owner group 和 mode,保证只有对应用户组的进程才能够连接,然后程序不在 root 下运行才行。

当然你也说了,chattr 或者放到普通用户下执行。

那么问题来了,一个懂得 chattr 和懂得如何创建普通系统用户然后再手写 systemd 服务特别去指定运行用户就为了跑起你这个 Redis 程序的运维,他为什么要下载你这个一键包而不是直接 apt 无脑一分钟装完不仅有打包者帮你配置好权限和安全措施还能享受到以后官方运维负责的补丁更新服务?你的受众到底是谁?是管着几十台服务器的资深用户,还是刚开始玩 VPS 的新手?我反正是有点看不懂。
2018-12-06 11:40:13 +08:00
回复了 ywgx 创建的主题 分享创造 给大家几个日常工具,一行命令搞定基础环境建设
@ywgx 既然你诚心诚意地问了,那我就随便说两点。

1. 你的 PHP 脚本
Debian Buster 的软件源里同时内置了 PHP7.2 和 PHP7.3。
请问用了你的 PHP 安装脚本以后,会安装几套 PHP ?

2. 你的 Redis 脚本
wget 直接下载了一个不知道什么版本的 Redis 直接解压到系统里运行。
请问你的 Redis 是在 root 权限下运行的还是在无权限用户下运行的?
你的 Redis 如果是在 root 权限下运行,被入侵了以后是不是能通过复写 /root/.ssh/authorized_keys 导致整台服务器被人黑掉?
通过 wget 下载的 Redis 程序如果以后发现了 CVE 漏洞,你通过什么方式来追踪哪些 CVE 是不会影响到的,哪些 CVE 是会影响到而且需要立刻升级版本才能修复的? CVE 追踪和版本升级你负责吗?如果不是你负责,谁负责?

你自己喜欢用这种非标准的手段来配服务器那是你的自由,我一句都不会多嘴。现在你放出来给大家用,不能有点责任心吗。要是有人用了你的 Redis 然后被人拿了 root 全公司数据丢光了你真的不会内疚吗?你怎么想的我是不知道,但是我自己是 Debian 上数个第三方软件包的维护者,我们公司自己的产品也好,公开给别人免费使用的开源软件源也好,负责任,保证自己做出来的软件包和磁盘镜像安全可靠,这是最基本的要求。别人的服务器,别人公司的命脉,就掌握在这些开发和运维的手里。我们的客户当中还有银行,服务器上所有的软件版本要审计,有哪些漏洞打了,哪些漏洞没打,全部要记录在案。要是我告诉他们我随便找了个 tgz 打包的软件往里解压一下就跑,你猜猜接下来我们会收到多少张法院的传票?
2018-12-06 09:32:14 +08:00
回复了 ywgx 创建的主题 分享创造 给大家几个日常工具,一行命令搞定基础环境建设
@ywgx 请问这位兄弟,你从上到下哪里看到我不信任你了?请问我恶意揣测你什么了?请问你大脑中凭空想象出了哪些内容?
6000x4000 的原图直接就发出来的,也是心大啊。2.6M 的页面放在以前真的是杀猫的。
1 ... 354  355  356  357  358  359  360  361  362  363 ... 1046  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4824 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 133ms · UTC 09:16 · PVG 17:16 · LAX 02:16 · JFK 05:16
Developed with CodeLauncher
♥ Do have faith in what you're doing.