Linux账号管理


1. 新增用户


新增用户使用 useradd命令
useradd [-c comment] [-d home_dir]
               [-e expire_date] [-f inactive_time]
               [-g initial_group] [-G group[,...]]
               [-m [-k skeleton_dir] | -M] [-n] [-o] [-p passwd] [-r] [-l]
               [-s shell] [-u uid] login

-c 说明栏 -d 指定主文件夹,而不是默认的 -e 账号失效日期 -f shadow第七字段选项,密码是否过期,-1 为永远不生效 -g 初始用户组 -G 这个账号还可以加入的组名 -m 用户主目录如果不存在则创建,如果设定-k,则skeleton_dir下面的文件会被copy到主目录下。 -M 不创建用户主目录,系统账号默认值 -s shell -u 用户uid
查看useradd默认值
# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
这些数据在 /etc/default/useradd 文件中提供 SKEL 用户主文件夹参考目录,创建用户时,从该目录下拷贝到用户主目录,包括.bashrc, .bash_profile等
用户UID/GID,还有些密码参数,他们参考值在 /etc/login.defs
#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    5
PASS_WARN_AGE   7

#
# Min/max values for automatic uid selection in useradd
#
UID_MIN                   500
UID_MAX                 60000

#
# Min/max values for automatic gid selection in groupadd
#
GID_MIN                   500
GID_MAX                 60000


#
# If useradd should create home directories for users by default
# On RH systems, we do. This option is ORed with the -m flag on
# useradd command line.
#
CREATE_HOME     yes

2. 修改用户


修改密码 passwd
passwd [--stdin] username
passwd username
stdin :可以通过管道来修改密码
echo "adcd" | passwd --stdin user1
passwd不加账号为修改当前用户密码 -l : lock 锁定密码,在/etc/shadow 第二列加上!,使密码失效。 -u; unlock -S; 列出密码相关参数
还可以使用chage查看用户信息
# chage -l user1
Minimum:        0
Maximum:        99999
Warning:        7
Inactive:       -1
Last Change:            Dec 27, 2014
Password Expires:       Never
Password Inactive:      Never
Account Expires:        Never

useradd设置出错时,可以使用usermod修改信息
# usermod -h
usage: usermod  [-u uid [-o]] [-g group] [[-a] -G group,...] 
                [-d home [-m]] [-s shell] [-c comment] [-l new_name]
                [-f inactive] [-e expire ] [-p passwd] [-L|-U] name

3. 删除用户


userdel删除用户
# userdel -r help
-r 连同主文件夹一起删除。

4. 查看用户信息


finger: 可以查用户信息, 后面不接用户名可以查询当前登录用户
# finger  work
Login: work                             Name: (null)
Directory: /home/work                   Shell: /bin/bash
On since Sat Dec 27 17:20 (CST) on pts/1 from yongang.m
   14 minutes 15 seconds idle
No mail.
No Plan.

chfn: 修改这个信息:change finger
id:查看 uid信息
[root@www home]# id
uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
[root@www home]# id work
uid=500(work) gid=502(work) groups=502(work)

5. 新增组


groupadd用于新建用户组
groupadd [-g gid] [-r] groupname
-g : 指定组id -r:系统用户组

6. 修改组


groupmod修改用户组
groupmod [-g gid] [-n old_groupname] groupname
-g: 要修改的组id -n:要修改的组名称

7. 删除组


groupdel删除组
groupdel groupname
删除用户组时,要先删除用户,否则不能删除。

8. 用户组管理员


gpasswd 用于设置组管理员。
# gpasswd
usage: gpasswd [-r|-R] group
       gpasswd [-a user] group
       gpasswd [-d user] group
       gpasswd [-A user,...] [-M user,...] group

相关内容