目录
配置文件类型 | 配置文件路径 |
---|---|
全局配置 | /etc/profile |
/etc/profile.d/*.sh | |
/etc/bashrc | |
个人配置 | ~/.bash_profile |
~/.bashrc |
配置文件类型 功能
profile类 为交互式登录的shell提供配置,用来设定环境变量、运行命令或脚本
bashrc类 为非交互式登录的shell提供配置,用来设定本地变量、定义命令别名
用户组类别 | 特性 |
---|---|
私有组 | 创建用户时,如果没有为其指定所属的组, |
系统会自动为其创建一个与用户名相同的组 | |
基本组 | 用户的默认组 |
附加组(额外组) | 默认组以外的其它组 |
配置文件 | 作用 |
---|---|
/etc/passwd | 用户及其属性信息(名称、uid、基本组id等等) |
/etc/group | 组及其属性信息 |
/etc/shadow | 用户密码及其相关属性 |
/etc/gshadow | 组密码及其相关属性。在用户执行基本组切换时使用 |
配置文件 | /etc/passwd | /etc/group |
---|---|---|
第一字段 | 用户名 | 组名 |
第二字段 | 密码占位符 | 组密码 |
第三字段 | UID | GID |
第四字段 | GID | 以当前组为附加组的用户列表(分隔符为逗号) |
第五字段 | 用户的描述信息 | |
第六字段 | 用户家目录 | |
第七字段 | 用户的登录shell |
配置文件 | /etc/shadow |
---|---|
第一字段 | 登录名 |
第二字段 | 加密后的密码 |
第三字段 | 最近一次更改密码的日期 |
第四字段 | 密码的最小使用期限 |
第五字段 | 密码的最大使用期限 |
第六字段 | 密码警告时间段 |
第七字段 | 密码禁用期 |
第八字段 | 帐号的过期日期 |
第九字段 | 保留字段 |
[root@hostnamectl ~]# useradd tianxiadiyi
[root@hostnamectl ~]# tail -1 /etc/passwd
tianxiadiyi:x:1006:1006::/home/tianxiadiyi:/bin/bash
[root@hostnamectl ~]# tail -1 /etc/group
guilai:x:1005:
[root@hostnamectl ~]# useradd -u 1005 -g 1005 -G root -c "my world" -d /home/world -s /bin/bash guilai
[root@hostnamectl ~]# tail -1 /etc/passwd
guilai:x:1005:1005:my world:/home/world:/bin/bash
hostnamectl ~]# groupadd -g 1008 xiaobai
[root@hostnamectl ~]# grep xiaobai /etc/group
xiaobai:x:1008:
[root@hostnamectl ~]# id guilai
uid=1005(guilai) gid=1005(guilai) 组=1005(guilai),0(root)
[root@hostnamectl ~]# userdel tianxiadiyi
[root@hostnamectl ~]# id tianxiadiyi
id: tianxiadiyi: no such user
[root@hostnamectl ~]# grep xiaobai /etc/group
xiaobai:x:1008:
[root@hostnamectl ~]# groupdel xiaobai
[root@hostnamectl ~]# grep xiaobai /etc/group
[root@hostnamectl ~]#
[root@hostnamectl ~]# usermod -u 10002 guilai
[root@hostnamectl ~]# id guilai
uid=10002(guilai) gid=1005(guilai) 组=1005(guilai),0(root)
[root@hostnamectl ~]# usermod -g 1007 guilai
[root@hostnamectl ~]# id guilai
uid=10002(guilai) gid=1007(tianxaidiyi) 组=1007(tianxaidiyi),0(root)
[root@hostnamectl ~]# grep swordsman /etc/group
swordsman:x:1008:
[root@hostnamectl ~]# usermod -a -G 1008 guilai
[root@hostnamectl ~]# id guilai
uid=10002(guilai) gid=1007(tianxaidiyi) 组=1007(tianxaidiyi),0(root),1008(swordsman)
[root@hostnamectl ~]# id guilai
uid=10002(guilai) gid=1007(tianxaidiyi) 组=1007(tianxaidiyi),1008(swordsman)
[root@hostnamectl ~]# usermod -d /opt/world guilai
[root@hostnamectl ~]# grep guilai /etc/passwd
guilai:x:10002:1007:my world:/opt/world:/bin/bash
[root@hostnamectl ~]# mkdir -p /opt/world/abc
[root@hostnamectl ~]# usermod -d /home/guilai -m guilai
[root@hostnamectl ~]# grep guilai /etc/passwd
guilai:x:10002:1007:my world:/home/guilai:/bin/bash
[root@hostnamectl ~]# ls /home/
guilai/ world/
[root@hostnamectl ~]# ls /home/guilai/
abc
[root@hostnamectl ~]# grep guilai /etc/shadow
guilai:$6$8xpOiM55$1rmh9cE7t3ttiDvG.P5SUlcVBoaO29J48Np1pjwDHaemQN.OTuIwjQn9Fi0/.dEivY8J7XkWRvsCJddHvMeII0:18158:0:99999:7:::
[root@hostnamectl ~]# grep guilai /etc/shadow
guilai:!$6$8xpOiM55$1rmh9cE7t3ttiDvG.P5SUlcVBoaO29J48Np1pjwDHaemQN.OTuIwjQn9Fi0/.dEivY8J7XkWRvsCJddHvMeII0:18158:0:99999:7:::
[root@hostnamectl ~]# usermod -U guilai
[root@hostnamectl ~]# grep guilai /etc/shadow
guilai:$6$8xpOiM55$1rmh9cE7t3ttiDvG.P5SUlcVBoaO29J48Np1pjwDHaemQN.OTuIwjQn9Fi0/.dEivY8J7XkWRvsCJddHvMeII0:18158:0:99999:7:::
[root@hostnamectl ~]# usermod -s /bin/sh guilai
[root@hostnamectl ~]# grep guilai /etc/passwd
guilai:x:10002:1007:my world:/home/guilai:/bin/sh
[root@hostnamectl ~]# grep Hermit /etc/group
Hermit:x:1010:
[root@hostnamectl ~]# groupmod -n Devil Hermit
[root@hostnamectl ~]# grep Devil /etc/group
Devil:x:1010:
切换用户的方式 | 特点 |
---|---|
su USERNAME | 非登录式切换,即不会读取目标用户的配置文件 |
su - USERNAME | 登录式切换,即会读取目标用户的配置文件。完全切换 |
su - | 不指定用户时默认切换至root用户 |
配置文件类型 | 功能 |
---|---|
profile类 | 为交互式登录的shell提供配置,用来设定环境变量、运行命令或脚本 |
bashrc类 | 为非交互式登录的shell提供配置,用来设定本地变量、定义命令别名 |
root su至其他用户不需要密码,非root用户su至其他用户时需要输入目标用户的密码
[root@hostnamectl ~]# su - guilai
上一次登录:四 9月 19 17:50:54 CST 2019pts/0 上
[guilai@hostnamectl ~]$ pwd
/home/guilai
[root@hostnamectl ~]# su guilai
[guilai@hostnamectl root]$ pwd
/root
不指定用户时默认切换至root用户
-c ‘COMMAND‘ 切换身份执行命令,命令执行结束后又回到原来的身份
[root@hostnamectl ~]# su - doom -c 'touch a'
[root@hostnamectl ~]# ls /home/doom/
a
[root@hostnamectl ~]# passwd guilai
更改用户 guilai 的密码 。
新的 密码:
[root@hostnamectl ~]# echo '123' |passwd --stdin guilai
更改用户 guilai 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@hostnamectl ~]# passwd -n 10 guilai
调整用户密码老化数据guilai。
passwd: 操作成功
[root@hostnamectl ~]# passwd -x 1000 guilai
调整用户密码老化数据guilai。
passwd: 操作成功
[root@hostnamectl ~]# grep guilai /etc/shadow
guilai:$6$tzRXztt8$V/dBaNOSefO.NwdL1.Rwqg2CnhSsrTlL.PlmJ2F/mY3CimCxzDeJ2m2qiWEfMbFyb4uPdSFr0aOZ3iJBV/h5H.:18158:10:1000:7:::
[root@hostnamectl ~]# passwd -w 970 guilai
调整用户密码老化数据guilai。
passwd: 操作成功
[root@hostnamectl ~]# grep guilai /etc/shadow
guilai:$6$tzRXztt8$V/dBaNOSefO.NwdL1.Rwqg2CnhSsrTlL.PlmJ2F/mY3CimCxzDeJ2m2qiWEfMbFyb4uPdSFr0aOZ3iJBV/h5H.:18158:10:1000:970:::
[root@hostnamectl ~]# passwd -i 30 guilai
调整用户密码老化数据guilai。
passwd: 操作成功
[root@hostnamectl ~]# passwd -i 30 guilai
调整用户密码老化数据guilai。
passwd: 操作成功
[root@hostnamectl ~]# chage -l guilai
最近一次密码修改时间 :9月 19, 2019
密码过期时间 :6月 15, 2022
密码失效时间 :7月 15, 2022
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :10
两次改变密码之间相距的最大天数 :1000
在密码过期之前警告的天数 :970
[root@hostnamectl ~]# chage -d 2019-09-20 guilai
[root@hostnamectl ~]# chage -l guilai
最近一次密码修改时间 :9月 20, 2019 // 最近一次修改密码时间
密码过期时间 :6月 16, 2022
密码失效时间 :7月 16, 2022
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :10
两次改变密码之间相距的最大天数 :1000
在密码过期之前警告的天数 :970
用户第一次登陆就要改密码
[root@hostnamectl ~]# chage -d 0 guilai
[root@hostnamectl ~]# chage -l guilai
最近一次密码修改时间 :密码必须更改
密码过期时间 :密码必须更改
密码失效时间 :密码必须更改
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :10
两次改变密码之间相距的最大天数 :1000
在密码过期之前警告的天数 :970
[root@hostnamectl ~]# chage -E 2019-09-30 guilai
[root@hostnamectl ~]# chage -l guilai
最近一次密码修改时间 :9月 20, 2019
密码过期时间 :6月 16, 2022
密码失效时间 :7月 16, 2022
帐户过期时间 :9月 30, 2019 //过期时间
两次改变密码之间相距的最小天数 :10
两次改变密码之间相距的最大天数 :1000
在密码过期之前警告的天数 :970
[root@hostnamectl ~]# chage -l guilai
最近一次密码修改时间 :9月 20, 2019
密码过期时间 :6月 16, 2022
密码失效时间 :7月 17, 2022 //密码失效时间
帐户过期时间 :9月 30, 2019
两次改变密码之间相距的最小天数 :10
两次改变密码之间相距的最大天数 :1000
在密码过期之前警告的天数 :970
[root@hostnamectl ~]# chage -m 7 guilai
[root@hostnamectl ~]# chage -l guilai
最近一次密码修改时间 :9月 20, 2019
密码过期时间 :6月 16, 2022
密码失效时间 :7月 17, 2022
帐户过期时间 :9月 30, 2019
两次改变密码之间相距的最小天数 :7 //最短使用期限
两次改变密码之间相距的最大天数 :1000
在密码过期之前警告的天数 :970
[root@hostnamectl ~]# chage -M 100 guilai
[root@hostnamectl ~]# chage -l guilai
最近一次密码修改时间 :9月 20, 2019
密码过期时间 :12月 29, 2019
密码失效时间 :1月 29, 2020
帐户过期时间 :9月 30, 2019
两次改变密码之间相距的最小天数 :7
两次改变密码之间相距的最大天数 :100
在密码过期之前警告的天数 :970 //最长使用期限
[root@hostnamectl ~]# chage -W 60 guilai
[root@hostnamectl ~]# chage -l guilai
最近一次密码修改时间 :9月 20, 2019
密码过期时间 :12月 29, 2019
密码失效时间 :1月 29, 2020
帐户过期时间 :9月 30, 2019
两次改变密码之间相距的最小天数 :7
两次改变密码之间相距的最大天数 :100
在密码过期之前警告的天数 :60 //警告时间
openssl command [ command_opts ] [ command_args ]
[root@hostnamectl ~]# openssl dgst -md5 /etc/fstab
MD5(/etc/fstab)= cfd02cb5d1c01774a7284abc7a887f24
[root@hostnamectl ~]# openssl passwd -1 -salt asdfghjk
Password:
$1$asdfghjk$k5FsdUb517DwcRnATU3hK.
[root@hostnamectl ~]# openssl rand -base64 10
g2nSOFq1x35ABA==
doom:x:1021:
[root@hostnamectl ~]# gpasswd doom
正在修改 doom 组的密码
新密码:
请重新输入新密码:
[root@hostnamectl ~]# gpasswd -a guilai doom
正在将用户“guilai”加入到“doom”组中
[root@hostnamectl ~]# gpasswd -d guilai doom
正在将用户“guilai”从“doom”组中删除
[root@hostnamectl ~]# gpasswd -r doom
[root@hostnamectl ~]# gpasswd doom
正在修改 doom 组的密码
新密码:
请重新输入新密码:
[guilai@hostnamectl ~]$ id
uid=1020(guilai) gid=1007(tianxaidiyi) 组=1007(tianxaidiyi),1008(swordsman) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@hostnamectl ~]# su - guilai
上一次登录:四 9月 19 19:36:49 CST 2019pts/0 上
[guilai@hostnamectl ~]$ newgrp doom
密码:
uid=1020(guilai) gid=1021(doom) 组=1021(doom),1007(tianxaidiyi),1008(swordsman) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[guilai@hostnamectl ~]$
原文:https://www.cnblogs.com/guilai/p/11552115.html