修改用户密码有效期命令:chage
cgage命令语法格式:
chage [选项] [用户名]
参数:
-d 设置上一次密码更改的日期
-E 用户过期的日期
-I 设置密码过期多少天后禁用账户
-1 显示用户有效期信息
-m 密码可更改的最小天数。默认为0,表示任何时候都可以更改密码
-M 密码保持有效的最大天数
-W 密码到期前,提前收到警告信息的天数
使用范例:
[root@oldboyedu ~]# chage -l oldboy #<===-1参数查看用户的信息
Last password change : Oct 07, 2020 #<==最后一次密码变化时间
Password expires : never #<===密码过期时间为60天
Password inactive : never #<===密码停权时间
Account expires : Oct 01, 2020 #<===用户过期时间
Minimum number of days between password change : 0 #<===-m选项可控制该行
Maximum number of days between password change : 99999#<===-M选项可控制该行
Number of days of warning before password expires : 7 #<===-W选项可控制该行
范例14-17:创建新用户range,要求该用户7天内不能更改密码,
60天以后必须修改密码,过期前10天通知用户,过期后30天后禁止用户登录。
chage -m7 -M60 -W10 -I30 oldboy#<===使用-1按题意授权
范例14-17:创建新用户range,要求该用户7天内不能更改密码,
60天以后必须修改密码,过期前10天通知用户,过期后30天后禁止用户登录。
chage -m7 -M60 -W10 -I30 oldboy
[root@oldboyedu ~]# chage -l oldboy#<===-1参数查看用户的信息
Last password change : Oct 07, 2020#<==最后一次密码变化时间
Password expires : never#<===密码过期时间为60天
Password inactive : never#<===密码停权时间
Account expires : Oct 01, 2020#<===用户过期时间
Minimum number of days between password change : 0#<===-m选项可控制该行
Maximum number of days between password change : 99999#<===-M选项可控制该行
Number of days of warning before password expires : 7#<===-W选项可控制该行
You have new mail in /var/spool/mail/root
Linux用户身份切换命令su
[root@oldboyedu ~]# su - oldboy -c pwd#<===切换到oldboy用户,再查看路径
/home/oldboy
[root@oldboyedu ~]# su - oldboy -c whoami #<===查看用户
oldboy
su命令用法:
su [选项] [用户名]
1、先登录普通用户,没事不允许登录root。
只有执行的任务需要root权限的时候才允许你登录root。
系统维护通道。
用su管理,必须知道root密码,安全隐患。
10个运维,都得知道root密码,安全隐患。
需求:
1、不用知道root密码还能管理服务器。
2、最小化管理服务器,想关机,就只给你halt权限。
sudo命令:
可以以最小化的权限(单个命令),执行命令时拥有root用户的权限
SUID 针对命令,任何用户执行命令都有root身份。 任何用户执行某个命令:模糊
SUDO 针对用户,给某个用户以root身份执行某个命令。指定用户执行某个命令:具体。
如何编辑配置sudo?
sudo是一个提权的命令(对应权限通过读取/etc/sudoers(严格语法)文件实现的)
配置/etc/sudoers可以使用visudo命令,或vim /etc/sudoers(不推荐)
[oldboy@oldboyedu ~]$ ls /root
ls: cannot open directory /root: Permission denied
完成上面的动作。
给oldboy用户,针对ls设置权限。
visudo进入编辑状态,100G
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
oldboy ALL=(ALL) /usr/bin/ls,/bin/cp #<===增加一行
用户 主机=(角色) 命令
注意:
1、路径要全路径:
which cp查
2、不要vim /etc/sudoers编辑,如果非要用编辑完visudo -c检查语法
oldboy是管理员,并且不要密码:
oldboy ALL=(ALL) NOPASSWD: ALL
登录后切到root运行。
[oldboy@oldboyedu ~]$ sudo su - root
Last login: Tue Mar 26 10:32:57 CST 2019 on pts/3
[root@oldboyedu ~]#
为了安全禁止root远程连接linux。
工作中如何登录?使用普通用户登录然后利用sudo提权到root。
Wecomle to oldboy training 58期。
[oldboy@oldboyedu ~]$ whoami
oldboy
[oldboy@oldboyedu ~]$ sudo ls /root
a.txt c.txt data1 etc oldboy oldboy_b oldboy_soft_link pass test.txt user.log
b.txt d d.txt grep.txt oldboy_1.txt oldboyedu.txt oldboy.txt test test.txt.ori
[oldboy@oldboyedu ~]$
[oldboy@oldboyedu ~]$
[oldboy@oldboyedu ~]$ sudo su -
Last login: Tue Mar 26 11:42:09 CST 2019 on pts/0
[root@oldboyedu ~]#
[root@oldboyedu ~]# su - oldboy
Last login: Tue Mar 26 10:44:08 CST 2019 on pts/3
[oldboy@oldboyedu ~]$ ls /root
ls: cannot open directory /root: Permission denied
[oldboy@oldboyedu ~]$ sudo -l
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for oldboy:
Matching Defaults entries for oldboy on oldboyedu:
User oldboy may run the following commands on oldboyedu:
(ALL) /bin/ls
[oldboy@oldboyedu ~]$ sudo ls /root
a.txt c.txt data1 etc oldboy oldboy_b oldboy_soft_link pass test.txt user.log
b.txt d d.txt grep.txt oldboy_1.txt oldboyedu.txt oldboy.txt test test.txt.ori
[oldboy@oldboyedu ~]$ ls /root
ls: cannot open directory /root: Permission denied
[oldboy@oldboyedu ~]$