LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 726|回复: 9

请教

[复制链接]
发表于 2005-11-14 15:09:41 | 显示全部楼层 |阅读模式
要将用户和密码添加在boa上阿,看了源码,偶还是不太明白AUTH_FILE文件的格式阿,就是passwd密码配置文件的格式 怎么写?
  看过源码 好像密码是cgypt过的,偶实在不懂怎么添加!能不能将您如何添加用户和密码的过程贴出来啊,
再次请教阿 (不好意思阿 偶实在太弱了 基础太差阿)
发表于 2005-11-14 19:43:56 | 显示全部楼层
不好意思,我们那个项目已经结束了,我也换项目组了,所以原文件没有了。我们当时没有添加用户,只有root一个用户,所以我也不知道怎么加的。其实它里面产生密码的方法还是比较简单的,没有用到shaow文件。用的是md5算法。你要产生一个root用户的密码,直接用passwd命令就行了。它会保存在/etc/passwd文件中的,boa默认也是去读那个文件,你也可以修改源码指定别的路径。如果要自己产生一个密码的话,可以考虑crypt函数,用到crypt库。在Makefile文件中加 -lcrypt -D_XOPEN_SOURCE。具体你看一下crypt的man手册!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-15 10:42:42 | 显示全部楼层
多谢huangh先生啊!
偶还有一点疑问,
1、为什么在boa.conf配置文件中User:偶只能配置成整型的数值0 、12、256等,如果配置成root、mm等则在串口打印no such user:......
2、偶在boa.conf中加上Auth /mnt/data/boa /mnt/data/boa/passwd(密码文件)
我将crypt过的密码放入到我编辑的密码文件中,格式例如:passwd teH0wLIpW0gyQ,启动./boa,结果在串口中打出“parse boa.conf上这个密码文件失败。然后变成和linux格式一样的:
0:teH0wLIpW0gyQ:0:0:root:/:/bin;启动boa后仍然如此。

该怎么办啊!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-15 10:50:48 | 显示全部楼层
偶得配置文件如下:
# Boa v0.94 configuration file
# File format has changed little from 0.92
# version changes are noted in the comments
#
# The Boa configuration file is parsed with a lex/yacc or flex/bison
# generated parser.  If it reports an error, the line number will be
# provided; it should be easy to spot.  The syntax of each of these
# rules is very simple, and they can occur in any order.  Where possible
# these directives mimic those of NCSA httpd 1.3; I saw no reason to
# introduce gratuitous differences.

# The "ServerRoot" is not in this configuration file.  It can be compiled
# into the server (see defines.h) or specified on the command line with
# the -c option, for example:
#
# boa -c /usr/local/boa

#ServerRoot /mnt/data/boa

# Port: The port Boa runs on.  The default port for http servers is 80.
# If it is less than 1024, the server must be started as root.

Port 80

#  User: The name or UID the server should run as.
# Group: The group name or GID the server should run as.

User 0
Group 0

# ServerAdmin: The email address where server problems should be sent.
# Note: this is not currently used.

ServerAdmin root@localhost

# ErrorLog: The location of the error log file. If this does not start
# with /, it is considered relative to the server root.
# Set to /dev/null if you don't want errors logged.

#ErrorLog /var/log/boa/error_log

# AccessLog: The location of the access log file. If this does not
# start with /, it is considered relative to the server root.
# Comment out or set to /dev/null (less effective) to disable
# Access logging.

#AccessLog /var/log/boa/access_log

# RefererLog: The location of the referer log file. If this does not
# start with /, it is considered relative to the server root.
# Comment out or set to /dev/null (less effective) to disable
# referer logging.

#RefererLog /var/log/boa/referer_log

# AgentLog: The location of the agent log file. If this does not
# start with /, it is considered relative to the server root.
# Comment out or set to /dev/null (less effective) to disable
# User-Agent logging.

#AgentLog /var/log/boa/agent_log

# VerboseCGILogs: this is just a logical switch.
# Comment out to disable.

#VerboseCGILogs

# ServerName: the name of this server that should be sent back to
# clients if different than that returned by gethostname -- often
# this is www.foo.bar.

#ServerName www.your.org.here

# DocumentRoot: The root directory of the HTML documents.

DocumentRoot /mnt/data/www

# ChRoot: Boa root '/' directory. This is useful to improve security of
# your system. Don't forget that ALL DIRECTORIES used by boa except logs
# must be in this directory. If you need cgi scripts, you must copy shared
# libraries to this directory (see ldconfig(8) for more info)

#Chroot /var

# UserDir: The name of the directory which is appended onto a user's home
# directory if a ~user request is recieved.

UserDir public_html

# DirectoryIndex: Name of the file to use as a pre-written HTML
# directory index.  Please MAKE AND USE THESE FILES.  On the
# fly creation of directory indexes can be _slow_.
#

