summaryrefslogtreecommitdiffstats
path: root/x11vnc/help.c
diff options
context:
space:
mode:
Diffstat (limited to 'x11vnc/help.c')
-rw-r--r--x11vnc/help.c122
1 files changed, 70 insertions, 52 deletions
diff --git a/x11vnc/help.c b/x11vnc/help.c
index d31a038..a0c1bc3 100644
--- a/x11vnc/help.c
+++ b/x11vnc/help.c
@@ -401,34 +401,38 @@ void print_help(int mode) {
" and last line be \"__BEGIN_VIEWONLY__\" to have 2\n"
" full-access passwords)\n"
"\n"
-"-unixpw [list] Experimental option: use Unix username and password\n"
-" authentication. x11vnc uses the su(1) program to verify\n"
-" the user's password. [list] is an optional comma\n"
-" separated list of allowed Unix usernames. See below\n"
-" for per-user options that can be applied.\n"
+"-unixpw [list] Use Unix username and password authentication. x11vnc\n"
+" uses the su(1) program to verify the user's password.\n"
+" [list] is an optional comma separated list of allowed\n"
+" Unix usernames. See below for per-user options that\n"
+" can be applied.\n"
"\n"
" A familiar \"login:\" and \"Password:\" dialog is\n"
" presented to the user on a black screen inside the\n"
" vncviewer. The connection is dropped if the user fails\n"
" to supply the correct password in 3 tries or does not\n"
-" send one before a 20 second timeout. Existing clients\n"
+" send one before a 25 second timeout. Existing clients\n"
" are view-only during this period.\n"
"\n"
" Since the detailed behavior of su(1) can vary from\n"
" OS to OS and for local configurations, please test\n"
" the mode carefully on your systems before using it.\n"
-" Try different combinations of valid/invalid usernames\n"
-" and passwords.\n"
+" E.g. try different combinations of valid/invalid\n"
+" usernames and valid/invalid passwords to see if it\n"
+" behaves correctly. x11vnc will be conservative and\n"
+" reject a user if anything abnormal occurs.\n"
" \n"
-" For example, on FreeBSD and the other BSD's and Tru64\n"
-" it does not appear to be possible for the user running\n"
-" x11vnc to validate his *own* password via su(1).\n"
-" The x11vnc login will always fail in this case.\n"
-" A possible workaround would be to start x11vnc as\n"
-" root with the \"-users +nobody\" option to immediately\n"
-" switch to user nobody. Another source of problems are\n"
-" PAM modules that prompt for extra info, e.g. password\n"
-" aging modules. These logins will always fail as well.\n"
+" For example, on FreeBSD and the other BSD's by default\n"
+" it is impossible for the user running x11vnc to validate\n"
+" his *own* password via su(1) (evidently commenting\n"
+" out the pam_self.so entry in /etc/pam.d/su eliminates\n"
+" the problem). So the x11vnc login will always fail for\n"
+" this case. A possible workaround would be to start\n"
+" x11vnc as root with the \"-users +nobody\" option to\n"
+" immediately switch to user nobody. Another source of\n"
+" problems are PAM modules that prompt for extra info,\n"
+" e.g. password aging modules. These logins will always\n"
+" fail as well.\n"
"\n"
" *IMPORTANT*: to prevent the Unix password being sent in\n"
" *clear text* over the network, two x11vnc options are\n"
@@ -444,17 +448,18 @@ void print_help(int mode) {
" Set UNIXPW_DISABLE_STUNNEL=1 to disable using -stunnel.\n"
" Evidently you will be using a different method to\n"
" encrypt the data between the vncviewer and x11vnc:\n"
-" e.g. ssh(1) or a VPN. Note that use of ssh(1) with\n"
-" -localhost is roughly the same as requiring a Unix\n"
-" user login (since Unix password or the user's public\n"
-" key authentication is used by ssh)\n"
-"\n"
-" As a convenience, if you ssh(1) in and start x11vnc\n"
-" it will look to see if the environment variable\n"
-" SSH_CONNECTION is set and appears reasonable. If it\n"
-" does, then the stunnel requirement is dropped since\n"
-" it is assumed you are using ssh for the encrypted\n"
-" tunnelling. Use -stunnel to force stunnel usage.\n"
+" e.g. ssh(1) or a VPN. Note that use of -localhost\n"
+" with ssh(1) is roughly the same as requiring a Unix\n"
+" user login (since a Unix password or the user's public\n"
+" key authentication is used by ssh on the machine where\n"
+" x11vnc runs and only local connections are accepted)\n"
+"\n"
+" As a convenience, if you ssh(1) in and start x11vnc it\n"
+" will check if the environment variable SSH_CONNECTION\n"
+" is set and appears reasonable. If it does, then the\n"
+" stunnel requirement is dropped since it is assumed\n"
+" you are using ssh for the encrypted tunnelling.\n"
+" Use -stunnel to force stunnel usage.\n"
"\n"
" Set UNIXPW_DISABLE_LOCALHOST=1 to disable the -localhost\n"
" requirement. One should never do this (i.e. allow the\n"
@@ -471,16 +476,28 @@ void print_help(int mode) {
" where \"opts\" is a \"+\" separated list of\n"
" \"viewonly\", \"fullaccess\", \"input=XXXX\", or\n"
" \"deny\", e.g. \"karl,fred:viewonly,boss:input=M\".\n"
-" For \"input=\" it is the K,M,B,C describe under -input.\n"
-"\n"
-" If a user in the list is \"*\" that means those options\n"
-" apply to all users. It also means all users are allowed\n"
-" to log in. Use \"deny\" to explicitly deny some users\n"
-" if you use \"*\" to set a global option.\n"
-"\n"
-"-stunnel [pem] Use the stunnel(1) (www.stunnel.org) to provide an\n"
-" encrypted SSL tunnel between viewers and x11vnc.\n"
-" This requires stunnel be installed on the system and\n"
+" For \"input=\" it is the K,M,B,C described under -input.\n"
+"\n"
+" If a user in the list is \"*\" that means those\n"
+" options apply to all users. It also means all users\n"
+" are allowed to log in after supplying a valid password.\n"
+" Use \"deny\" to explicitly deny some users if you use\n"
+" \"*\" to set a global option.\n"
+"\n"
+"-unixpw_nis [list] As -unixpw above, however do not run su(1) but rather\n"
+" use the traditional getpwnam() + crypt() method instead.\n"
+" This requires that the encrpyted passwords be readable.\n"
+" Passwords stored in /etc/shadow will be inaccessible\n"
+" unless run as root. This is called \"NIS\" mode\n"
+" simply because in most NIS setups the user encrypted\n"
+" passwords are accessible (e.g. \"ypcat passwd\").\n"
+" NIS is not required for this mode to work, but it\n"
+" is unlikely it will work for any other environment.\n"
+" All of the -unixpw options and contraints apply.\n"
+"\n"
+"-stunnel [pem] Use the stunnel(1) (www.stunnel.org) to provide\n"
+" an encrypted SSL tunnel between viewers and x11vnc.\n"
+" This requires stunnel to be installed on the system and\n"
" available via PATH (n.b. stunnel is often installed in\n"
" sbin directories). Version 4.x of stunnel is assumed;\n"
" see -stunnel3 below.\n"
@@ -492,9 +509,9 @@ void print_help(int mode) {
"\n"
" stunnel is started up as a child process of x11vnc and\n"
" any SSL connections stunnel receives are decrypted and\n"
-" sent to x11vnc over a local socket. The strings \"The\n"
-" SSL VNC desktop is ...\" and SSLPORT=... are printed\n"
-" out at startup.\n"
+" sent to x11vnc over a local socket. The strings\n"
+" \"The SSL VNC desktop is ...\" and \"SSLPORT=...\"\n"
+" are printed out at startup.\n"
"\n"
" The -localhost option is enforced by default to\n"
" avoid people routing around the SSL channel. Set\n"
@@ -502,7 +519,7 @@ void print_help(int mode) {
"\n"
" Your VNC viewer will need to be able to connect via SSL.\n"
" Unfortunately not too many do this. UltraVNC seems to\n"
-" have a SSL plugin. It is not too difficult to set up\n"
+" have a SSL plugin. It is not too difficult to set up\n"
" an stunnel or other SSL tunnel on the viewer side.\n"
"\n"
" A simple example on Unix using stunnel 3.x is:\n"
@@ -2100,16 +2117,17 @@ void print_help(int mode) {
" http_url auth xauth users rootshift clipshift\n"
" scale_str scaled_x scaled_y scale_numer scale_denom\n"
" scale_fac scaling_blend scaling_nomult4 scaling_pad\n"
-" scaling_interpolate inetd privremote unsafe safer nocmds\n"
-" passwdfile unixpw unixpw_list stunnel stunnel_pem\n"
-" using_shm logfile o flag rc norc h help V version\n"
-" lastmod bg sigpipe threads readrate netrate netlatency\n"
-" pipeinput clients client_count pid ext_xtest ext_xtrap\n"
-" ext_xrecord ext_xkb ext_xshm ext_xinerama ext_overlay\n"
-" ext_xfixes ext_xdamage ext_xrandr rootwin num_buttons\n"
-" button_mask mouse_x mouse_y bpp depth indexed_color\n"
-" dpy_x dpy_y wdpy_x wdpy_y off_x off_y cdpy_x cdpy_y\n"
-" coff_x coff_y rfbauth passwd viewpasswd\n"
+" scaling_interpolate inetd privremote unsafe safer\n"
+" nocmds passwdfile unixpw unixpw_nis unixpw_list stunnel\n"
+" stunnel_pem using_shm logfile o flag rc norc h help\n"
+" V version lastmod bg sigpipe threads readrate netrate\n"
+" netlatency pipeinput clients client_count pid ext_xtest\n"
+" ext_xtrap ext_xrecord ext_xkb ext_xshm ext_xinerama\n"
+" ext_overlay ext_xfixes ext_xdamage ext_xrandr rootwin\n"
+" num_buttons button_mask mouse_x mouse_y bpp depth\n"
+" indexed_color dpy_x dpy_y wdpy_x wdpy_y off_x off_y\n"
+" cdpy_x cdpy_y coff_x coff_y rfbauth passwd viewpasswd\n"
+"\n"
"-QD variable Just like -query variable, but returns the default\n"
" value for that parameter (no running x11vnc server\n"
" is consulted)\n"