赞
踩
用户自己给自己设置密码直接passwd
root用户给普通用户设置密码passwd 用户名。
–stdin 从标准输入获取信息
[root@oldboy ~]# echo 123456|passwd --stdin oldboy
更改用户 oldboy 的密码 。
passwd:所有的身份验证令牌已经成功更新。
for n in {01..10}
do
useradd oldboy$n
done
把用户和密码用冒号分割,然后放入文件里。
[root@oldboy ~]# vim user.list
oldboy01:01
oldboy02:02
oldboy03:03
oldboy04:04
oldboy05:05
批量设置密码命令:
chpasswd <user.list #不好用。
cat user.list|chpasswd #好用
su - oldboy02,然后在切入到其他用户测试。
扩展技术:后期细讲,此处可忽略
批量【生成】用户名和密码文件列表;
[root@oldboy ~]# seq -w 10|sed -rn 's#(.*)#oldboy\1:\1#gp' >user.list
[root@oldboy ~]# cat user.list
oldboy01:01
oldboy02:02
oldboy03:03
oldboy04:04
oldboy05:05
oldboy06:06
oldboy07:07
oldboy08:08
oldboy09:09
oldboy10:10
批量【设置】用户和密码列表;
[root@oldboy ~]# seq -w 10|sed -rn 's#(.*)#useradd oldboy\1;echo \1|passwd --stdin oldboy\1#gp'
useradd oldboy01;echo 01|passwd --stdin oldboy01
useradd oldboy02;echo 02|passwd --stdin oldboy02
useradd oldboy03;echo 03|passwd --stdin oldboy03
useradd oldboy04;echo 04|passwd --stdin oldboy04
useradd oldboy05;echo 05|passwd --stdin oldboy05
useradd oldboy06;echo 06|passwd --stdin oldboy06
useradd oldboy07;echo 07|passwd --stdin oldboy07
useradd oldboy08;echo 08|passwd --stdin oldboy08
useradd oldboy09;echo 09|passwd --stdin oldboy09
useradd oldboy10;echo 10|passwd --stdin oldboy10
[root@oldboy ~]# seq -w 10|sed -rn 's#(.*)#useradd oldboy\1;echo \1|passwd --stdin oldboy\1#gp'|bash
通过nodepad++批量生成用户名,
按住ALT,然后将光标第1行拉倒第10行,然后输入oldboy,
然后按住alt+c,设置生成数字序列
oldboy1
oldboy2
oldboy3
oldboy4
oldboy5
oldboy6
oldboy7
oldboy8
oldboy9
-l 查看用户和更改密码属性
[root@oldboy ~]# chage -l oldboy
最近一次密码修改时间 :6月 30, 2030
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :99999
在密码过期之前警告的天数 :7
-e “” 设定账户过期时间。
useradd -e “2040/5/20” oldboy11
[root@oldboy ~]# useradd -e "2040/5/20" oldboy11
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
正在创建信箱文件: 文件已存在
[root@oldboy ~]# chage -l oldboy11
最近一次密码修改时间 :6月 30, 2030
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :5月 20, 2040 =========================账户过期时间
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :99999
在密码过期之前警告的天数 :7
chage -E “2041/6/30” oldboy11
[root@oldboy ~]# chage -E "2041/6/30" oldboy11
[root@oldboy ~]# chage -l oldboy11
最近一次密码修改时间 :6月 30, 2030
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :6月 30, 2041
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :99999
在密码过期之前警告的天数 :7
useradd -e和chage -E是一样的。
范例:要求oldgirl用户7天内不能更改密码,60天以后必须修改密码,过期前10天通知用户,过期后30天后禁止用户登录。
修改的文件/etc/shadow
查看 chage -l 用户名
设置方法:2个:
passwd -n 7 -x 60 -w 10 -i 30 oldboy #<==参数含义详见前文表格。
chage -m8 -M61 -W11 -I31 oldboy #<==使用chage按题意要求授权。
[root@oldboy ~]# chage -l oldboy
最近一次密码修改时间 :6月 30, 2030
密码过期时间 :从不
密码失效时间 :从不
帐户过期时间 :从不
两次改变密码之间相距的最小天数 :0
两次改变密码之间相距的最大天数 :99999
在密码过期之前警告的天数 :7
练习修改密码属性(了解)
[root@oldboy ~]# grep -w oldboy /etc/shadow oldboy:$6$V07NxoML$u.O04z4BaVQqosvEDjZfrQPvla19tEKLdoYxqjWpbgng8XQgtdjBS0xUMjtjN2zWBE8XiW5X6820iKPyDBJI00:22095:0:99999:7::: [root@oldboy ~]# passwd -n 7 -x 60 -w 10 -i 30 oldboy 调整用户密码老化数据oldboy。 passwd: 操作成功 [root@oldboy ~]# grep -w oldboy /etc/shadow oldboy:$6$V07NxoML$u.O04z4BaVQqosvEDjZfrQPvla19tEKLdoYxqjWpbgng8XQgtdjBS0xUMjtjN2zWBE8XiW5X6820iKPyDBJI00:22095:7:60:10:30:: [root@oldboy ~]# chage -l oldboy 最近一次密码修改时间 :6月 30, 2030 密码过期时间 :8月 29, 2030 密码失效时间 :9月 28, 2030 帐户过期时间 :从不 两次改变密码之间相距的最小天数 :7 两次改变密码之间相距的最大天数 :60 在密码过期之前警告的天数 :10 [root@oldboy ~]#
groupadd 添加用户组
groupdel 删除用户组
练习:
[root@oldboy ~]# groupadd sa
[root@oldboy ~]# tail -n 1 /etc/group /etc/gshadow
==> /etc/group <==
sa:x:5018:
==> /etc/gshadow <==
sa:!::
[root@oldboy ~]# groupdel sa
[root@oldboy ~]# grep -w sa /etc/group /etc/gshadow
切换用户以及提权管理命令:
su
sudo
su 切换用户角色,从A用户切换到B用户。
su - oldboy # -表示携带用的环境变量切换
显示:root环境变量
[root@oldboy ~]# env|grep root
USER=root
MAIL=/var/spool/mail/root
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
PWD=/root
HOME=/root
LOGNAME=root
练习查看加不加-的区别:
[root@oldboy ~]# su oldboy [oldboy@oldboy root]$ env|grep oldboy HOSTNAME=oldboy USER=oldboy HOME=/home/oldboy LOGNAME=oldboy [oldboy@oldboy root]$ pwd #还是root家目录,这就是没有加-的问题。 /root [oldboy@oldboy root]$ env|grep root PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin MAIL=/var/spool/mail/root PWD=/root [oldboy@oldboy root]$ exit [root@oldboy ~]# su - oldboy 上一次登录:一 7月 1 00:11:41 CST 2030pts/1 上 [oldboy@oldboy ~]$ env|grep root [oldboy@oldboy ~]$ env|grep oldboy HOSTNAME=oldboy USER=oldboy MAIL=/var/spool/mail/oldboy PATH=/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/oldboy/.local/bin:/home/oldboy/bin PWD=/home/oldboy HOME=/home/oldboy LOGNAME=oldboy
第二个参数:
-c 以oldboy用户身份执行命令,然后退回当下用户
[root@oldboy ~]# su - oldboy -c pwd
/home/oldboy
用普通用户登录管理,su - root切换到root管理,拥有了所有权限。
普通用户必须要知道root密码,登录到root,他就可以改了密码,让你登录不上。
适合运维部门人少的时候。
弊端:
1)切换到root
2)拥有所有权限
更规范的管理方法:
不切换到root,在操作命令同时,拥有root权限,一旦操作完成,权限就消失。而且不需要root密码
sudo
sudo配置文件是/etc/sudoers
通过visudo管理sudo配置文件/etc/sudoers
[root@oldboy ~]# ls /etc/sudoers -l
-r--r-----. 1 root root 4328 11月 28 2019 /etc/sudoers
root ALL =(ALL) ALL
用户 主机 切换的角色 执行命令
设置oldboy用户在所有主机上,可以切换到所有角色,执行所有命令。
oldboy ALL =(ALL) ALL
oldboy就相当于root,不是root。
测试1:
[oldboy@oldboy ~]$ useradd bingbing useradd: Permission denied. useradd:无法锁定 /etc/passwd,请稍后再试。 [oldboy@oldboy ~]$ sudo useradd bingbing 我们信任您已经从系统管理员那里了解了日常注意事项。 总结起来无外乎这三点: #1) 尊重别人的隐私。 #2) 输入前要先考虑(后果和风险)。 #3) 权力越大,责任越大。 [sudo] oldboy 的密码: [oldboy@oldboy ~]$ tail -1 /etc/passwd bingbing:x:5018:5018::/home/bingbing:/bin/bash [oldboy@oldboy ~]$ sudo su - root 上一次登录:日 6月 30 22:28:53 CST 2030从 10.0.0.1pts/1 上 [root@oldboy ~]# whoami root
生产管理方法;给用户设置具体的命令。
oldboy ALL =(ALL) /usr/sbin/useradd,/usr/sbin/userdel ##执行命令 越小越具体越好。
#设置粒度,最小是一个命令,允许他执行这个命令时拥有root权限。
[oldboy@oldboy ~]$ rm -fr /root rm: 无法删除"/root": 权限不够 [oldboy@oldboy ~]$ sudo rm -fr /root 对不起,用户 oldboy 无权以 root 的身份在 oldboy 上执行 /bin/rm -fr /root。 [oldboy@oldboy ~]$ rm -fr /root rm: 无法删除"/root": 权限不够 [oldboy@oldboy ~]$ sudo userdel bingbing [oldboy@oldboy ~]$ grep bing /etc/passwd [oldboy@oldboy ~]$ sudo useradd bingbing useradd:警告:此主目录已经存在。 不从 skel 目录里向其中复制任何文件。 正在创建信箱文件: 文件已存在 [oldboy@oldboy ~]$ grep bing /etc/passwd bingbing:x:5018:5018::/home/bingbing:/bin/bash [oldboy@oldboy ~]$ ls /root ls: 无法打开目录/root: 权限不够 [oldboy@oldboy ~]$ sudo ls /root 对不起,用户 oldboy 无权以 root 的身份在 oldboy 上执行 /bin/ls /root。 [oldboy@oldboy ~]$
sudo优点
1)不是root用户,还是自己。
2)指定命令拥有root权限,可以完成管理员分配的任务。
3)不需要root密码。
查看用户信息命令
id
whoami
who
w
查看用户日志
last
lastlog
/var/log/secure 远程登录安全日志
更改文件属性:
更改用户所属用户和组:chown #change owner
更改用户组:chgrp #change group
chown 用户.用户组 文件 #.可以用;替代 更改用户和组
chown 用户 文件 #更改用户
chown .用户组 文件 #更改用户组,等价:chagrp 用户组 文件
前提:用户和组必须要存在。
练习:
[root@oldboy ~]# touch test.txt
[root@oldboy ~]# ls -l test.txt
-rw-r--r--. 1 root root 184 7月 1 01:51 test.txt
[root@oldboy ~]# chown oldboy.oldboy test.txt #更改用户和组为oldboy
[root@oldboy ~]# ls -l test.txt
-rw-r--r--. 1 oldboy oldboy 184 7月 1 01:51 test.txt
[root@oldboy ~]# chown root test.txt #更改用户为root
[root@oldboy ~]# ls -l test.txt
-rw-r--r--. 1 root oldboy 184 7月 1 01:51 test.txt
[root@oldboy ~]# chown .root test.txt
[root@oldboy ~]# ls -l test.txt
-rw-r--r--. 1 root root 184 7月 1 01:51 test.txt
[root@oldboy ~]# chgrp oldboy test.txt
[root@oldboy ~]# ls -l test.txt
-rw-r--r--. 1 root oldboy 184 7月 1 01:51 test.txt
-R参数 递归更改
练习:
[root@oldboy ~]# mkdir abc [root@oldboy ~]# touch abc/{1..3} [root@oldboy ~]# ls -ld ab abc/ ab.txt [root@oldboy ~]# ls -ld abc drwxr-xr-x. 2 root root 33 7月 1 01:54 abc [root@oldboy ~]# ls -l abc 总用量 0 -rw-r--r--. 1 root root 0 7月 1 01:54 1 -rw-r--r--. 1 root root 0 7月 1 01:54 2 -rw-r--r--. 1 root root 0 7月 1 01:54 3 [root@oldboy ~]# chown -R oldboy abc/ [root@oldboy ~]# ls -l abc 总用量 0 -rw-r--r--. 1 oldboy root 0 7月 1 01:54 1 -rw-r--r--. 1 oldboy root 0 7月 1 01:54 2 -rw-r--r--. 1 oldboy root 0 7月 1 01:54 3
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。