2018.8.2 课堂笔记

3.1 用户配置文件和密码配置文件

用户在系统中的存储方式

/etc/passwd

用户信息文件:

用户名称:密码:uid:gid:说明:家目录:默认shell 

etc/shadow 认证信息文件 (其余见预习笔记)

3.2 用户组配置文件

/etc/group

3.3 用户管理

创建用户:useradd uuu

删除用户:userdel uuu

3.4 更改用户的基本信息:

[root@lgs-01 ~]# usermod 用法:usermod [选项] 登录  选项:   -c, --comment 注释            GECOS 字段的新值   -d, --home HOME_DIR           用户的新主目录   -e, --expiredate EXPIRE_DATE  设定帐户过期的日期为 EXPIRE_DATE   -f, --inactive INACTIVE       过期 INACTIVE 天数后,设定密码为失效状态   -g, --gid GROUP               强制使用 GROUP 为新主组   -G, --groups GROUPS           新的附加组列表 GROUPS   -a, --append GROUP            将用户追加至上边 -G 中提到的附加组中,                                 并不从其它组中删除此用户   -h, --help                    显示此帮助信息并推出   -l, --login LOGIN             新的登录名称   -L, --lock                    锁定用户帐号   -m, --move-home               将家目录内容移至新位置 (仅于 -d 一起使用)   -o, --non-unique              允许使用重复的(非唯一的) UID   -p, --password PASSWORD       将加密过的密码 (PASSWORD) 设为新密码   -R, --root CHROOT_DIR         chroot 到的目录   -s, --shell SHELL             该用户帐号的新登录 shell   -u, --uid UID                 用户帐号的新 UID-U, --unlock                  解锁用户帐号   -Z, --selinux-user  SEUSER       用户账户的新 SELinux 用户映射

修改用户的所属组:usermod -g 组名 用户名

[root@lgs-01 ~]# id abcuid=1001(abc) gid=1001(abc) 组=1001(abc)[root@lgs-01 ~]# usermod -g lgs abc[root@lgs-01 ~]# id abcuid=1001(abc) gid=1000(lgs) 组=1000(lgs)

增加用户的附加组:-G

[root@lgs-01 ~]# id abcuid=1001(abc) gid=1000(lgs) 组=1000(lgs)[root@lgs-01 ~]# usermod -G abc abc[root@lgs-01 ~]# id abcuid=1001(abc) gid=1000(lgs) 组=1000(lgs),1001(abc)

修改用户的uid:-u

[root@lgs-01 ~]# id lgsuid=1000(lgs) gid=1001(abc) 组=1001(abc),1000(lgs)[root@lgs-01 ~]# usermod -G abc abc[root@lgs-01 ~]# id lgsuid=1008(lgs) gid=1001(abc) 组=1001(abc),1000(lgs)

锁定用户:-L

[root@lgs-01 ~]# usermod -L abc[root@lgs-01 ~]# su - lgs 上一次登录:二 4月  3 21:49:01 CST 2018pts/0 上 [lgs@lgs-01 ~]$ su - abc 密码: su: 鉴定故障 [root@lgs-01 ~]# tail -3 /etc/shadowchrony:!!:17610::::::lgs:!!:17619:0:99999:7:::abc:!$6$XoIK9B3k$jHl6YSoOPPZxgcRD2cNLaf2aBrSVetbEmfmHtWLLzQsdikx9L1kJua9aCur3EiOsGn1de7XZp8DI5rEiQ.BQD/:17624:0:99999:7:::

解锁用户:-U

[root@lgs-01 ~]# usermod -U abc[root@lgs-01 ~]# tail -3 /etc/shadowchrony:!!:17610::::::lgs:!!:17619:0:99999:7:::abc:$6$XoIK9B3k$jHl6YSoOPPZxgcRD2cNLaf2aBrSVetbEmfmHtWLLzQsdikx9L1kJua9aCur3EiOsGn1de7XZp8DI5rEiQ.BQD/:17624:0:99999:7::: [root@lgs-01 ~]# su - lgs 上一次登录:二 4月  3 21:50:02 CST 2018pts/0 上 [lgs@lgs-01 ~]$ su - abc 密码: 上一次登录:二 4月  3 21:49:52 CST 2018pts/0 上 最后一次失败的登录:二 4月  3 21:50:24 CST 2018pts/0 上 最有一次成功登录后有 2 次失败的登录尝试。