DirectoryIndex index.html

#DirectoryMaker /usr/local/sbin/boa_indexer

# LocalCodepage: Local codepage. This is send to client in 'Content-Type:'
# header by default.

#LocalCodepage iso-8859-1

# Codepage: Load codepage conversion table from file. This table will be used
# on-the-fly conversion.

#Codepage us-ascii /usr/lib/boa/iso-8859-2/us-ascii

# CodepageByURL: Specify URL prefix codepage. This command is used for manual
# codepage selection. For example, http://www.cz.boa.org/asc/document.html
# converts /document.html to us-ascii

#CodepageByURL        /asc        us-ascii

# CodepageByBrowser: Specify codepage by $USER_AGENT. This command is used for
# automatic codepage selection. You can use characters '*' and '?' in browser
# string. For example, "CodepageByBrowser Lynx/* us-ascii" will send for Lynx
# users all documents in us-ascii.

#CodepageByBrowser Lynx/* us-ascii

# KeepAliveMax: Number of KeepAlive requests to allow per connection
# Comment out, or set to 0 to disable keepalive processing

KeepAliveMax 100

# KeepAliveTimeout: seconds to wait before keepalive connection times out

KeepAliveTimeout 10

# MimeTypes: This is the file that is used to generate mime type pairs
# and Content-Type fields for boa.

#MimeTypes /etc/mime.types
MimeTypes /mnt/data/boa/mime.types

# DefaultType: MIME type used if the file extension is unknown, or there
# is no file extension.

DefaultType text/plain

# AddType: adds types without editing mime.types
# Example: AddType type extension [extension ...]

# Uncomment the next line if you want .cgi files to execute from anywhere
#AddType application/x-httpd-cgi cgi

# Redirect, Alias, and ScriptAlias all have the same semantics -- they
# match the beginning of a request and take appropriate action.  Use
# Redirect for other servers, Alias for the same server, and ScriptAlias
# to enable directories for script execution.

# Redirect allows you to tell clients about documents which used to exist in
# your server's namespace, but do not anymore. This allows you to tell the
# clients where to look for the relocated document.
# Example: Redirect /bar http://elsewhere/feh/bar

# Aliases: Aliases one path to another.
# Example: Alias /path1/bar /path2/foo

#Alias /doc /usr/doc

# ScriptAlias: Maps a virtual path to a directory for serving scripts
# Example: ScriptAlias /htbin/ /www/htbin/

ScriptAlias /cgi-bin/ /mnt/data/www/cgi-bin/

# VirtualHost: Maps a virtual host to a directory.
# Example: VirtualHost cz.boa.org /html/htdocs/boa/

#VirtualHost        www.second.company.com /var/www/second_company/


# Auth: HTTP Basic authorization. Format is "Auth <Directory> <asswdFile>".
# Password file should be readable _ONLY_ by root or trusted user(s). This file
# is opened before boa gives out privs.
# Example: Auth /secret /var/www/secret.passwd

Auth /mnt/data/boa /mnt/data/boa/passwd
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-15 11:27:29 | 显示全部楼层
在defines.h中
#define AUTH_FILE  /mnt/data/boa/passwd

huang先生,偶只需要一个用户可以用密码登陆就行了,不用加别的用户!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-15 13:33:47 | 显示全部楼层
原来在源码的config.c中没有处理Auth的函数阿,加上后就行了。
谢谢各位大佬!
现在就是user: 只能变成整型数字,不能变成如root 、mm等字符型的。
继续解决阿!!!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-15 14:49:52 | 显示全部楼层
郁闷 boa只支持是数字用户阿!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-15 19:44:53 | 显示全部楼层
解决了阿!在boa.conf文件中的用户配置成user 0 ,在passwd文件中username项随便设置什么名称就可以了!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-11-15 19:46:18 | 显示全部楼层
问题解决了。在boa.conf中将user配置成0,在passwd文件的username项随便设置成什么名字都可以了!
回复 支持 反对

使用道具 举报

发表于 2005-11-15 23:20:35 | 显示全部楼层
Post by allanying
多谢huangh先生啊!
偶还有一点疑问,
1、为什么在boa.conf配置文件中User:偶只能配置成整型的数值0 、12、256等,如果配置成root、mm等则在串口打印no such user:......
2、偶在boa.conf中加上Auth /mnt/data/boa /mnt/data/boa/passwd(密码文件)
我将crypt过的密码放入到我编辑的密码文件中,格式例如:passwd teH0wLIpW0gyQ,启动./boa,结果在串口中打出“parse boa.conf上这个密码文件失败。然后变成和linux格式一样的:
0:teH0wLIpW0gyQ:0:0:root:/:/bin;启动boa后仍然如此。

该怎么办啊!

这个是有函数的,手工改应该也一样!man putpwent
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表