关于系统账户
在生产环境中使用root用户运行web站点是一件极为不安全的,所以我们需要使用非root账户来运行服务程序。这里要阐述下linux关于用户和组的操作命令,已经一些关于用户和组的文件。
useradd
userdel
usermod
chsh
chfn
id
chage
命令:useradd
功能:添加系统账户
用法:useradd [options] USERNAME
-u NUMBER 修改UID(0=root,系统用户1-499,普通用户 >=500)
-g NUMBER(GID) 指定基本组ID,必须存在
-G Number(GID) 指定附加组ID,必须存在
-c Comment 指定注视信息
-d PATH 指定家目录
-ppassword 制定账户密码
-s SHELL_PATH 指定shell(必须是/etc/shells的shell)
-m PATH 强制创建家目录(一般和-k(复制环境变量文件)一起使用,/etc/skel/).
-M 不创建家目录(/etc/login.defs)
-r 添加系统用户
-Z SE-username 添加selinux系统账户
-h 显示帮助信息
命令:userdel
功能:删除系统账户
用法:userdel [options] USERNAME
-r 删除家目录
-Z SE-username 删除selinux系统账户
-h 显示帮助信息
命令:id
功能:查看账户信息
用法:id [options]USERNAME 查看帐户属性信息
-u 查看uid
-g 查看基本组
-G 查看附加组
-Z 查看属于用户的安全content
--help 查看帮助
命名:usermod
功能:修改账户信息
用法:usermod 和useradd几乎一样,特别说明如下。
-G NUMBER(GID) 会覆盖原先的附加组,可以使用-a来追加附加组
-d PATH 修改家目录,如需将原来的文件移动到新的家目录中,附加使用-m
-s SHELL_PATH 修改SHELL
-ppassword 修改账户密码
-l LOGIN_NAME 修改登录名
-e YYYY-MM-DD 过期时间
-L USERNAME 锁定账号
-U USERNAME 解锁账号
命令:chsh
功能:修改用户shell
用法:chsh [options] [USERNAME]
-sshell 给用户指定shell
--list-shells 查看可用shell,内容与/etc/shells一致
--help 查看帮助
命令:chfn
功能:修改用户finger信息(注释信息)
用法:chfn [options] USERNAME
-f full-name 注释全名
-o office 注释办公信息
-p office-phone 注释办公电话
-h home-phone 注释家庭电话
--help 查看帮助
说明:查看注释信息可以使用figner。
命令:passwd
功能:修改用户密码
用法:passwd [option] [USER_NAME]
--stdin 使用来自管道的字符串作为密码
-l 锁定帐户
-u 解锁帐户
-d 删除密码
命令:groupadd
功能:添加组
用法:groupadd [options] GROUP_NAME
-g GID 修改GID
-n GROUP_NAME 修改祖名
命令:groupdel
功能:删除组
用法:groupdel GROUP_NAME
命令:chage
功能:指定密码最后一次修改时间
用法:chage [option] USERNAME
-d 最后一次修改时间
-E 过期时间
-I 非活动时间
-m 最短使用期限
-M 最长使用期限
-w 警告时间
命令:chown
功能:修改属主/属组
用法:chown [option] file/path
-R 递归
--reference=/path//path/
命令:chmod
功能:修改文件权限
用法:
本地账户相关的文件
本地账户信息文件/etc/passwd
我们取出第一行,内容如下。
root:x:0:0:root:/root:/bin/bash |
定义如下
Username | Password | UID | GID | GECOS | Home | Shell |
用户名 | 密码,保存到/etc/shadow | 用户ID | 主组ID | 用户注释 | 家目录 | 登录后使用的shell |
密码存储文件/etc/shadow,shadow是有pwconv命令根据/etc/passwd中的数据自动生成的。
我们取出第一行,内如如下:
root:$6$UGALgN1TOHqvfJkK$/nT7s1d1jOiZhWSciO1CMsqcrh0FruXKKD/jEpMi2ezkKq/JsYLyOvonguEv9yBwtSMhJfuJPRcWWSFo6C97k/:16643:0:99999:7::: |
定义如下
字段 | 定义 | 说明 |
1 | 用户名 | |
2 | 加密的密码 | 加密后的密码 |
3 | 上次密码更改日期 | 从1970年1月1日开始计算 |
4 | 最短密码期限 | 按天计算,0表示无期限 |
5 | 最长密码期限 | 按天计算,9999表示无期限 |
6 | 密码警告期限 | 按天计算,0表示不警告 |
7 | 密码非活动期限 | 按天计算 |
8 | 账户到期时间 | 从1970年1月1日开始计算 |
9 | 保留域 |
配置示例
创建账户
Shell># useraddd –m webadmin
添加密码,成功后提示如下
Shell># passwd webadmin
Changing password for user webadmin. New password: Retype new password: passwd: all authentication tokens updated successfully. |
验证
Shell>id webadmin
uid=502(webadmin) gid=502(webadmin) groups=502(webadmin) |