可以使用python2解密一下密码

pip install crypto
pip install pycrypto

装好后,直接执行下面的代码即可
去/home/你的用户名/.remmina/remmina.pref文件里的第二行secret=1Ch+Osgssdsaadawewjlf
去/home/你的用户名/.remmina/122545454.remmina 里找password=xxxxx

import base64
from Crypto.Cipher import DES3

secret = base64.decodestring('1Ch+Osgssdsaadawewjlf')
password = base64.decodestring('xxxxx')

print DES3.new(secret[:24], DES3.MODE_CBC, secret[24:]).decrypt(password)

golang版本

package main

import (
    "crypto/cipher"
    "crypto/des"
    "encoding/base64"
    "fmt"
    "log"
)

//set the variables here

var base64secret = "yoursecret"
var base64password = "theconnectionpassword"

//The secret is used for encrypting the passwords. This can typically be found from ~/.remmina/remmina.pref on the line containing 'secret='.
//"The encrypted password used for the connection. This can typically be found from /.remmina/dddddddddddd.remmina " on the line containing 'password='.
//Copy everything after the '=' sign. Also include final '=' signs if they happen to be there.

//returns a function which can be used for decrypting passwords
func makeRemminaDecrypter(base64secret string) func(string) string {
    //decode the secret
    secret, err := base64.StdEncoding.DecodeString(base64secret)
    if err != nil {
        log.Fatal("Base 64 decoding failed:", err)
    }
    if len(secret) != 32 {
        log.Fatal("the secret is not 32 bytes long")
    }
    //the key is the 24 first bits of the secret
    key := secret[:24]
    //3DES cipher
    block, err := des.NewTripleDESCipher(key)
    if err != nil {
        log.Fatal("Failed creating the 3Des cipher block", err)
    }
    //the rest of the secret is the iv
    iv := secret[24:]
    decrypter := cipher.NewCBCDecrypter(block, iv)

    return func(encodedEncryptedPassword string) string {
        encryptedPassword, err := base64.StdEncoding.DecodeString(encodedEncryptedPassword)
        if err != nil {
            log.Fatal("Base 64 decoding failed:", err)
        }
        //in place decryption
        decrypter.CryptBlocks(encryptedPassword, encryptedPassword)
        return string(encryptedPassword)
    }
}

func main() {

    if base64secret == "yoursecret" || base64password == "theconnectionpassword" {

        log.Fatal("both base64secret and base64password variables must be set")
    }

    decrypter := makeRemminaDecrypter(base64secret)

    fmt.Printf("Passwd : %v\n", decrypter(base64password))

}

from:https://askubuntu.com/questions/290824/how-to-extract-saved-password-from-remmina

升级php7后,发现header中有php版本信息,网上教程说修改expose_php = Off就可以了,我记得php5的时候是这么修改,但是在php7下,无论怎么修改都无效,最后发现这样修改就可以了

vim php-fpm.conf

增加一个这个

php_admin_flag[expose_php] = off 

保存后重启php-fpm即可

124 EMEDIUMTYPE Wrong medium type

123 ENOMEDIUM No medium found

122 EDQUOT Disk quota exceeded

121 EREMOTEIO Remote I/O error

120 EISNAM Is a named type file

119 ENAVAIL No XENIX semaphores available

118 ENOTNAM Not a XENIX named type file

117 EUCLEAN Structure needs cleaning

116 ESTALE Stale NFS file handle

115 EINPROGRESS +Operation now in progress

114 EALREADY Operation already in progress

113 EHOSTUNREACH No route to host

112 EHOSTDOWN Host is down

111 ECONNREFUSED Connection refused

110 ETIMEDOUT +Connection timed out

109 ETOOMANYREFS Too many references: cannot splice

108 ESHUTDOWN Cannot send after transport endpoint shutdown

107 ENOTCONN Transport endpoint is not connected

106 EISCONN Transport endpoint is already connected

105 ENOBUFS No buffer space available

104 ECONNRESET Connection reset by peer

103 ECONNABORTED Software caused connection abort

102 ENETRESET Network dropped connection on reset

101 ENETUNREACH Network is unreachable

100 ENETDOWN Network is down

99 EADDRNOTAVAIL Cannot assign requested address

98 EADDRINUSE Address already in use

97 EAFNOSUPPORT Address family not supported by protocol

96 EPFNOSUPPORT Protocol family not supported

95 EOPNOTSUPP Operation not supported

94 ESOCKTNOSUPPORT Socket type not supported

93 EPROTONOSUPPORT Protocol not supported

