1. /etc/passwd 格式
用户名:密码:UID:GID:注释:家目录:默认shell
useradd [options ] USERNAME
-u: UID 要大于等于500,
-g: GID 指基本组,必需事先存在,UID会在最下面的一个ID加1
小插曲,下载了xshell来运行。
-G:GID,组要存在,可能存在多个。
-c:“COMMENT”注释
-d:/path/to/somedirectory 意思为指定家目录。默认是在home目录下的userfolder下。
-s: 指定了当前系统可用的安全shell,它存在于etc/shells下
注意切换用户的方法: #su – USERNAME ,如下 #su – user413
-m: 给用户强制创建家目录
-k:要跟-m一起用
/etc/skel,其实就是shell的配置文件,其中-a是用于显示影藏文件的
使用-m 可以指定不用创建家目录
2. 不为用户创建家目录
首先,有个文件可以先拿出来看看 /etc/login.defs,
/etc/login.defs 是设置用户帐号限制的文件。该文件里的配置对root用户无效。
如果/etc/shadow文件里有相同的选项,则以/etc/shadow里的设置为准,也就是说/etc/shadow的配置优先级高于/etc/login.defs
# *REQUIRED* required
# Directory where mailboxes reside, _or_ name of file, relative to the
# home directory. If you _do_ define both, MAIL_DIR takes precedence.
# QMAIL_DIR is for Qmail
#
#QMAIL_DIR Maildir
MAIL_DIR /var/spool/mail#指定邮件目录
#MAIL_FILE .mail
# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 99999 #密码最大有效期
PASS_MIN_DAYS 0 #两次修改密码的最小间隔时间
PASS_MIN_LEN 10 #密码最小长度,对于root无效
PASS_WARN_AGE 7 #密码过期前多少天开始提示
#
# Min/max values for automatic uid selection in useradd
#创建用户时不指定UID的话自动UID的范围
UID_MIN 500 #用户ID的最小值
UID_MAX 60000 #用户ID的最大值
#
# Min/max values for automatic gid selection in groupadd
#自动组ID的范围
GID_MIN 500 #组ID的最小值
GID_MAX 60000 #组ID的最大值
#
# If defined, this command is run when removing a user.
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
#USERDEL_CMD /usr/sbin/userdel_local 当删除用户的时候执行的脚本
#
# If useradd should create home directories for users by default
# On RH systems, we do. This option is overridden with the -m flag on
# useradd command line.
#
CREATE_HOME yes #使用useradd的时候是够创建用户目录
# The permission mask is initialized to this value. If not specified,
# the permission mask will be initialized to 022.
UMASK 077 #
# This enables userdel to remove user groups if no members exist.
#
USERGROUPS_ENAB yes
# Use MD5 or DES to encrypt password? Red Hat use MD5 by default.
MD5_CRYPT_ENAB yes #用MD5加密密码
3. 删除用户
userdel
#userdel [options] USERNAME
如果没有指定选项,家目录不删除。
id:查看用户的账号信息
#id USERNAME
注意,这边还有一finger的命令,这个应该是外部命令,功能是查看用户账号信息。
其实userdel这个命令只是删除/etc/passwd 下的账号信息。但是home下的信息没有删了
如果要彻底删除,需要一个选项 –r
补充一点,之前删Tom的时候,passwd删了,但是home没有删了,我们用这个命令再删的话,会出错。至于怎么弄,回头再总结。
以Jack为例
4. 修改用户账号属性
usermod 与 useradd 类似
-u UID
-g GID
-G GID 会覆盖原来的GID
-a -G GID,添加新的组,不会覆盖
-d -m :既指定家目录,又移动此前的家目录内容(这个还不清楚)
-L 锁定账号,类似禁用
chsh :改用户的默认shell
chfn:修改注释信息
5. 密码管理
passwd 用户只用于改自己密码
passwd USERNAME,管理员改其他密码
--stdin:(standard input),标准输入,会标准输入接受密码,将来的脚本会用到
-l:锁定用户账号
-d: 删除用户密码
pwck: password check 检查用户账号完整性。但是这个怎么看,还不是很清楚。
6. 组管理
创建组
groupadd,用 – g 指定GID,不指定为大于等于500,且比上一个大。
记住:有哪些组,可以通过 cat /etc/group 来看
-r: 添加一个系统用户或组,系统账号没有login权限,且没有home
groupmod:
-g: GID
-n GRPNAME
groupdel
gpasswd:给组改密码
newgrp GROUPNAME 切换组
貌似,创建用户,并添加密码包含三个方面:passwd, shell, group文件下各加一行。但要懂格式
7. 作业