Day 26 用户管理

Day  26  用户管理

第1章 回顾 如何彻底关闭iptables    SElinux

1.1 关闭iptables

1.      临时关闭

/etc/init.d/iptables  stop   重启后失效

/etc/init.d/iptables  status  查看状态

Iptables: firewall is not running.

2.      永久关闭——重启生效

Chkconfig iptables off   关闭

Chkconfig |grep iptables   查看状态

1.2 SElinux

1.      永久关闭SElinux

Disabled  selinux  彻底关闭

2.      临时关闭 SElinux

扫描二维码关注公众号,回复: 2743556 查看本文章

Getenforce 现在selinux是否运行

Setenforce  0  关闭   

Setenforce  1  开启   

1.3  面试题:如何让一个脚本开机自启动

写入/etc/rc.local (Centos 7 /etc/rc.d/rc.local 加上执行权限)

或者加入chkconfig开机自启动

1.4 如何通过chkconfig 管理开机自启动

1.          脚本要存放在/etc/init.d

[root@CJY ~]# vim /etc/init.d/oldboyd

2.     脚本要有执行权限

chmod +x /etc/init.d/**.sh

3.     要增加chkconfig要求的格式

# chkconfig: 2345    99      98

        运行级别 启动顺序 关闭顺序

4.     加入到chkconfig管理与检查

chkconfig --add  **.sh

chkconfig |grep  **.sh

[root@CJY ~]# chkconfig --add oldboyd

You have new mail in /var/spool/mail/root

[root@CJY ~]# chkconfig |grep oldboyd

oldboyd           0:off  1:off  2:on   3:on   4:on   5:on   6:off

1.5 找出/etc/init.d/下面的文件中 包含chkconfig:的行

[root@CJY ~]# grep --color 'chkconfig:' /etc/init.d/* |column -t

/etc/init.d/abrt-ccpp:#         chkconfig:  35     82  16

/etc/init.d/abrtd:#             chkconfig:  35     82  16

/etc/init.d/abrt-oops:#         chkconfig:  35     82  16

/etc/init.d/acpid:#             chkconfig:  345    26  74

/etc/init.d/atd:#               chkconfig:  345    95  5

/etc/init.d/auditd:#            chkconfig:  2345   11  88

/etc/init.d/blk-availability:#  chkconfig:  12345  25  75

/etc/init.d/cpuspeed:#          chkconfig:  12345  13  99

/etc/init.d/crond:#             chkconfig:  2345   90  60

/etc/init.d/haldaemon:#         chkconfig:  345    26  74

/etc/init.d/ip6tables:#         chkconfig:  2345   08  92

/etc/init.d/iptables:#          chkconfig:  2345   08  92

/etc/init.d/irqbalance:#        chkconfig:  2345   13  87

/etc/init.d/lvm2-lvmetad:#      chkconfig:  12345  02  99

 

第2章 用户管理:

2.1 用户和用户组

UID  ×××号码

GID  户口本号码

用户分类

root          0  

虚拟用户     1-499   命令解释器/sbin/nologin

                     服务/程序 运行所需要的用户

普通用户     500+

2.2 创建用户useradd

-u

指定uid

-s

 

shell 命令解释器 (默认是/bin/bash

/sbin/nologin    

-M

不创建家目录  sM)

-g

指定用户组名称

2.2.1 #添加一个用户lidao999 uid999 禁止 登录系统不创建家目录 

[root@oldboyedu50-lnb ~]# useradd -u 999  -s /sbin/nologin -M lidao999

[root@oldboyedu50-lnb ~]# grep lidao /etc/passwd

lidao999:x:999:999::/home/lidao999:/sbin/nologin

[root@oldboyedu50-lnb ~]# ll /home/lidao999

ls: cannot access /home/lidao999: No such file or directory

#创建一个uid为999的虚拟用户 lidaoxxxx

2.3 userdel  默认不会删除用户老家

-r    删除用户的老家  与邮箱

通过注释 /etc/passwd 用户所在行

2.4 passwd   修改密码

2.4.1 交互式设置

[root@CJY ~]# passwd oldboy

Changing password for user oldboy.

New password:

BAD PASSWORD: it is too simplistic/systematic

BAD PASSWORD: is too simple

Retype new password:

passwd: all authentication tokens updated successfully.

2.4.2 --stdin  非交互式设置密码 

#非交互式设置密码

[root@oldboyedu50-lnb ~]# echo 123456|passwd --stdin oldboy

Changing password for user oldboy.

passwd: all authentication tokens updated successfully.

2.5 usermod  修改用户信息

useradd类似

#附加组 -G

[root@oldboyedu50-lnb ~]# id lidao999

uid=999(lidao999) gid=999(lidao999) groups=999(lidao999)

[root@oldboyedu50-lnb ~]# usermod -G root,oldboy,www lidao999

[root@oldboyedu50-lnb ~]# id lidao999

uid=999(lidao999) gid=999(lidao999) groups=999(lidao999),0(root),500(oldboy),501(www)

#清空附加组

[root@oldboyedu50-lnb ~]# usermod –G ‘’  lidao999

主要组  -g

[root@CJY ~]# usermod -g root lidao999

[root@CJY ~]# id lidao999

uid=999(lidao999) gid=0(root) groups=0(root)

2.6 groupadd 添加用户组

-g  gid

2.6.1 添加一个虚拟用户mysql 用户和用户组的uid 666

useradd -u 666  -s /sbin/nologin  -M  mysql

#groupadd -g 666 mysql

#useradd  -u 666 -g mysql   -s /sbin/nologin  -M  mysql

2.7 查询用户信息

id

显示用户信息 uid gid 和属于用户组

w

显示谁登陆系统   在干什么

last

所有用户的每次的登录情况

lastlog

所有用户最近一次的登录情况

2.8 有关用户的文件和目录

文件

[root@oldboyedu50-lnb ~]# ll /etc/passwd /etc/group /etc/shadow /etc/gshadow

-rw-r--r-- 1 root root 1180 Aug 13 10:14 /etc/passwd     #存放用户信息

-rw-r--r-- 1 root root  614 Aug 13 10:16 /etc/group      #用户组信息   每个用户组里面有什么用户?

---------- 1 root root  873 Aug 13 10:49 /etc/shadow     #用户密码信息

---------- 1 root root  501 Aug 13 10:16 /etc/gshadow    #用户组密码信息

目录/etc/skel 每个新用户的家目录的模板

[root@oldboyedu50-lnb ~]# ll -a /etc/skel/

total 20

drwxr-xr-x.  2 root root 4096 Jul 10 18:21 .

drwxr-xr-x. 78 root root 4096 Aug 13 11:08 ..

-rw-r--r--.  1 root root   18 Mar 23  2017 .bash_logout    #用户退出的时候 运行里面的命令

-rw-r--r--.  1 root root  176 Mar 23  2017 .bash_profile   #/etc/profile

-rw-r--r--.  1 root root  124 Mar 23  2017 .bashrc         #/etc/bashrc

2.9 命令行中出现-bash-4.1$这种故障如何解决

模拟故障:

先把/etc/profile中的

PS1的行注释

 [wc@oldboyedu50-lnb ~]$ \rm -f .bash*

重新登录:

[root@oldboyedu50-lnb ~]# su - wc

-bash-4.1$

-bash-4.1$

-bash-4.1$

如何解决:

在有故障的用户下面

cp /etc/skel/.bash*  ~

2.10 临时成为root sudo

2.10.1 oldboy用户 查看系统日志

1. sudo

2. cat(root) suid

3. 日志加上 r权限

4. root密码

2.10.2 sudo 尚方大宝剑(让普通用户以root运行某个命令

2.10.2.1  root 授予权限                                     

 oldboy进行测试

sudo -l  #查看当前用户有什么大宝剑

 [sudo] password for oldboy:

Sorry, user oldboy may not run sudo on oldboyedu50-lnb.

[oldboy@oldboyedu50-lnb ~]$ #你没有配置sudo

visudo         ==== crontab -e

/etc/sudoers        /var/spool/cron/root

2.10.2.2  oldboy用户授权

#root用户 visudo 92行下面

#授予oldboy用户 ls,touch,mkdir

oldboy  ALL=(ALL)      /bin/ls, /bin/touch, /bin/mkdir

2.10.2.3  #oldboy进行测试

sudo ls /root/

2.10.2.4  #授予oldboy   /bin/下所有命令

oldboy  ALL=(ALL)      /bin/*

2.10.2.5  #授予oldboy/bin/下所有命令,禁止使用virm命令

oldboy  ALL=(ALL)      /bin/*, !/bin/rm, !/bin/su, !/bin/vi

#授予oldboy 系统所有命令并且不需要输入密码

oldboy  ALL=(ALL)       NOPASSWD:ALL

2.11 sudo 小结:

1.sudo授予权限精确到命令

2.授权所有 排除  不需要输入密码

3.susu - 区别

用户审计  行为审计(记录用户操作)

跳板机 堡垒机

QQ图片20180813123228.png

1.硬件:齐治堡垒机

2.开源软件:jumpserver

3.自己写:shell脚本


猜你喜欢

转载自blog.51cto.com/13859649/2159144