Chinaunix

标题: freebsd pw用户管理[暂时解决] [打印本页]

作者: chenyx    时间: 2013-04-23 22:15
标题: freebsd pw用户管理[暂时解决]
本帖最后由 chenyx 于 2013-04-24 22:03 编辑
[root@FreeBsd8 /usr/ports/ftp/vsftpd-ext]# pw adduser ftp
pw: user 'ftp' already exists
[root@FreeBsd8 /usr/ports/ftp/vsftpd-ext]# pw deluser ftp
pw: no such user `ftp'

这个是啥逻辑?


胡乱操作了一下,可能是解决了.
方法:vipw,将ftp行删除,pw uaseradd ftp,pw deluser ftp都没有上面的故障了.
然后重新进入vsftp的ports,重新make install clean,进入神奇的解决了.
作者: ruifeng_    时间: 2013-04-24 00:27
我也想知道这个问题  ,关注...  
作者: chenyx    时间: 2013-04-24 09:14
@ulovko @fender0107401
作者: fender0107401    时间: 2013-04-24 19:19
回复 3# chenyx

怎么看着像个bug呢?不过不应该啊。


   
作者: chenyx    时间: 2013-04-24 19:22
@fender0107401bug?不会吧,基本的用户管理,这也能出bug?
作者: fender0107401    时间: 2013-04-24 19:38
回复 5# chenyx

我感觉也不会啊,但是确实是出现问题了。


   
作者: ulovko    时间: 2013-04-24 20:49
我一般是用这个命令:

  1. # pw useradd ftp
复制代码
这个问题我没碰到过,一会弄一下
一个小脚本
  1. #!/bin/sh
  2. # TARGET:
  3. #        Anonymous FTP Setup by Ko
  4. # OS:
  5. #        FreeBSD9.0 RELEASE
  6. # DATE: Sun Aug 19 CST 2012
  7. #
  8. result=$(grep ftp</etc/group)
  9. if [ $? != 0 ];then
  10.         pw groupadd ftp
  11.         pw useradd ftp -g ftp -m -d /var/ftp -s /nonexistent -c 'Anonymous FTP Admin'
  12. else
  13.         pw useradd ftp -u 14 -g ftp -m -d /var/ftp -s /nonexistent -c 'Anonymous FTP Admin'
  14. fi
  15. # Make sure the ftp directory get appropriate permissions
  16. rm /var/ftp/.* >/dev/null 2>&1
  17. cd /var/ftp && mkdir pub && mkdir incoming
  18. echo 'welcome'>/var/ftp/pub/welcome.txt
  19. chown -R ftp:ftp /var/ftp

  20. # ftpd startup
  21. echo '# ftpd startup'>>/etc/rc.conf
  22. echo 'ftpd_enable="YES"'>>/etc/rc.conf
  23. echo 'ftpd_flags="lhrS"'>>/etc/rc.conf
  24. /etc/rc.d/ftpd start
  25. /etc/rc.d/ftpd status

  26. # Here you go, try it now.. ^_^
复制代码

作者: chenyx    时间: 2013-04-24 20:54
@ulovko我是port安装vsftpd.最后出现ftp用户已经存在,就用上述命令测试,这逻辑,太无语了.

ps:
  平台版本 Freebsd 8.0 i386,已经通过freebsd-update升级到8.3 p7

作者: ulovko    时间: 2013-04-24 21:05
@chenyx ports安装 存在是正常的  但是无法删除貌似有点问题
作者: chenyx    时间: 2013-04-24 21:12
@ulovko怎么是正常的呢?我可是第一次安装vsftp,以前也没添加过ftp用户.

/etc/passwd里面确实存在ftp用户,手工del掉ftp行,注释ftp行,都测试过,无果.
作者: ulovko    时间: 2013-04-24 21:14
您看看
/etc/master.passwd
/etc/group

有没有 ftp
作者: ulovko    时间: 2013-04-24 21:17
@chenyx  
您在安装 8.0的过程中,肯定被问到了是否开启ftp服务和是否创建ftp账户,这个提示在9.0中是没有的!
您是不是在安装过程中创建过ftp账号的?
作者: chenyx    时间: 2013-04-24 21:21
@ulovko确认没有安装过ftp账号.
作者: chenyx    时间: 2013-04-24 22:00
自己整了一下,可能是解决了吧,不知道是不是正确.方法放在1楼.欢迎各位拍砖.
作者: ulovko    时间: 2013-04-24 22:15
@chenyx
/etc/passwd里面确实存在ftp用户,手工del掉ftp行,注释ftp行,都测试过,无果.


哇哦! vipw 操作的是 /etc/master.passwd ,这块和 linux不太一样 不要去操作 /etc/passwd
参考书:Absolute-FreeBSD-2nd-Edition-200711.pdf.tar.bz2  <PAGE: 218>
http://bbs.chinaunix.net/thread-3751530-1-1.html
作者: chenyx    时间: 2013-04-24 22:29
还真是不太一样,非常的不一般啊.
作者: chenyx    时间: 2013-04-25 07:50
问题是,既然vipw能看到ftp用户,说明master.passwd里面应该有,那么,为什么pw userdel ftp会报错,未发现用户ftp呢?
@ulovko
作者: lsstarboy    时间: 2013-04-25 09:34
应该是帐户同步有问题。
作者: chenyx    时间: 2013-04-25 09:40
不知道啊.
可能与我的操作也有关系.习惯了Linux的bash,不习惯csh,于是就安装了bash.按照linux的经验,ln bash到/bin/bash,然后chsh 将root用户的shell改成了/bin/bash,报了一个未知的root shell的信息,当时没理会.安装vsftp的时候,也报哪个错误,就出现了1楼说的那种情况.
目前算是解决了,将/bin/bash添加到/etc/shells里面了.
@lsstarboy
作者: chenyx    时间: 2013-04-25 09:41
安装bash还有另外一个原因,想玩玩hadoop,资料上说hadoop只支持bash,于是就想一劳永逸.
作者: ulovko    时间: 2013-04-25 12:49
本帖最后由 ulovko 于 2013-04-25 12:50 编辑
应该是帐户同步有问题。
@lsstarboy 说得对!
@chenyx vipw 操作的是 /etc/master.passwd ,操作完会更新 /etc/passwd;如果操作/etc/passwd 会导致系统文件不一致..




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2