92 ENOPROTOOPT Protocol not available

91 EPROTOTYPE Protocol wrong type for socket

90 EMSGSIZE +Message too long

89 EDESTADDRREQ Destination address required

88 ENOTSOCK Socket operation on non-socket

87 EUSERS Too many users

86 ESTRPIPE Streams pipe error

85 ERESTART Interrupted system call should be restarted

84 EILSEQ Invalid or incomplete multibyte or wide character

83 ELIBEXEC Cannot exec a shared library directly

82 ELIBMAX Attempting to link in too many shared libraries

81 ELIBSCN .lib section in a.out corrupted

80 ELIBBAD Accessing a corrupted shared library

79 ELIBACC Can not access a needed shared library

78 EREMCHG Remote address changed

77 EBADFD File descriptor in bad state

76 ENOTUNIQ Name not unique on network

75 EOVERFLOW Value too large for defined data type

74 EBADMSG +Bad message

73 EDOTDOT RFS specific error

72 EMULTIHOP Multihop attempted

71 EPROTO Protocol error

70 ECOMM Communication error on send

69 ESRMNT Srmount error

68 EADV Advertise error

67 ENOLINK Link has been severed

66 EREMOTE Object is remote

65 ENOPKG Package not installed

64 ENONET Machine is not on the network

63 ENOSR Out of streams resources

62 ETIME Timer expired

61 ENODATA No data available

60 ENOSTR Device not a stream

59 EBFONT Bad font file format

57 EBADSLT Invalid slot

56 EBADRQC Invalid request code

55 ENOANO No anode

54 EXFULL Exchange full

53 EBADR Invalid request descriptor

52 EBADE Invalid exchange

51 EL2HLT Level 2 halted

50 ENOCSI No CSI structure available

49 EUNATCH Protocol driver not attached

48 ELNRNG Link number out of range

47 EL3RST Level 3 reset

46 EL3HLT Level 3 halted

45 EL2NSYNC Level 2 not synchronized

44 ECHRNG Channel number out of range

43 EIDRM Identifier removed

42 ENOMSG No message of desired type

40 ELOOP Too many levels of symbolic links

39 ENOTEMPTY +Directory not empty

38 ENOSYS +Function not implemented

37 ENOLCK +No locks available

36 ENAMETOOLONG +File name too long

35 EDEADLK +Resource deadlock avoided

34 ERANGE +Numerical result out of range

33 EDOM +Numerical argument out of domain

32 EPIPE +Broken pipe

31 EMLINK +Too many links

30 EROFS +Read-only file system

29 ESPIPE +Illegal seek

28 ENOSPC +No space left on device

27 EFBIG +File too large

26 ETXTBSY Text file busy

25 ENOTTY +Inappropriate ioctl for device

24 EMFILE +Too many open files

23 ENFILE +Too many open files in system

22 EINVAL +Invalid argument

21 EISDIR +Is a directory

20 ENOTDIR +Not a directory

19 ENODEV +No such device

18 EXDEV +Invalid cross-device link

17 EEXIST +File exists

16 EBUSY +Device or resource busy

15 ENOTBLK Block device required

14 EFAULT +Bad address

13 EACCES +Permission denied

12 ENOMEM +Cannot allocate memory

11 EAGAIN +Resource temporarily unavailable

10 ECHILD +No child processes

9 EBADF +Bad file descriptor

8 ENOEXEC +Exec format error

7 E2BIG +Argument list too long

6 ENXIO +No such device or address

5 EIO +Input/output error

4 EINTR +Interrupted system call

3 ESRCH +No such process

2 ENOENT +No such file or directory

1 EPERM +Operation not permitted

0 Success

if (version_compare("5.5", PHP_VERSION, "<")) {
    $postData['upload'] = new CURLFile('/tmp/1.jpg');
} else {
    $postData['upload'] = '@/tmp/1.jpg';
}

$url = "http://127.0.0.1:3000/upload";
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,true);
curl_setopt($ch, CURLOPT_POSTFIELDS,$postData);
curl_setopt($ch, CURLOPT_TIMEOUT, 3); 
curl_setopt($ch, CURLOPT_URL, $url);
$info= curl_exec($ch);
curl_close($ch);

打开终端
禁止自动挂载:

$ gsettings set org.gnome.desktop.media-handling automount false

禁止自动挂载并打开

$ gsettings set org.gnome.desktop.media-handling automount-open false

允许自动挂载

$ gsettings set org.gnome.desktop.media-handlingautomount true

允许自动挂载并打开

$ gsettings set org.gnome.desktop.media-handling automount-open true