linux 用户管理基本知识:
linux用户:
UID范围:0-65535
uid为0对应root
uid为1-499(centos 6)或者1-999(centos 7)为系统用户
uid为500以上(centos 6)或者1000以上(centos)为登录用户
GID范围:0-65535
gid为0对应管理员组
gid为1-499(centos 6)或者1-999(centos 7)为系统用户组
gid为500以上(centos 6)或者1000以上(centos)为登录用户组
用户的组又分基本组和附加组
用户配置文件:
/etc/passwd:用户名、UID、基本组等信息
/etc/group:组名、GID、组内包含的用户;
/etc/shadow:用户密码及相关属性;
/etc/gshadow:组的密码及相关属性;
/etc/passwd分析:
name:password:UID:GID:GECOS:directory:shell
登录名:x:UID:GID:用户评论:用户主目录:用户默认shell
具体信息可以man 5 passwd即可查看
/etc/shadow分析:
login name:encrypted password:date of last password change:minimum password age:maximum password age:password warning period:password inactivity period:account expiration date:reserved field
登录用户名:用户加密密码:最后一次密码修改时间(该数据是从1970年1月1日开始的天数,注意单位是天):口令不可被更动的天数(与前一个字段相比,只有满足了最小密码时间期限,用户才能修改密码):最大密码期限(密码最大期限,到了最大期限,用户必须要修改密码):密码警告时间(当密码快到期多少时间之前,给用户发送个密码快过期警告信息):密码非活动期限(当密码已经过期,允许用户再修改密码的期限):账号过期期限(账号过期的期限,一旦过期,该账号就不允许在登录,而密码过期只是该账号不能使用那个密码):暂定字段
/etc/group分析:
group_name:password:GID:user_list
组名:群组口令(通常不需要配置,这个配置通常是给『群组管理员』使用的,目前很少有这个机会配置群组管理员啦! 同样的,口令已经移动到 /etc/gshadow 去,因此这个字段只会存在一个『x』而已):GID:此群组支持的账号名称(我们知道一个账号可以加入多个群组,那某个账号想要加入此群组时,将该账号填入这个字段即可。 举例来说,如果我想要让 dmtsai 也加入 root 这个群组,那么在第一行的最后面加上『,dmtsai』,注意不要有空格, 使成为『 root:x:0:root,dmtsai 』就可以啰~)
/etc/gshadow分析:
group_name:encrypted password:administrators:members
组名:加密密码:组管理员(能改变组的密码,用逗号分隔的列表):成员(用逗号分隔的用户列表)
linux 用户命令
useradd
选项与参数:
-u UID:直接指定uid号
-g GID:指定用户组(该用户组要事先存在)
-r: 创建系统用户
-c 'COMMENT'
-d /PATH/TO/SOMEWHERE:指定用户的主目录路径;此位置不能事先存在,否则,其用户相关配置文件将被复制;/etc/skel
-s SHELL:设定用户的默认shell
-G GID,...:指定所属的附加组
-M:不会给用户创建家目录
groupadd
选项与参数:
-r:指定系统组
-g GID:指定组ID
练习:创建用户Oracle,所属附加组database和sql,ID号为3000, 家目录为/home/database;
解答:
1.groupadd database
2.groupadd mysql
3.useradd -G database,sql -u 3000 -d /home/database Oracle
id: 查看用户相关的id信息
选项与参数:
-u:只展示用户id
-g:只展示组id
-G: 只展示组id以及附加组id
su: switch user, 切换用户或以其它用户的身份执行命令
切换方式:
su USERNAME: 非完全切换;非登录式切换(还会使用之前用户的环境变量)
su - USERNAME或su -l USERNAME: 完全切换;登录式切换
usermod:用户属性修改
选项参数(基本与useradd一致)
-u UID:直接指定uid号
-g GID:指定用户组(该用户组要事先存在)
-G GID[,GID,...]:修改用户所属的附加组;同时使用之前的附加组使用-a选项;
-s SHELL
-c 'COMMENT'
-d HOME: 修改用户的家目录为新位置时,用户原来的文件是不会被移动至新家;-m选项可实现同时将其迁至新的家目录;
-l LOGIN
-L:lock user(锁定用户)
-U: unlock user(解锁用户)
passwd: 给用户添加密码
选项参数:
-l: lock user
-u: unlock user
--stdin:从标准输出接收用户密码
举例:echo 'centos' | passwd --stdin centos
userdel:删除用户
选项参数:
-r:删除用户的同时删除家目录
groupmod:组属性修改
选项参数:
-n GROUP_NAME:修改组名
-g GID:修改组ID
gpasswd:设定组密码
newgrp:切换基本组为指定的组
chage:修改用户账号及密码的属性