显示标签为“管理”的博文。显示所有博文
显示标签为“管理”的博文。显示所有博文

2008年6月15日星期日

passwd

我们看看 passwd 这个基础的包为我们提供了哪些有用的命令,
/usr/bin/chage
/usr/bin/chfn
/usr/bin/chsh
/usr/bin/expiry
/usr/bin/gpasswd
/usr/bin/passwd
/usr/sbin/chpasswd
/usr/sbin/chgpasswd
/usr/sbin/cppw
/usr/sbin/groupadd
/usr/sbin/groupdel
/usr/sbin/groupmod
/usr/sbin/grpck
/usr/sbin/grpconv
/usr/sbin/grpunconv
/usr/sbin/newusers
/usr/sbin/pwck
/usr/sbin/pwconv
/usr/sbin/pwunconv
/usr/sbin/useradd
/usr/sbin/userdel
/usr/sbin/usermod
/usr/sbin/vipw
/etc/default
/etc/default/useradd
/etc/pam.d
/etc/pam.d/passwd
/etc/pam.d/chfn
/etc/pam.d/chsh
/sbin
/sbin/shadowconfig
/usr/sbin/cpgr
/usr/sbin/vigr
让我们一个一个来 man。chage 是为了设置用户密码有效时间长度,强制用户到了时间必须更改自己的密码保证安全性。可以用 -l 列出任意一个用户相关的信息,如
$ chage -l someone
Last password change : Jun 03, 2008
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
chfn 用于更改用户的 finger 信息,如 full name,基本用法为
chfn [-f full_name] [-r room_no] [-w work_ph] [-h home_ph] [-o other] [user]
chsh 用于更改用户登录 shell,如
chsh someone -s /usr/bin/csh
将用户的登录 shell 换为 C shell。

命令 expiry 可以检查自己的帐号是否过期。gpasswd 和 passwd 分别用来设定组和用户密码。组密码的作用是 newgrp 改变自己的 GID 获得某组用户的访问权。chpasswd 和 chgpasswd 就是用来批量更新用户和组的密码,它们输入是 stdin,格式都是 username:password 或者 groupname:password,使用的 hash 算法可以在命令行上面指定,也可以用在 /etc/login.defs 里面声明的算法。cppw 和 cpgr 可以把一个 passwd 或者 group 文件类似的内容复制到 /etc/passwd 和 /etc/group(同时锁定该文件),加上 -s 后会放入对应的 shadow 文件,这在把用户转移到另外一台机器上的情况下有一定的作用。useradd/groupadd 添加新用户/组,userdel/groupdel 删除已有用户/组,usermod/groupmod 修改已有用户/组的属性,pwck/grpch 检查 etc/passwd 或 /etc/group 和 /etc/shadow 或 /etc/gshadow 的一致性。pwconv/grpconv 使用 passwd/group 创建 shadow/gshadow。un 版本反过来。vipw/vigr 进入编辑对应文件的环境。newusers 是批量创建用户的命令,可以从 stdin 输入用户名和密码。shadowconfig 决定是否使用 shadow。

相关文件:
  • login: /usr/bin/newgrp, /etc/login.defs

adduser

debian 系统里面有传统的 useradd、userdel 和 usermod,但是 debian 更推荐管理员使用 adduser 和 deluser。这些是来自于 adduser 这个包的程序。在 /etc/adduser.conf 和 /etc/deluser.conf 里面有这些程序的配置。

那么为什么需要用 adduser 的命令呢?很简单,因为在直接调用 useradd 时,很多额外的操作必须手工执行,比如如果系统用户有指定的 GID,希望放到一个 group 的目录里。通过 adduser 建立的用户目录可以用 /etc/skel 里面的文件初始化,那么我们可以预先修改 /etc/skel 的内容为用户完成最开始的配置。

相关包有:
  • passwd: useradd, userdel, usermod
  • bash: /etc/skel