/etc/passwd /etc/shadow /etc/gpasswd (chage) /etc/gshadow
useradd usermod userdel passwd
grouadd groupmod groupdel gpasswd id su
1./etc/passwd文件格式 查看passwd信息 getent passwd
①username :登录用名(xiaoming) 查看单一用户信息 getent passwd username
②passwd :密码 (x)
pwconv (默认) 将密码映射到了/etc/shadow
pwunconv 将密码保存到/etc/passwd中,删除/etc/shadow文件
③UID号 :
每个用户都有一个UID,UID为0时,说明是管理员帐户。
CentOS6 1-499为系统用户,预留
CentOS7 1-999为系统用户,预留
④GID :
主要组:每个有且仅有一个主要组,当用户创建时,自动创建一个与用户同名的组作为主要组。
辅助组:用户可以有零个或多个辅助组。
⑤GECOS :描述位
chfn username修改描述 finger username (默认没有安装) 查看用户的信息
⑥家目录 :用户主目录 (/home/wang)
usermod -d /home/magedunew magedu
⑦shell :用户默认使用shell (/bin/bash)
usermod -s /sbin/nologin magedu 非登录shell 不能登录 不能交互式 或 chsh -s /sbin/nologin
2./etc/shadow 文件格式 查看shadow信息 getent shadow
①登录用名 查看单一用户 getent shadow username
②密码位: 一般用sha512 加密 $6 加密方式:sha512 sha256 md5 三种
$id$salt随机数$加密的密码 authconfig –passalgo=sha256 –update 更改加密方式
!! 用户被锁定 usermod -L锁定用户
usermod -U 解锁用户 -p password 加个密码
chage -l username 显示帐户的密码信息
③从1970 年1 月1 日起到密码最近一次被更改的时间 -d 指定密码的上次修改时间(yyyy-mm-dd) -d 0 则强制用户下次登录时必须修改密码
④ 密码再过几天可以被变更(0 表示随时可被变更) -m 设置最小存活时间
⑤密码再过几天必须被变更(99999 表示永不过期) -M 设置最大存活时间
⑥密码过期前几天系统提醒用户(默认为一周) -W 设置密码过期前的提醒时间
⑦密码过期几天后帐号会被锁定 -I 密码过期之后多少天帐户过期
⑧从1970年1月1日算起,多少天后帐号失效 -E 指定账户的过期时间
⑨保留位
chage username 交互式修改用户的密码策略
密码期限
3./etc/group 查看group信息 getent group
①groupname:组名 查看单一组信息 getent group [groupname]
②密码位:x
③gid:
CentOS6 1-499为系统组,预留
CentOS7 1-999为系统组,预留
④组成员:将该组作为辅助组的成员列表。当成员先把该组当作辅助组,再转成主要组时,不改变。当成员离开该组时,被删除。
4./etc/gshadow 查看gshadow信息 getent gshadow
①groupname:组名 查看单一组gshadow信息 getent gshadow [groupname]
②密码位:
gpasswd groupname设置组密码
newgrp groupname(普通用户) 当用户不是该groupname的辅助组成员时,则需要输入密码,成功后临时以主要组的身份加入该组。
当用户是该groupname的辅助组成员时,无需输入密码,将临时以主要组的身份加入该组,而其原有的主要组,临时变为辅助组。
③管理员:只能由root任命或撤销,可以同时有多名,以,为间隔。 权利:可以修改组密码,可以将用户从该组(辅助组)当中添加或删除。
④组成员:将该组作为辅助组的成员列表。
5.useradd 用户创建
-u uid username 创建用户时指定uid(如不指定则Centos:500-60000, Centos7: 1000-60000)
-o -u uid username 创建用户时指定uid(可以与已存在用户的uid相同)
-g groupname username 创建用户时指定主组为某个已存在的组。(将不会再创建与用户同名的组)
-c … username 创建用户时指定描述信息。 chfn … username
-d path username 指定用户的家目录(确保指定的家目录所在的上级目录要存在,且家目录本身不能存在)
-s /sbin/nologin username 指定用户的默认shell
-G group1[,group2] username 指定用户的辅助组
-N username 设置用户的主要组为默认组(users,uid=100)
-r username 创建系统用户
手动建一个家目录
(1)建一个没有路径的家目录
(2)在root下创建这个目录
(3)把该目录的所有人所有组权限设为用户的
(4)进入该用户,把/etc/skel/模板cp到用户家目录 cp -a /etc/skel/.[^.]* .
6.usermod
usermod -l newname oldname 修改用户名
-L 给用户/etc/shadow中的密码位加!使用户被锁定
-U 把!拿掉 需给用户再加个密码 -p (加密字串)
-u newuid username 修改用户的UID
-o -u newuid username 修改用户的uid(可以与已存在用户的uid相同)
-c … username 修改用户时指定描述信息。
-d /…/path username 修改用户的家目录(不会创建,只修改/etc/passwd当中的家目录信息) 或 chfn … username
-m -d /…/path username 修改用户的家目录信息,并将家目录移动到目的目录并改名
-s /sbin/nologin username 修改用户的默认shell
-g groupname username 修改用户的主组和辅助组都为groupname
-aG 加组名,可以追加辅助组而不用覆盖之前的组
-G “” username 或 usermod -G primarygroup username 清空用户所有的辅助组
-e yyyy-mm-dd 设置一个帐户过期时间
-f days 指定密码过期之后多少天帐户过期
7.userdel [-r] username
删除用户时,加上-r连同其家目录,mail一同删除
不加 -r 用户的家目录和mail不删除 ls -a /home查看用户的家目录 ls -l /var/spool/mail查看用户的mai
8.passwd chage功能类似
-l:锁定指定用户
-u:解锁指定用户 需给用户加密码 -f强制解锁
-e:强制用户下次登录修改密码
-n mindays: 指定最短使用期限
-x maxdays:最大使用期限
-w warndays:提前多少天开始警告
-i inactivedays:非活动期限
echo “PASSWORD” | passwd –stdin USERNAME 修改用户的密码为“”,常用于脚本
9. groupadd [OPTION]… group_name 创建组
-g gid groupname 创建指定gid的组
-r groupname 创建系统组
groupmod [OPTION]… group 修改组
-n newgrpname oldgrpname 修改组名
-g newgid groupname 修改gid
groupdel groupname 删除组
10.gpasswd [OPTION] GROUP 更改组密码
(只有root有权限)任命管理员: gpasswd -A xiaoqiao,luren admin
撤消所有管理员:gpasswd -A “” admin
(root和管理员都有的权限) gpasswd -a libai admin 往组中增加用户
gpasswd -d libai admin 将用户从组中删除
gpasswd -r admin 删除组密码
passwd -R admin 限制非辅助组用户可以通过newgrp admin获取主组权限。当前密码被删除替换为!
gpasswd -M redhat,libai admin 设置辅助组的成员列表。
groupmems 更改和查看组成员
(只有root) groupmems -g admin -a libai (仅能一次加一个用户到组中)
groupmems -g admin -d libai 将指定成员从组中删除
groupmems -g admin -l 列出指定组的成员列表(辅助组)
groupmems -g admin -p 消除指定组的所有成员(包括管理员和组员)。
11.id 只输id 查看当时临时登录id信息
id username 查看修改后的id信息
-u 显示UID
-un [-gn] 显示名称
-g 显示GID
su switch user
root su 至其他用户无须密码;非root用户切换时需要密码
su username 非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录
su – username 登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换
su [-] uername -c ‘command’ 以用户的身份执行命令而不登录
有 什 么 错 误 请 大 家 指 教!
原创文章,作者:along,如若转载,请注明出处:http://www.178linux.com/82223