1、用户账号的作用
2、用户增、删、改、查
3、用户账号的相关数据文件
4、用户组的创建、用户的分组
1、标识用户的身份,让每个用户有私有的文件夹(家目录),未授权时,每个人只能访问自己的文件。
2、每个用户远程管理服务器时,所做的操作,root管理员可查到。
查用户id号:id 或 id 用户名
注:id查到的信息包括uid用户号、gid组号、Gid附属组,root用户的3个ID号都为0。
用户账号的相关数据文件:
一、passwd记录用户的账号信息。
用useradd增、userdel删除、usermod改会影响到此文件内容。
用户的账号信息文件:head -3 /etc/passwd 内容如下
root:x:0:0:root:/root:/bin/bash
格式说明:
1.用户名:
2.密码:x表示此用户需要用密码登录。如果想免密码登录,用vim修改此文件,将x删掉即可。
3.用户uid号
4.用户的gid组号
5.用户的备注信息
6.用户的家目录
7.用户登录的shell环境
二、shadow文件记录用户密码信息。
用usermod、passwd会影响此文件内容。
head -3 /etc/shadow 内容如下
root:$6$Se16soYt$MK.mk:17464:0:99999:7:::
bin:*:17110:0:99999:7:::
格式说明:
1.用户名
2.加密的密码
3.最后密码修改的时间
4.允许修改密码最小间隔时间
5.允许修改密码最大间隔时间
6.密码过期警告时间
7.密码的宽限时间
8.密码的失效时间(年-月-日)
9.保留,暂时没有具体功能
三、用户账号的增、删、改,以及密码设置。
增(add):useradd
删(del):userdel
改(modify):usermod
密码设置:passwd
临时切换用户:su - 用户名 (用exit退出此用户)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
查帮助手册:man useradd
格式:useradd [选项] 用户名
例:useradd -D 显示或更改默认的 useradd 配置。这些设置保存在/etc/default/useradd文件中
useradd ak 创建ak用户。是按照系统默认设置来创建。
useradd -d /opt/sky -u 110 -s /sbin/nologin -c 'admin' sky
useradd -g 2 -G 0,1,2 -s /bin/bash bk
tail -5 /etc/passwd 查看/etc/passwd文件的最后5行
选项:
-b, --base-dir BASE_DIR 新账户的主目录的基目录
-c, --comment COMMENT 新账户的 GECOS 字段(即备注)
-d, --home-dir HOME_DIR 新账户的主目录(即家目录)
-D, --defaults 显示或更改默认的 useradd 配置
-e, --expiredate EXPIRE_DATE 新账户的过期日期
-f, --inactive INACTIVE 新账户的密码不活动期
-g, --gid GROUP 新账户主组的名称或 ID,必须指定已存在的组号或组名
-G, --groups GROUPS 新账户的附加组列表
-h, --help 显示此帮助信息并推出
-k, --skel SKEL_DIR 使用此目录作为骨架目录
-K, --key KEY=VALUE 不使用 /etc/login.defs 中的默认值
-l, --no-log-init 不要将此用户添加到最近登录和登录失败数据库
-m, --create-home 创建用户的主目录
-M, --no-create-home 不创建用户的主目录
-N, --no-user-group 不创建同名的组
-o, --non-unique 允许使用重复的 UID 创建用户
-p, --password PASSWORD 加密后的新账户密码
-r, --system 创建一个系统账户
-R, --root CHROOT_DIR chroot 到的目录
-s, --shell SHELL 新账户的登录 shell
-u, --uid UID 新账户的用户ID
-U, --user-group 创建与用户同名的组
-Z, --selinux-user SEUSER 为 SELinux 用户映射使用指定 SEUSER
格式:userdel [-r] 用户名
例:userdel -r ak 删除ak用户账号及(-r)其家目录和邮件,用户的邮件位于/var/spool/mail目录中
userdel sky 删除sky用户账号
userdel bk
ls /home /opt 显示指定目录的文件列表。看是否有sky、bk目录
功能:修改用户账号的相关信息,包括用户名、备注描述信息、家目录、uid、gid、附属组、shell等信息。
格式:usermod [选项] 用户名
例:useradd ak 创建ak账号
passwd ak 给ak用户设置登录密码
id ak 查id号
grep ak /etc/passwd 显示/etc/passwd文件中关于ak的内容
usermod ak -c 'admin' -u 120 -g 2 -G 0,2,5 -s /sbin/nologin
usermod ak -md /opt/ak 给ak用户的家搬到/opt/ak目录
usermod -L ak 锁定ak账号
usermod -U ak 解锁ak账号
passwd -S ak 查ak账号的密码状态
usermod ak -l aker 修改ak用户名为aker
userdel -r aker 删除aker用户及其家目录和邮件
选项:
-c, --comment 注释 GECOS 字段的新值
-d, --home HOME_DIR 用户的新主目录
-e, --expiredate EXPIRE_DATE 设定帐户过期的日期为 EXPIRE_DATE
-f, --inactive INACTIVE 过期 INACTIVE 天数后,设定密码为失效状态
-g, --gid GROUP 强制使用 GROUP 为新主组
-G, --groups GROUPS 新的附加组列表 GROUPS
-a, --append GROUP 将用户追加至上边 -G 中提到的附加组中, 并不从其它组中删除此用户
-h, --help 显示此帮助信息并推出
-l, --login LOGIN 新的登录名称
-L, --lock 锁定用户帐号
-m, --move-home 将家目录内容移至新位置 (仅于 -d 一起使用)
-o, --non-unique 允许使用重复的(非唯一的) UID
-p, --password PASSWORD 将加密过的密码 (PASSWORD) 设为新密码
-R, --root CHROOT_DIR chroot 到的目录
-s, --shell SHELL 该用户帐号的新登录 shell
-u, --uid UID 用户帐号的新 UID
-U, --unlock 解锁用户帐号
-Z, --selinux-user SEUSER 用户账户的新 SELinux 用户映射
用法:passwd [选项] 用户名
例:useradd ak
passwd ak
echo '112' | passwd --stdin ak 以脚本方式给ak用户设置密码为112
passwd -l ak 锁定ak账号
passwd -u ak 解锁ak账号
passwd -x 199 ak 用户ak的密码最长有效时限为199天
passwd -S ak 显示ak用户的密码状态
grep ak /etc/shadow 查看/etc/shadow文件中关于ak关键字的内容
passwd -n 3 ak 用户ak的密码最短有效时限为3天(密码修改的最短间隔时间)
passwd -w 6 ak 用户ak的密码过期警告时间为6天
passwd -i 4 ak 用户ak的密码过期4天后将被禁用,-1表示永远不会被禁用
选项:
-k, --keep-tokens 保持身份验证令牌不过期
-d, --delete 删除已命名帐号的密码(只有根用户才能进行此操作)
-l, --lock 锁定指名帐户的密码(仅限 root 用户)
-u, --unlock 解锁指名账户的密码(仅限 root 用户)
-e, --expire 终止指名帐户的密码(仅限 root 用户)
-f, --force 强制执行操作
-x, --maximum=DAYS 密码的最长有效时限(只有根用户才能进行此操作)
-n, --minimum=DAYS 密码的最短有效时限(只有根用户才能进行此操作)
-w, --warning=DAYS 在密码过期前多少天开始提醒用户(只有根用户才能进行此操作)
-i, --inactive=DAYS 当密码过期后经过多少天该帐号会被禁用(只有根用户才能进行此操作)
-S, --status 报告已命名帐号的密码状态(只有根用户才能进行此操作)
--stdin 从标准输入读取令牌(只有根用户才能进行此操作)
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------
1、组的作用
2、组的相关数据文件
3、组增、删、改、查
4、组的创建,组中添加、删除成员
1、组的作用
组:类似于QQ群的功能。可以在组中添加、删除成员。有利于对权限进行管理。
2、组的相关数据文件
组账号信息文件:head -3 /etc/group 内容如下
root:x:0:lp
格式: 组名:组密码:组gid号:组成员
例:用gpasswd -a lp root 在root组中添加lp用户。
用gpasswd -d lp root 在root组中删除lp用户。
组的密码文件:head -3 /etc/gshadow 内容如下
root:168:adm,bin,lp:adm
格式:组名:群密码:群主:组成员
例:gpasswd root 给root组设置密码
gpasswd -A adm,bin,lp root 给root设置3个管理员
gpasswd -M adm root 给root组重新设置成员名单adm,会替换原名单
head -3 /etc/gshadow 查看/etc/gshadow文件的前3行内容
3、组增、删、改、查
例:groupadd grp1 创建grp1组
groupadd -g 210 grp2 创建grp2组,并指定gid为210
groupadd -r grp3 创建系统组账号grp3。系统组通常用于管理系统服务。
tail -5 /etc/group
例:groupdel grp1
groupdel grp2
组的改:groupmod [选项] 组名
例:groupmod -g 208 grp3 将grp3组的gid改成208
groupmod -n g3 grp3 将grp3组的名称改成g3
groupdel g3 删除g3组
显示指定用户的组信息:groups 用户名
显示系统中的所有组账号信息:cat /etc/group
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
用户和组的策略配置文件:cat /etc/login.defs
MAIL_DIR /var/spool/mail 用户邮件的主目录
PASS_MAX_DAYS 99999 密码的最大修改间隔时间
PASS_MIN_DAYS 0 密码的最小修改间隔时间
PASS_MIN_LEN 5 密码的最小长度
PASS_WARN_AGE 7 密码过期的警告时间
UID_MIN 1000 普通用户uid的最小值
UID_MAX 60000 普通用户uid的最大值
SYS_UID_MIN 201 系统用户uid的最小值(用useradd -r 创建的是系统用户)
SYS_UID_MAX 999 系统用户uid的最大值
注:Linux用户账号分为管理员(root)、普通用户(1000~60000)、系统用户(201~999)。而uid从1~200为保留号。
GID_MIN 1000 普通组的gid最小值
GID_MAX 60000 普通组的gid最大值
SYS_GID_MIN 201 系统组的gid最小值
SYS_GID_MAX 999 系统组的gid最大值
CREATE_HOME yes 启用创建用户家目录
UMASK 077 普通用户的权限掩码,实际umask值为022。
USERGROUPS_ENAB yes 允许删除用户的同时删除用户的组,前提是组中没有成员存在
ENCRYPT_METHOD SHA512 指定密码加密算法为SHA512算法。用man login.defs来查
创建新用户的默认设置:cat /etc/default/useradd
# useradd defaults file
GROUP=100 只有当用useradd -N lucy 创建用户时未创建同名的组时,这个新用户才会在100组中HOME=/home 用户家目录的基目录(小区)
INACTIVE=-1 密码永远不失效(不禁用)
EXPIRE= 密码的过期时间,默认为空
SHELL=/bin/bash 用户登录的shell
SKEL=/etc/skel 用户的环境模板文件目录。ls -a /etc/skel
CREATE_MAIL_SPOOL=yes 允许给用户创建邮箱