关于系统账户
在生产环境中使用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
定义如下UsernamePasswordUIDGIDGECOSHomeShell
用户名密码,保存到/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 webadminChanging password for user webadmin.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
验证
Shell>id webadminuid=502(webadmin) gid=502(webadmin) groups=502(webadmin)