3.5用户密码管理

passwd命令:修改用户密码

[root@lgs-01 ~]# passwd abc更改用户 abc 的密码 。 新的 密码: 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。

锁定用户密码:-l

[root@lgs-01 ~]# passwd -l abc锁定用户 abc 的密码 。passwd: 操作成功 [root@lgs-01 ~]# su - lgs 上一次登录:二 4月  3 21:52:48 CST 2018pts/0 上 [lgs@lgs-01 ~]$ su - abc 密码: su: 鉴定故障 [lgs@lgs-01 ~]$ 登出 [root@lgs-01 ~]# tail -3 /etc/shadowchrony:!!:17610::::::lgs:!!:17619:0:99999:7:::abc:!!$6$BxRGlSVL$w7ZJ9yVpcf2ysyV4O5kHvF6Gwof.j5C37z/IYmwZ5y30VQmX5fATjTaPL5mITRKbydhCr192o/3mnhUnpd2c1.:17624:0:99999:7:::

解锁用户密码:-u

[root@lgs-01 ~]# passwd -u abc解锁用户 abc 的密码。passwd: 操作成功 [root@lgs-01 ~]# su - lgs 上一次登录:二 4月  3 21:58:51 CST 2018pts/0 上 [lgs@lgs-01 ~]$ su - abc 密码: 上一次登录:二 4月  3 21:57:37 CST 2018pts/0 上 最后一次失败的登录:二 4月  3 21:59:38 CST 2018pts/0 上 最有一次成功登录后有 3 次失败的登录尝试。 [root@lgs-01 ~]# tail -3 /etc/shadowchrony:!!:17610::::::lgs:!!:17619:0:99999:7:::abc:$6$BxRGlSVL$w7ZJ9yVpcf2ysyV4O5kHvF6Gwof.j5C37z/IYmwZ5y30VQmX5fATjTaPL5mITRKbydhCr192o/3mnhUnpd2c1.:17624:0:99999:7:::

修改用户密码:--stdin 只输入一次新密码。 shell脚本中常用

[root@lgs-01 ~]# passwd --stdin abc更改用户 abc 的密码 。12345678passwd:所有的身份验证令牌已经成功更新。

[root@lgs-01 ~]# echo "11220055" |passwd --stdin lgs更改用户 lgs 的密码 。 passwd:所有的身份验证令牌已经成功更新。 [root@lgs-01 ~]# su - abc 上一次登录:二 4月  3 22:05:50 CST 2018pts/0 上 [abc@lgs-01 ~]$ su - lgs 密码: 上一次登录:二 4月  3 22:05:38 CST 2018pts/0 上

另外一种修改密码方法:

[root@lgs-01 ~]# echo -e "1122334455\n1122334455"11223344551122334455[root@lgs-01 ~]# echo -e "1122334455\n1122334455" |passwd lgs更改用户 lgs 的密码 。 新的 密码:无效的密码: 密码未通过字典检查 - 它基于字典单词 重新输入新的 密码:passwd:所有的身份验证令牌已经成功更新。

3.6 mkpasswd

# yum intstall -y expect  # 安装工具 # mkpasswd \vw1SG3wf                   # 默认长度9 # mkpasswd -l 12 ooWpxgm4c)1Q                # 指定长度12 # mkpasswd -l 12 -s 4ht>3^!d<PB9c                # 指定长度12,指定特殊符号4  # 简单说明 # mkpasswd -l(长度) 12 -s(字符) 4 -C(大写) 1 -c(小写) 1 -d(数字) 1

3.7 su命令

[root@jimmylinux-002 ~]# su - jimmy    su命令是切换用户使用的,在这里加一个“-”表示彻底切换到jimmy用户下包括自己的配置和环境变量,就在自己的家目录。

[root@jimmylinux-002 ~]# su - -c "touch /tmp/jimmy.111" jimmy    以指定用户的身份执行一条命令

[root@jimmylinux-002 ~]# ls -lt /tmp/ |head    使用此命令可以查看是否有执行成功

