/etc/horde/gollem/backends.php is in php-horde-gollem 3.0.3-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
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 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 | <?php
/**
* This file specifies which backends people using your installation can log
* in to.
*
* IMPORTANT: DO NOT EDIT THIS FILE!
* Local overrides MUST be placed in backends.local.php or backends.d/.
* If the 'vhosts' setting has been enabled in Horde's configuration, you can
* use backends-servername.php.
*
* Example configuration file that enables the Samba backend in favor of the
* FTP backend and sets a server name for the Samba server:
*
* <?php
* $backends['ftp']['disabled'] = true;
* $backends['smb']['disabled'] = false;
* $backends['smb']['params']['hostspec'] = 'FILESERVER HOST';
*
* Properties that can be set for each server:
* - attributes: (array) The list of attributes that the driver supports.
* + 'edit'
* + 'download'
* + 'group'
* + 'modified'
* + 'name'
* + 'owner'
* + 'permission'
* + 'size'
* + 'type'
* - createhome: (boolean) If this parameter is set to true, and the home
* directory does not exist, attempt to create the home
* directory on login.
* - driver: (string) The VFS (Virtual File System) driver to use.
* (See below examples for additional parameters needed.)
* + file: Access a local file system.
* + ftp: Connect to a FTP server.
* + smb: Connect to a SMB fileshare.
* + sql: Connect to VFS filesystem stored in SQL database.
* + ssh2: Connect to a remote server via SSH2.
* - filter: (string) If set, all files that match the regex will be hidden
* in the folder view. The regex must be in PCRE syntax (see
* http://www.php.net/pcre).
* - home: (string) The directory that will be used as home directory for the
* user. This parameter will overrule a home parameter in the params.
* If empty, this will default to the active working directory
* immediately after logging into the VFS backend (i.e. for ftp,
* this will most likely be ~user, for SQL based VFS backends,
* this will probably be the root directory).
* - hordeauth: (mixed) One of the following values:
* + true: Gollem will attempt to use the user's existing credentials
* (the username/password they used to log in to Horde) to login
* to this source.
* + false: [DEFAULT] Everything after and including the first @ in the
* username will be stripped off before attempting
* authentication.
* + 'full': The username will be used unmodified.
* - loginparams: (array) A list of parameters that can be changed by the
* user on the login screen. The key is the parameter name
* that can be changed, the value is the text that will be
* displayed next to the entry box on the login screen.
* - name: (string) This is the name displayed in the server list on the
* login screen.
* - quota: (string) If set, turn on VFS quota checking for the backend (if
* supported). Supported values:
* + false: [DEFAULT] Quota is disabled.
* + 'size [metric]': Quota value. Metric can be one of the following:
* - B: bytes [DEFAULT]
* - KB: kilobytes
* - MB: megabytes
* - GB: gigabytes
* Examples: "2 MB", "2048 B", "1.5 GB"
* - shares: (boolean) Whether to enable share support for this backend.
* This allows flexible file sharing independent from the
* permission support in the storage backend. For sharing to work
* properly, you need a backend type that does not implicitly
* enforce user permissions, and individual home directories for
* each user.
* - root: (string) The directory that will be the "top" or "root" directory,
* being the topmost directory where users can change to. This is in
* addition to any 'vfsroot' parameter set in the params array.
*
* *** The following options should NOT be set unless you REALLY know what ***
* *** you are doing! FOR MOST PEOPLE, AUTO-DETECTION OF THESE PARAMETERS ***
* *** (the default if the parameters are not set) SHOULD BE USED! ***
*
* - preferred: (string or array) Useful if you want to use the same
* backends.php file for different machines. If the hostname of
* the Gollem machine is identical to one of those in the
* preferred list, then that entry will be selected by default
* on the login screen. Otherwise the first entry in the list
* is selected.
*/
// FTP Example.
$backends['ftp'] = array(
// ENABLED by default
'disabled' => false,
'name' => 'FTP Server',
'driver' => 'ftp',
'hordeauth' => false,
'params' => array(
// The hostname/IP Address of the FTP server
'hostspec' => 'localhost',
// The port number of the FTP server
'port' => 21,
// Use passive mode?
'pasv' => false,
// The return formatting from the 'ls' command. Possible Values: 'aix',
// 'standard'.
// 'lsformat' => 'standard',
// If true and the POSIX extension is available the driver will map
// the user and group IDs returned from the FTP server with the local
// IDs from the local password file. This is useful only if the FTP
// server is running on localhost or if the local user/group
// IDs are identical to the remote FTP server.
// 'maplocalids' => true,
// The default permissions to set for newly created folders and files.
// 'permissions' => '750',
// If true, and PHP had been compiled with OpenSSL support, TLS
// transport-level encryption will be negotiated with the server.
// 'ssl' => false,
// Set timeout (in seconds) for the FTP server. Default: 90 seconds
// 'timeout' => 90,
// The type of the remote FTP server. Possible values: 'unix', 'win',
// 'netware'. By default, we attempt to auto-detect type.
// 'type' => 'unix',
),
'loginparams' => array(
// Allow the user to change the FTP server
// 'hostspec' => 'Hostname',
// Allow the user to change the FTP port
// 'port' => 'Port'
),
// 'root' => '',
// 'home' => '',
// 'createhome' => false,
// 'filter' => '^regex$',
// 'quota' => false,
'attributes' => array(
'type',
'name',
'edit',
'download',
'modified',
'size',
'permission',
'owner',
'group'
)
);
// This backend uses Horde credentials to automatically log in.
$backends['hordeftp'] = array(
// Disabled by default
'disabled' => true,
'name' => 'FTP Server',
'driver' => 'ftp',
'hordeauth' => true,
'params' => array(
// The hostname/IP Address of the FTP server.
'hostspec' => 'localhost',
// The port number of the FTP server.
'port' => 21,
// Use passive mode?
'pasv' => false,
// The return formatting from the 'ls' command. Possible Values: 'aix',
// 'standard'.
// 'lsformat' => 'standard',
// If true and the POSIX extension is available the driver will map
// the user and group IDs returned from the FTP server with the local
// IDs from the local password file. This is useful only if the FTP
// server is running on localhost or if the local user/group
// IDs are identical to the remote FTP server.
// 'maplocalids' => true,
// The default permissions to set for newly created folders and files.
// 'permissions' => '750',
// If true, and PHP had been compiled with OpenSSL support, TLS
// transport-level encryption will be negotiated with the server.
// 'ssl' => false,
// Set timeout (in seconds) for the FTP server. Default: 90 seconds
// 'timeout' => 90,
// The type of the remote FTP server. Possible values: 'unix', 'win',
// 'netware'. By default, we attempt to auto-detect type.
// 'type' => 'unix',
),
'loginparams' => array(
// Allow the user to change the FTP server.
// 'hostspec' => 'Hostname',
// Allow the user to change the FTP port.
// 'port' => 'Port'
),
// 'root' => '',
// 'home' => '',
// 'createhome' => false,
// 'filter' => '^regex$',
// 'quota' => false,
'attributes' => array(
'type',
'name',
'edit',
'download',
'modified',
'size',
'permission',
'owner',
'group'
)
);
// SQL Example.
$backends['sql'] = array(
// Disabled by default
'disabled' => true,
'name' => 'SQL Server',
'driver' => 'sql',
'hordeauth' => true,
// The default connection details are pulled from the Horde-wide SQL
// connection configuration.
'params' => array_merge($GLOBALS['conf']['sql'],
array('table' => 'horde_vfs')),
// If you need different connection details than from the Horde-wide SQL
// connection configuration, uncomment and set the following lines.
// 'params' => array(
// // The SQL connection parameters. See horde/config/conf.php for
// // descriptions of each parameter.
// 'phptype' => 'mysql',
// 'hostspec' => 'localhost',
// 'database' => 'horde',
// 'username' => 'horde',
// 'password' => 'horde',
//
// // The SQL table containing the VFS. See the horde/scripts/db
// // directory for examples.
// 'table' => 'horde_vfs'
// ),
'loginparams' => array(),
// 'root' => '',
// 'home' => '',
// 'createhome' => false,
// 'filter' => '^regex$',
// 'quota' => false,
'attributes' => array(
'type',
'name',
'edit',
'download',
'modified',
'size'
)
);
// This backend specifies a home directory and root directory in a SQL vfs.
$backends['sqlhome'] = array(
// Disabled by default
'disabled' => true,
'name' => 'SQL Server with home',
'driver' => 'sql',
'hordeauth' => true,
// The default connection details are pulled from the Horde-wide SQL
// connection configuration.
'params' => array_merge($GLOBALS['conf']['sql'],
array('table' => 'horde_vfs')),
// If you need different connection details than from the Horde-wide SQL
// connection configuration, uncomment and set the following lines.
// 'params' => array(
// // The SQL connection parameters. See horde/config/conf.php for
// // descriptions of each parameter.
// 'phptype' => 'mysql',
// 'hostspec' => 'localhost',
// 'database' => 'horde',
// 'username' => 'horde',
// 'password' => 'horde',
//
// // The SQL table containing the VFS. See the horde/scripts/db
// // directory for examples.
// 'table' => 'horde_vfs'
// ),
'loginparams' => array(),
'root' => '/home',
'home' => '/home/' . $GLOBALS['registry']->getAuth(),
// 'createhome' => false,
// 'filter' => '^regex$',
// 'quota' => false,
'shares' => true,
'attributes' => array(
'type',
'name',
'share',
'edit',
'download',
'modified',
'size',
'owner',
)
);
// NOTE: /exampledir/home and all subdirectories should be, for
// security reasons, owned by your web server user and mode 700 or you
// will need to use suexec or something else that can adjust the web
// server effective uid.
$backends['file'] = array(
// Disabled by default
'disabled' => true,
'name' => 'Virtual Home Directories',
'driver' => 'file',
'hordeauth' => true,
'params' => array(
// The base location under which the user home directories live.
'vfsroot' => '/exampledir/home/',
// The default permissions to set for newly created folders and files.
// 'permissions' => '750'
),
'loginparams' => array(),
'root' => '/',
'home' => $GLOBALS['registry']->getAuth(),
// 'createhome' => false,
// 'filter' => '^regex$',
// 'quota' => false,
'shares' => true,
'attributes' => array(
'type',
'name',
'share',
'edit',
'download',
'modified',
'size',
)
);
// SMB Example
$backends['smb'] = array(
// Disabled by default
'disabled' => true,
'name' => 'SMB Server',
'driver' => 'smb',
'hordeauth' => false,
'params' => array(
'hostspec' => 'example',
'port' => 139,
'share' => 'homes',
// Path to the smbclient executable.
'smbclient' => '/usr/bin/smbclient',
// IP address of server (only needed if hostname is different from
// NetBIOS name).
// 'ipaddress' => '127.0.0.1',
// The default permissions to set for newly created folders and
// files.
// 'permissions' => '750'
),
'loginparams' => array(
// Allow the user to change to Samba server.
// 'hostspec' => 'Hostname',
// Allow the user to change the Samba port.
// 'port' => 'Port',
// Allow the user to change the Samba share.
// 'share' => 'Share',
),
// 'root' => '',
// 'home' => '',
// 'createhome' => false,
// 'filter' => '^regex$',
// 'quota' => false,
'attributes' => array(
'type',
'name',
'edit',
'download',
'modified',
'size'
)
);
// SSH2 Example
$backends['ssh2'] = array(
// Disabled by default
'disabled' => true,
'name' => 'SSH2 Server',
'driver' => 'ssh2',
'hordeauth' => false,
'params' => array(
// The hostname/IP Address of the SSH server
'hostspec' => 'ssh2.example.com',
// The port number of the SSH server
'port' => 22,
// Set timeout (in seconds) for the SSH server. Default: 90 seconds
// 'timeout' => 90,
// If true and the POSIX extension is available the driver will map
// the user and group IDs returned from the SSH server with the local
// IDs from the local password file. This is useful only if the SSH
// server is running on localhost or if the local user/group
// IDs are identical to the remote SSH server.
// 'maplocalids' => true,
// The default permissions to set for newly created folders and
// files.
// 'permissions' => '750'
),
'loginparams' => array(
// Allow the user to change the SSH server
// 'hostspec' => 'Hostname',
// Allow the user to change the SSH port
// 'port' => 'Port'
),
// 'root' => '',
// 'home' => '',
// 'createhome' => false,
// 'filter' => '^regex$',
// 'quota' => false,
'attributes' => array(
'type',
'name',
'edit',
'download',
'modified',
'size',
'permission',
'owner',
'group'
)
);
|