ubuntu12.04+proftpd1.3.4a的系统用户+虚拟用户权限应用实践
|
1
|
root@ubuntu:~# apt-get install proftpd |
安装后,proftpd会自动启动,可以查看下进程是否存在"ps -aux|grep ftp"或用"netstat -tulpn | grep :21"查看下ftp的默认21端口是否有内容
|
1
2
3
4
5
6
7
|
root@ubuntu:~# ps -aux|grep ftpWarning: bad ps syntax, perhaps a bogus '-'? See http://procps.sf.net/faq.htmlproftpd 18912 0.0 0.0 93376 2204 ? Ss 11:10 0:00 proftpd: (accepting connections) root 18942 0.0 0.0 8112 940 pts/1 S+ 12:06 0:00 grep --color=auto ftproot@ubuntu:~# netstat -tulpn | grep :21tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 18912/proftpd: (accroot@ubuntu:~# |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
关闭IPv6支持 UseIPv6 off # 禁用反向域名解析 UseReverseDNS off #支持的编码格式UseEncoding UTF-8 GBK# 不显示服务器相关信息, 如proftpd版本 ServerIdent off #查找客户的远程用户名,关掉节省连接时间IdentLookups off#配置服务器名 ServerName "idoall.org FTP server"#设置服务器运行模式,独立服务,或者被监管 ServerType standalone #关闭欢迎信息显示 DeferWelcome on #如果显示欢迎信息,则指定显示的文件 DisplayLogin /usr/share/proftpd/etc/ftplogin.msg#指定切换文件夹时,显示的欢迎信息DisplayChdir .message#FTP安全扩展MultilineRFC2228 on #设置为默认服务器 DefaultServer on #不显示链接文件的目标文件DefaultRoot ShowSymlinks off#允许root用户登录,默认是不允许的,安全起见不推荐此选项。 RootLogin off #登陆后允许IDLE的时间TimeoutNoTransfer 600 #连接超时的时间 TimeoutStalled 600 #客户端idle时间设置,默认就是600秒 TimeoutIdle 600 #显示时显示详细信息ListOptions "-l"#阻止带.的命令DenyFilter \*.*/ # 限制lionftp用户上传的速率限制在150Kbytes/s TransferRate STOR 150 user lionftp # 限制lionftp用户下载的速率限制在100Kbytes/s TransferRate RETR 100 user lionftp #端口号 Port 21 # 显示以MB为单位 QuotaDisplayUnits Mb #设置被动模式使用的端口范围 PassivePorts 60000 65535 #FTP SERVER最大连接数 MaxInstances 30 #设置服务器进程运行使用的用户 User proftpd #设置服务器进程运行使用的组 Group nogroup #设置用户上传文件的权限掩码 Umask 022 022 #设置用户被chroot锁定到的各自的Home目录 DefaultRoot /usr/local/nginx/html# 允许覆盖文件 AllowOverwrite on #屏蔽服务器版本信息 ServerIdent off #上传时,允许断点续传 AllowStoreRestart on #下载时,允许断点续传 AllowRetrieveRestart on #每个帐户最多允许来源ip为1个 MaxHostsPerUser 10 #每个帐户在每个客户端最多可以同时登陆1次,可以防止多线程软件下载对服务器的破坏 MaxClientsPerUser 10 #同一个客户端只能最多1个帐号可以登陆 MaxClientsPerHost 10 #是否要把ftp记录在日志中,如果不想可以设置成off屏蔽掉log日志。 WtmpLog on #设置日志 TransferLog /var/log/proftpd/xferlogSystemLog /var/log/proftpd/proftpd.log |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
CMD : Change Working Directory 改变目录MKD : MaKe Directory 建立目录的权限RNFR : ReName FRom 更改目录名的权限DELE : DELEte 删除文件的权限RMD : ReMove Directory 删除目录的权限RETR : RETRieve 从服务端下载到客户端的权限STOR : STORe 从客户端上传到服务端的权限READ :可读的权限,不包括列目录的权限,相当于 RETR , STAT 等WRITE :写文件或者目录的权限,包括 MKD 和 RMDDIRS :是否允许列目录,相当于 LIST , NLST 等权限,还是比较实用的ALL :所有权限LOGIN :是否允许登陆的权限#limit 中对用户和群组的控制AllowUser 针对某个用户允许的 LimitDenyUser 针对某个用户禁止的 LimitAllowGroup 针对某个用户组允许的 LimitDenyGroup 针对某个用户组禁止的 LimitAllowAll 针对所有用户组允许的 LimitDenyAll 针对所有用户禁止的 Limit |
|
1
2
3
4
5
6
7
8
9
10
11
12
|
%T 目前的时间%F 所在硬盘剩下的容量%C 目前所在的目录%R Client 端的主机名称%L Server 端的主机名称%U 使用者帐户名称%M 最大允许连接人数%N 目前的服务器连接人数%E FTP服务器管理员的 email%i 本次上传的文件数量%o 本次下载的文件数量%t 本次上传+下载的文件数量 |
|
1
2
3
4
5
6
7
|
root@ubuntu:~# vi /usr/share/proftpd/etc/ftplogin.msg欢迎您%U, 这是idoall的测试FTP服务器;目前时间是:%T;本服务器最多允许%M个用户连接数;目前服务器上已有%N个用户连接数;目前你所在的目录是%C;目录所在的硬盘还剩下%F字节。 |
|
1
2
3
4
5
6
7
8
9
|
root@ubuntu:~# vi /etc/shells# /etc/shells: valid login shells/bin/sh/bin/dash/bin/bash/bin/rbash/usr/bin/tmux/usr/bin/screen/usr/sbin/nologin |
|
1
2
|
/usr/share/nginx/html ----lionftp可以读写,chenshuaiftp只读/usr/share/nginx/html/a ----lionftp可以读写,chenshuaiftp可以读写 |
|
1
2
3
4
5
6
7
8
9
10
11
|
root@ubuntu:~# groupadd ftproot@ubuntu:~# useradd lionftp -g ftp -s /usr/sbin/nologinroot@ubuntu:~# useradd chenshuaiftp -g ftp -s /usr/sbin/nologinroot@ubuntu:~# passwd lionftpEnter new UNIX password: Retype new UNIX password: passwd: password updated successfullyroot@ubuntu:~# passwd chenshuaiftpEnter new UNIX password: Retype new UNIX password: passwd: password updated successfully |
|
1
|
root@ubuntu:~# chown lionftp /usr/share/nginx/html |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
|
root@ubuntu:~# vi /etc/proftpd/proftpd.conf# If set on you can experience a longer connection delay in many cases.# # /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file. # To really apply changes, reload proftpd after modifications, if # it runs in daemon mode. It is not required in inetd/xinetd mode. # # Includes DSO modules Include /etc/proftpd/modules.conf 关闭IPv6支持 UseIPv6 off # 禁用反向域名解析 UseReverseDNS off #支持的编码格式UseEncoding UTF-8 GBK# 不显示服务器相关信息, 如proftpd版本 ServerIdent off #查找客户的远程用户名,关掉节省连接时间IdentLookups off#配置服务器名 ServerName "idoall.org FTP server"#设置服务器运行模式,独立服务,或者被监管 ServerType standalone #关闭欢迎信息显示 DeferWelcome on #如果显示欢迎信息,则指定显示的文件 DisplayLogin /usr/share/proftpd/etc/ftplogin.msg#指定切换文件夹时,显示的欢迎信息DisplayChdir .message#FTP安全扩展MultilineRFC2228 on #设置为默认服务器 DefaultServer on #不显示链接文件的目标文件DefaultRoot ShowSymlinks off#允许root用户登录,默认是不允许的,安全起见不推荐此选项。 RootLogin off #登陆后允许IDLE的时间TimeoutNoTransfer 600 #连接超时的时间 TimeoutStalled 600 #客户端idle时间设置,默认就是600秒 TimeoutIdle 600 #显示时显示详细信息ListOptions "-l"#阻止带.的命令DenyFilter \*.*/ # 限制lionftp用户上传的速率限制在150Kbytes/s TransferRate STOR 150 user lionftp # 限制lionftp用户下载的速率限制在100Kbytes/s TransferRate RETR 100 user lionftp #端口号 Port 21 # 显示以MB为单位 QuotaDisplayUnits Mb #设置被动模式使用的端口范围 PassivePorts 60000 65535 #FTP SERVER最大连接数 MaxInstances 30 #设置服务器进程运行使用的用户 User proftpd #设置服务器进程运行使用的组 Group nogroup #设置用户上传文件的权限掩码 Umask 022 022 #设置用户被chroot锁定到的各自的Home目录 DefaultRoot /usr/local/nginx/html# 允许覆盖文件 AllowOverwrite on #屏蔽服务器版本信息 ServerIdent off #上传时,允许断点续传 AllowStoreRestart on #下载时,允许断点续传 AllowRetrieveRestart on #每个帐户最多允许来源ip为1个 MaxHostsPerUser 10 #每个帐户在每个客户端最多可以同时登陆1次,可以防止多线程软件下载对服务器的破坏 MaxClientsPerUser 10 #同一个客户端只能最多1个帐号可以登陆 MaxClientsPerHost 10 #是否要把ftp记录在日志中,如果不想可以设置成off屏蔽掉log日志。 WtmpLog on #设置日志 TransferLog /var/log/proftpd/xferlogSystemLog /var/log/proftpd/proftpd.log <Directory "/usr/local/nginx/html/*"> <Limit ALL> AllowUser lionftp DenyAll </Limit> <Limit CWD READ DIRS> AllowAll </Limit></Directory> <Directory "/usr/local/nginx/html/a/*" > <Limit ALL> AllowUser lionftp AllowUser chenshuaiftp DenyAll </Limit> <Limit CWD READ DIRS> AllowAll </Limit></Directory>#不允许任何人执行chmod命令(SITE_CHMOD)<Limit SITE_CHMOD> DenyAll </Limit> <IfModule mod_quotatab.c> QuotaEngine off </IfModule> <IfModule mod_ratio.c> Ratios off </IfModule> <IfModule mod_delay.c> DelayEngine on </IfModule> <IfModule mod_ctrls.c> ControlsEngine off ControlsMaxClients 2 ControlsLog /var/log/proftpd/controls.log ControlsInterval 5 ControlsSocket /var/run/proftpd/proftpd.sock </IfModule> <IfModule mod_ctrls_admin.c> AdminControlsEngine off </IfModule> # This is useful for masquerading address with dynamic IPs: # refresh any configured MasqueradeAddress directives every 8 hours <IfModule mod_dynmasq.c> # DynMasqRefresh 28800 </IfModule> Include /etc/proftpd/conf.d/ |
f)重启ftp服务器
|
1
|
root@ubuntu:~# service proftpd restart |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
C:\Users\Administrator>ftpftp> open 192.168.1.100连接到 192.168.1.100。220 192.168.1.100 FTP server ready用户(192.168.1.100:(none)): chenshuaiftp331 Password required for chenshuaiftp密码:230-欢迎您chenshuaiftp,这是idoall的测试FTP服务器;230- 目前时间是:Sat Aug 09 03:22:02 2014;230- 本服务器最多允许0个用户连接数;230- 目前服务器上已有2个用户连接数;230- 目前你所在的目录是/;230- 目录所在的硬盘还剩下0字节。230 User chenshuaiftp logged inftp> dir200 PORT command successful150 Opening ASCII mode data connection for file list-rw-r--r-- 1 root root 537 Aug 6 06:38 50x.htmldrwxrwxrwx 19 root root 4096 Jun 17 05:49 xxxdrwxrwxrwx 7 root root 4096 Aug 9 01:19 aaaa226 Transfer completeftp: 收到 201 字节,用时 0.01秒 13.40千字节/秒。 |
|
1
2
3
4
5
6
|
# 不要求有合法shell,直接效果是允许nologin用户和虚拟用户登录RequireValidShell off# AuthOrder指定了权限检查的顺序。这里只使用虚拟用户AuthOrder mod_auth_file.c mod_auth_unix.cAuthUserFile /usr/share/proftpd/etc/passwdAuthGroupFile /usr/share/proftpd/etc/group |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
|
root@ubuntu:~# vi /etc/proftpd/proftpd.conf# If set on you can experience a longer connection delay in many cases.# # /etc/proftpd/proftpd.conf -- This is a basic ProFTPD configuration file. # To really apply changes, reload proftpd after modifications, if # it runs in daemon mode. It is not required in inetd/xinetd mode. # # Includes DSO modules Include /etc/proftpd/modules.conf 关闭IPv6支持 UseIPv6 off # 禁用反向域名解析 UseReverseDNS off #支持的编码格式UseEncoding UTF-8 GBK# 不显示服务器相关信息, 如proftpd版本 ServerIdent off #查找客户的远程用户名,关掉节省连接时间IdentLookups off#配置服务器名 ServerName "idoall.org FTP server"#设置服务器运行模式,独立服务,或者被监管 ServerType standalone #关闭欢迎信息显示 DeferWelcome on #如果显示欢迎信息,则指定显示的文件 DisplayLogin /usr/share/proftpd/etc/ftplogin.msg#指定切换文件夹时,显示的欢迎信息DisplayChdir .message#FTP安全扩展MultilineRFC2228 on #设置为默认服务器 DefaultServer on #不显示链接文件的目标文件DefaultRoot ShowSymlinks off#允许root用户登录,默认是不允许的,安全起见不推荐此选项。 RootLogin off #登陆后允许IDLE的时间TimeoutNoTransfer 600 #连接超时的时间 TimeoutStalled 600 #客户端idle时间设置,默认就是600秒 TimeoutIdle 600 #显示时显示详细信息ListOptions "-l"#阻止带.的命令DenyFilter \*.*/ # 限制lionftp用户上传的速率限制在150Kbytes/s TransferRate STOR 150 user lionftp # 限制lionftp用户下载的速率限制在100Kbytes/s TransferRate RETR 100 user lionftp #端口号 Port 21 # 显示以MB为单位 QuotaDisplayUnits Mb #设置被动模式使用的端口范围 PassivePorts 60000 65535 #FTP SERVER最大连接数 MaxInstances 30 #设置服务器进程运行使用的用户 User proftpd #设置服务器进程运行使用的组 Group nogroup #设置用户上传文件的权限掩码 Umask 022 022 #设置用户被chroot锁定到的各自的Home目录 DefaultRoot /usr/local/nginx/html# 允许覆盖文件 AllowOverwrite on #屏蔽服务器版本信息 ServerIdent off #上传时,允许断点续传 AllowStoreRestart on #下载时,允许断点续传 AllowRetrieveRestart on #每个帐户最多允许来源ip为1个 MaxHostsPerUser 10 #每个帐户在每个客户端最多可以同时登陆1次,可以防止多线程软件下载对服务器的破坏 MaxClientsPerUser 10 #同一个客户端只能最多1个帐号可以登陆 MaxClientsPerHost 10 #是否要把ftp记录在日志中,如果不想可以设置成off屏蔽掉log日志。 WtmpLog on #设置日志 TransferLog /var/log/proftpd/xferlogSystemLog /var/log/proftpd/proftpd.log # 不要求有合法shell,直接效果是允许nologin用户和虚拟用户登录RequireValidShell off# AuthOrder指定了权限检查的顺序。这里只使用虚拟用户AuthOrder mod_auth_file.c mod_auth_unix.cAuthUserFile /usr/share/proftpd/etc/passwdAuthGroupFile /usr/share/proftpd/etc/group <Directory "/usr/local/nginx/html/*"> <Limit ALL> AllowUser lionftp DenyAll </Limit> <Limit CWD READ DIRS> AllowAll </Limit></Directory> <Directory "/usr/local/nginx/html/a/*" > <Limit ALL> AllowUser lionftp AllowUser chenshuaiftp AllowUser ftpchenshuai DenyAll </Limit> <Limit CWD READ DIRS> AllowAll </Limit></Directory>#不允许任何人执行chmod命令(SITE_CHMOD)<Limit SITE_CHMOD> DenyAll </Limit> <IfModule mod_quotatab.c> QuotaEngine off </IfModule> <IfModule mod_ratio.c> Ratios off </IfModule> <IfModule mod_delay.c> DelayEngine on </IfModule> <IfModule mod_ctrls.c> ControlsEngine off ControlsMaxClients 2 ControlsLog /var/log/proftpd/controls.log ControlsInterval 5 ControlsSocket /var/run/proftpd/proftpd.sock </IfModule> <IfModule mod_ctrls_admin.c> AdminControlsEngine off </IfModule> # This is useful for masquerading address with dynamic IPs: # refresh any configured MasqueradeAddress directives every 8 hours <IfModule mod_dynmasq.c> # DynMasqRefresh 28800 </IfModule> Include /etc/proftpd/conf.d/ |
|
1
2
3
|
root@ubuntu:~# mkdir -p /usr/share/proftpd/etc/root@ubuntu:~# touch /usr/share/proftpd/etc/passwdroot@ubuntu:~# touch /usr/share/proftpd/etc/group |
|
1
|
root@ubuntu:~# ftpasswd --passwd --file=/usr/share/proftpd/etc/passwd --name=ftpchenshuai --uid=3000 --home=/usr/local/nginx/html/a --shell=/bin/false |
|
1
|
root@ubuntu:~# ftpasswd --group --name=testgroup --gid=2014 |
|
1
|
root@ubuntu:~# ftpasswd --group --name=testgroup --gid=2014 --member=ftpchenshuai |
|
1
|
root@ubuntu:~# chmod 777 -R /usr/local/nginx/html/a |
|
1
|
root@ubuntu:~# service proftpd restart |
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
C:\Users\Administrator>ftpftp> open 192.168.1.100连接到 192.168.1.100。220 192.168.1.100 FTP server ready用户(192.168.1.100:(none)): ftpchenshuai331 Password required for ftpchenshuai密码:230-欢迎您ftpchenshuai,这是idoall的测试FTP服务器;230- 目前时间是:Sat Aug 09 03:30:53 2014;230- 本服务器最多允许0个用户连接数;230- 目前服务器上已有2个用户连接数;230- 目前你所在的目录是/a;230- 目录所在的硬盘还剩下0字节。230 User ftpchenshuai logged inftp> pwd257 "/a" is the current directoryftp> dir200 PORT command successful150 Opening ASCII mode data connection for file list-rw-r--r-- 1 ftpchenshuai 3000 1870666 Aug 9 02:13 xxx.apk226 Transfer completeftp: 收到 88 字节,用时 0.01秒 5.87千字节/秒。ftp> put c:\a.txt200 PORT command successful150 Opening ASCII mode data connection for a.txt226 Transfer completeftp: 发送 1 字节,用时 0.06秒 0.02千字节/秒。ftp> dir200 PORT command successful150 Opening ASCII mode data connection for file list-rw-r--r-- 1 ftpchenshuai 3000 1 Aug 9 03:33 a.txt-rw-r--r-- 1 ftpchenshuai 3000 1870666 Aug 9 02:13 xxx.apk226 Transfer completeftp: 收到 154 字节,用时 0.01秒 22.00千字节/秒。ftp> bye221 Goodbye. |
ubuntu12.04+proftpd1.3.4a的系统用户+虚拟用户权限应用实践的更多相关文章
- 虚拟机系统ubuntu12.04(内网环境下的虚拟主机)开启远程连接访问
一.工具准备: 1.内网虚拟机Ubuntu12.04系统主机一台,开放端口为:29999 2.远程连接软件:mobaxterm 二.开启步骤: 1.查看端口状态信息: netstat -antl | ...
- rsync 系统用户/虚拟用户 备份web服务器数据及无交互定时推送备份
一.服务环境 (1),WEBserver(192.168.10.130) : BACKserver(192.168.10.129) (2),BACKserver服务器部署,安装所需软件,并启动 (3) ...
- (转)linux 系统下虚拟用户的作用
原文:http://blog.csdn.net/luoshao20120430/article/details/16900653 http://blog.csdn.net/u01 ...
- FTP(虚拟用户,并且每个虚拟用户可以具有独立的属性配置)
VSFTP是一个基于GPL发布的类Unix系统上使用的FTP服务器软件,它的全称是Very Secure FTP 首先安装 主配置文件:/etc/vsftpd/vsftpd. ...
- 007.FTP虚拟用户访问
一 虚拟用户优点 可对每个用户进行单独设定权限. 每个用户单独配置文件,单独指定主目录,而不能访问系统的其它资源. 注意:虚拟用户目录和本地用户访问目录不冲突. 二 配置虚拟用户步骤 添加虚拟用户口令 ...
- Ubuntu12.04 root用户登录设置
ubuntu12.04默认是不允许root登录的,在登录窗口只能看到普通用户和访客登录.以普通身份登录Ubuntu后我们需要做一些修改. 1.普通用户登录后,修改系统配置文件需要切换到超级用户模式,在 ...
- Win7&Ubuntu12.04 双系统引导问题
周末的时候手贱,重装系统,导致原来的ubuntu12.04和win7双系统的引导不见了,所以在此进行一下说明,如何修复. 1. win7和ubuntu12.04双系统引导修复 问题描述: 在重装 ...
- Ubuntu12.04安装64位系统出现编译错误error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or dir
问题: Ubuntu12.04安装64位系统出现编译错误error while loading shared libraries: libz.so.1: cannot open shared obje ...
- 在电脑上装ubuntu12.04系统,内核文件是那个?
在电脑上装ubuntu12.04系统,我们能看到的是根文件系统,那么内核文件(zlmage)是那个? ???
随机推荐
- Java 实现word 中写入文字图片的解决方案
JAVA生成WORD文件的方法目前有以下两种方式: 一种是jacob 但是局限于windows平台 往往许多JAVA程序运行于其他操作系统 在此不讨论该方案; 一种是poi但是他的excel处理很程序 ...
- 初识python中的类与对象
这篇博客的路线是由深入浅,所以尽管图画的花花绿绿的很好看,但是请先关注我的文字,因为初接触类的小伙伴直接看类的实现可能会觉得难度大,只要耐着性子看下去,就会有一种“拨开迷雾看未来”的感觉了. 一.py ...
- 【必备】史上最全的浏览器 CSS & JS Hack 手册(转)
浏览器渲染页面的方式各不相同,甚至同一浏览器的不同版本(“杰出代表”是 IE)也有差异.因此,浏览器兼容成为前端开发人员的必备技能.如果有一份浏览器 Hack 手册,那查询起来就方便多了.这篇文章就向 ...
- JS如何判断包括IE11在内的IE浏览器 <转载>
今天碰到一个奇怪的问题,有一个页面,想指定用IE浏览器打开,在VS开发环境没有问题,但部署到服务器上,即使是用IE打开页面,还是提示“仅支持IE”,真是晕啊!! 判断是否IE浏览器用的是window. ...
- C#驱动及应用
一,使用开源客户端:StackExchange.Redis 二,使用方法: 1,获取访问redis数据库连接,代码如下. /// <summary> /// 获取访问redis数据 ...
- IOS基础库
iOS 开发者中心 https://developer.apple.com/devcenter/ios/inde ...
- 全真模拟 (1) day1
第一题: 题目大意: 给出N个数的m对关系(a,b)表示a大于b. 每个数至少为100,求这些书最小可能的和. 解题过程: 1.看到这题就想到之前USACO的一道题,那题是N头牛排序,然后给出m对关系 ...
- linux命令每日一练习-rmdir mv
rmdir 删除一个空的文件夹,当目标文件夹非空的时候不能删除 mv 移动文件或目录 mv source target mv -i *** *** 如果目标文件存在则询问是否覆盖 mv -f *** ...
- 用maven搭建 testNG+PowerMock+Mockito测试框架
单元测试是开发中必不可少的一部分,是产品代码的重要保证. Junit和testNG是当前最流行的测试框架,Junit是使用最广泛的测试框架,有兴趣的话自己baidu一下. testNG基于Junit和 ...
- ubuntu安装无线驱动
一.无线驱动的安装. 首先查看自己的网卡类型:lspci -vnn | grep 14e4 查看内核版本: -uname -r 去www.broadcom.com/support/802.11/lin ...