在普通用户下在切换到其他用户,按理说应该在user5家目录中,因为没有相应的配置文件,所以显示不正常。

既然缺少user5家目录,那么就重新创建一个user5的家目录出来。

[root@jimmylinux-002 ~]# mkdir /home/user5

[root@jimmylinux-002 ~]# chown user5:user5 /home/user5/

拷贝.bash文件到user5的家目录,这样就可以显示正常了。

普通用户显示为$符号,root用户显示为#符号。

3.8 sudo

让普通用户临时拥有指定用户去执行一条命令获得权限

[root@jimmylinux-002 ~]# visudo    直接添加如下内容,让jimmy用户拥有root权限,同时可以执行ls、mv、cat命令。 

使用方法同vi命令,按i进入编辑内容,ESC取消编辑,然后:wq保存修改并退出编辑状态。

提示刚才的操作有问题,第93行语法错误,按e键回车进入重新修改,可以输入:set nu显示行数信息。

/usr/bin/ls, /usr/bin/mv, /usr/bin/cat    需要修改成绝对路径才能够正常使用

修改完成后切换成jimmy用户,在运行ls /root/就会提示无法打开目录,权限不够。

 sudo /usr/bin/ls /root/    检验sudo的作用,可以将普通用户临时授予root权限,可以操作指定的一些命令。

同样可以给user5授予相同的权限,但是切换用户时还需要输入密码比较麻烦,添加这个参数就可以免密登录。

user5   ALL=(ALL)      NOPASSWD: /usr/bin/ls, /usr/bin/mv, /usr/bin/cat

[root@jimmylinux-002 ~]# su - suer5    切换user5

[user5@jimmylinux-002 ~]$ ls /root/    直接输入ls /root/ 提示权限不够

ls: 无法打开目录/root/: 权限不够

[user5@jimmylinux-002 ~]$ sudo /usr/bin/ls /root/    sudo命令即可顺利执行

11 1.txt 33.txt anaconda-ks.cfg a.txt

在visudo里面也可以设置命令别名

Cmnd_Alias JIMMY_CMD = /usr/bin/ls, /usr/bin/mv, /usr/bin/cat

在visudo里面还可以设置用户组,比如把多个用户放到wheel一个组里面,相同组里面的用户名都可以执行授予的命令。

3.9 限制root远程登录

如果密码过于简单,容易被别人猜到,过于复杂自己也可能会忘记,为了安全起见,防止别人拿到密码通过root远程登录。

创建一个user alias,同时设置一个规则免密执行su命令登录root

如果要限制root远程登录,输入vi /etc/ssh/sshd_config 修改成PermitRootLogin no 保存退出,重启systemctl restart sshd.service 服务。

[root@jimmylinux-002 ~]# vi /etc/ssh/sshd_config 

[root@jimmylinux-002 ~]# systemctl restart sshd.service

这个时候再重新连接,已经无法登录root用户,包括输入root密码也一样。(说明已经限制root远程登录)

打开putty终端以普通用户登录,然后执行sudo su - root可以直接免密登录到root用户。

重新输入vi /etc/ssh/sshd_config 还原配置文件并重启服务即可恢复root远程登录

3.9 限制root远程登录

如果密码过于简单,容易被别人猜到,过于复杂自己也可能会忘记,为了安全起见,防止别人拿到密码通过root远程登录。

创建一个user alias,同时设置一个规则免密执行su命令登录root

如果要限制root远程登录,输入vi /etc/ssh/sshd_config 修改成PermitRootLogin no 保存退出,重启systemctl restart sshd.service 服务。

[root@jimmylinux-002 ~]# vi /etc/ssh/sshd_config 

[root@jimmylinux-002 ~]# systemctl restart sshd.service

这个时候再重新连接,已经无法登录root用户,包括输入root密码也一样。(说明已经限制root远程登录)

打开putty终端以普通用户登录,然后执行sudo su - root可以直接免密登录到root用户。

重新输入vi /etc/ssh/sshd_config 还原配置文件并重启服务即可恢复root远程登录

猜你喜欢

转载自blog.csdn.net/qq_33488321/article/details/81396064