用户管理上

第1章 查看ip的其他方法  ip

1.1 ip address == ip a

查看所有的网卡信息。

[root@znix ~]# ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN

    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00

    inet 127.0.0.1/8 scope host lo

    inet6 ::1/128 scope host

       valid_lft forever preferred_lft forever

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:a8:e4:14 brd ff:ff:ff:ff:ff:ff

    inet 10.0.0.201/24 brd 10.0.0.255 scope global eth0

    inet6 fe80::20c:29ff:fea8:e414/64 scope link

       valid_lft forever preferred_lft forever

1.2 ip address show eth0 == ip a s eth0

查看第一块网卡的信息。

[root@znix ~]# ip a s eth0

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000

    link/ether 00:0c:29:a8:e4:14 brd ff:ff:ff:ff:ff:ff

    inet 10.0.0.201/24 brd 10.0.0.255 scope global eth0

    inet6 fe80::20c:29ff:fea8:e414/64 scope link

       valid_lft forever preferred_lft forever

1.3 ip route == ip r

查看网关。

[root@znix ~]# ip r

10.0.0.0/24 dev eth0  proto kernel  scope link  src 10.0.0.201

169.254.0.0/16 dev eth0  scope link  metric 1002

default via 10.0.0.2 dev eth0

第2章 vi/vim常见的错误

2.1 swap file exist 错误

2.1.1 产生原因

在编辑文件的时候突然退出/断网/断电,不正常的退出了系统。

2.1.2 错误信息

Found a swap file by the name ".1.swp"

……

Swap file ".1.swp" already exists!

[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

2.1.3 解决办法

(E)dit anyway 继续编辑无视这个错误

(R)ecover     把刚才没有保存的内容先回复 继续编辑

(D)elete it   删除这个临时文件

2.1.4 6.x之前版本解决办法

".1.swp" 找到与编辑的问文件,同名的 .swp 的隐藏文件。

第3章 用户管理

3.1 用户的分类

类型 UID

root      0

虚拟用户 1-499

虚拟用户时为了满足系统中每个服务/进程在运行的时候都要有一个用户和家庭。

普通用户 500+

3.1.1 两种常用的shell

/bin/bash      普通用户默认的命令解释器

/sbin/nologin   傀儡用户虚拟用户使用

3.2 与用户有关的配置文件

[root@znix ~]# ll /etc/passwd /etc/shadow /etc/group /etc/gshadow

-rw-r--r-- 1 root root  648 Sep 12 12:05 /etc/group         用户组信息

---------- 1 root root  529 Sep 12 12:05 /etc/gshadow       用户组密码

-rw-r--r-- 1 root root 1271 Sep 12 12:05 /etc/passwd        用户信息

---------- 1 root root  936 Sep 12 12:09 /etc/shadow 用户密码

3.2.1 /etc/passwd 文件详解

[root@znix ~]# head -1 /etc/passwd

root:x:0:0:root:/root:/bin/bash

用户名:原来存放密码的位置:UID:GID:说明信息:家目录:shell(命令解释器)

第4章 与用户有关的目录

4.1.1 /etc/skel

/etc/skel目录是在linux下面添加一个新用户使用的用户老家的模板。

4.1.2 创建一个新的用户过程

新用户家目录中的三个隐藏文件,与/etc.skel中的相同。

[root@znix skel]# useradd alex888

[root@znix skel]# su - alex888

[alex888@znix ~]$ ll -a

total 20

drwx------  2 alex888 alex888 4096 Sep 12 10:18 .

drwxr-xr-x. 6 root    root    4096 Sep 12 10:18 ..

-rw-r--r--  1 alex888 alex888   18 Mar 23 08:15 .bash_logout

-rw-r--r--  1 alex888 alex888  176 Mar 23 08:15 .bash_profile

-rw-r--r--  1 alex888 alex888  124 Mar 23 08:15 .bashrc

4.1.3 /etc/skel 目录下文件详解

[root@znix skel]# ll -a /etc/skel/

total 20

drwxr-xr-x.  2 root root 4096 Aug 10 18:34 .

drwxr-xr-x. 78 root root 4096 Sep 12 10:18 ..

-rw-r--r--.  1 root root   18 Mar 23 08:15 .bash_logout

-rw-r--r--.  1 root root  176 Mar 23 08:15 .bash_profile

-rw-r--r--.  1 root root  124 Mar 23 08:15 .bashrc

.bash_logout   用户登出的时候运行这个文件里的内容

.bash_profile  环境变量

.bashrc        存放用户的别名数

4.2 -bash-4.1$ 错误的解决办法

4.2.1 产生的原因

因为用户家目录里面的与环境变量相关的文件被删除

.bash_profile

.bashrc

4.2.2 解决办法

第一步 切换到这个用户

[root@znix skel]# su - alex888

bash-4.1$

第二步 将/etc/skel下的文件复制过来 ( .bash* 隐藏文件)

注意:复制隐藏文件的是时候使用 .bash* 。

-bash-4.1$ cp /etc/skel/.bash* ~       

-bash-4.1$ ll -a

total 24

drwx------  2 alex888 alex888 4096 Sep 12 10:27 .

drwxr-xr-x. 6 root    root    4096 Sep 12 10:18 ..

-rw-------  1 alex888 alex888   23 Sep 12 10:25 .bash_history

-rw-r--r--  1 alex888 alex888   18 Sep 12 10:27 .bash_logout

-rw-r--r--  1 alex888 alex888  176 Sep 12 10:27 .bash_profile

-rw-r--r--  1 alex888 alex888  124 Sep 12 10:27 .bashrc

第三步 退出重新连接即可

-bash-4.1$ logout

[root@znix skel]# su - alex888

[alex888@znix ~]$

4.3  .*  极度危险

 .* 查找的时候匹配 ..

 ..  为上级目录

操作文件的时候尽量的精确  .bash*

第5章 用户相关的命令

5.1 添加用户 useradd

5.1.1 useradd  与 adduser

[root@znix home]# ls -l `which useradd adduser`

lrwxrwxrwx. 1 root root      7 Aug 10 18:36 /usr/sbin/adduser -> useradd

-rwxr-x---. 1 root root 111320 May 11  2016 /usr/sbin/useradd

5.1.2 useradd参数说明

-c 添加说明信息

-u 指定用户的uid

-s 添加用户的时候指定命令解释器 默认/bin/bash    /sbin/nologin

-M 不创建家目录

-g 添加用户的时候 默认会创建一个与用户名一样的家庭

5.1.3 添加用户 指定uid为666 禁止用户登录系统 不创建家目录

[root@znix ~]# useradd znix -u 666 -M -s /sbin/nologin

[root@znix ~]# grep znix /etc/passwd

znix:x:666:666::/home/znix:/sbin/nologin

[root@znix ~]# id znix

uid=666(znix) gid=666(znix) groups=666(znix)

5.1.4 /etc/login.defs  控制用户的默认信息

/etc/login.defs文件定义了与/etc/password和/etc/shadow配套的用户限制设定。这个文件是需要的,缺失并不会影响系统的使用,但是也许会产生意想不到的错误。

如果/etc/shadow文件里有相同的选项,则以/etc/shadow里的设置为准,也就是说/etc/shadow的配置优先级高于/etc/login.defs。

5.1.5 添加用户时的的基本信息(默认信息)

[root@znix ~]# cat /etc/default/useradd

# useradd defaults file

GROUP=100

HOME=/home

INACTIVE=-1

EXPIRE=

SHELL=/bin/bash

SKEL=/etc/skel

CREATE_MAIL_SPOOL=yes

5.2 删除用户userdel

5.2.1 方法一 注释/etc/passwd

/etc/passwd里面,在这个用户行的前面加上# 将这一行注释就可以。

尽量不要使用userdel去删除用户,可能会发生意料之外的错误。

5.2.2 删除用户时常见的错误信息

[root@znix ~]# userdel alex888

userdel: user alex888 is currently used by process 23823

提示: 用户被23823进程使用中

第一步 检查进程

[root@znix ~]# ps -ef |grep 23864

alex888   23864  23863  0 11:39 pts/1    00:00:00 -bash

root      23885  23718  0 11:39 pts/0    00:00:00 grep --color=auto 23864

第二步 强制结束进程 kill -9

[root@znix ~]# kill -9 23864

第三步 检查是否还有这个进程

[root@znix ~]# ps -ef |grep 23864

root      23923  23904  0 11:45 pts/1    00:00:00 grep --color=auto 23864

#另一个在登陆的窗口提示信息

[alex888@znix ~]$ Killed

[root@znix ~]#

第四步 删除用户 ,没有占用的进程后,删除用户不再报错。

[root@znix ~]# userdel alex888

5.2.3 常见参数

userdel   默认不删除家目录和邮箱

-r    删除与用户有关的所有文件

#########尽量不要使用userdel来删除一个用户

5.3 修改用户的信息 usermod

5.3.1 查看用户的信息

[root@znix ~]# grep znix /etc/passwd

znix:x:666:666:znix super:/home/znix:/sbin/nologin

5.3.2 为用户增加说明信息

[root@znix ~]# usermod -c "Super User" znix

[root@znix ~]# grep znix /etc/passwd

znix:x:666:666:Super User:/home/znix:/sbin/nologin

5.3.3 让用户属于新的家庭

[root@znix ~]# id znix

uid=666(znix) gid=666(znix) groups=666(znix)

[root@znix ~]# usermod -g root znix

[root@znix ~]# id znix

uid=666(znix) gid=0(root) groups=0(root)

5.3.4 用户属于多个家庭(附加组)

[root@znix ~]# id znix

uid=666(znix) gid=666(znix) groups=666(znix)

[root@znix ~]# usermod -G root,oldboy znix

[root@znix ~]# id znix

uid=666(znix) gid=666(znix) groups=666(znix),0(root),500(oldboy)

5.3.5 usermod常用参数

-c 修改说明信息

-s 修改用户的命令解释器

-g 让用户属于新的家庭

-G 用户属于多个家庭(附加组)

5.4 passwd 修改用户密码

5.4.1 交互式修改

[root@znix ~]# passwd znix

Changing password for user znix.

New password:

BAD PASSWORD: it is too simplistic/systematic

BAD PASSWORD: is too simple

#提示密码的强度太弱。

Retype new password:

passwd: all authentication tokens updated successfully.

交互式输入密码要输入两次密码。

一次只能修改一个用户的密码

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

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

Changing password for user oldboy.

passwd: all authentication tokens updated successfully.

5.5 密码管理软件

keeppass

把密码记录到硬盘中(本地管理)

lastpass

在线软件,把密码存放的别人家(云端管理)

       AD统一管理

动态密码

5.6 让系统更加安全

5.6.1 方法

查看日志 /var/log/secure  查找failed 进行分析

chattr +i +a 给主要文件加上文件系统权限

指纹加密

5.6.2 指纹加密 md5sum 命令

只要文件的内容变量,加密信息就变化

第一步 给一个文件创建指纹

[root@znix ~]# md5sum oldboy.txt

058c5119928950d06f48d901a101511a  oldboy.txt

第二步 进指纹放到一个文件中

[root@znix ~]# md5sum oldboy.txt  > list.txt

第三步 可以对文件进行校验 正确显示 OK 不一致显示Failed

[root@znix ~]# md5sum -c list.txt

oldboy.txt: OK

 [root@znix ~]# > oldboy.txt

[root@znix ~]# md5sum -c list.txt

oldboy.txt: FAILED

md5sum: WARNING: 1 of 1 computed checksum did NOT match

由于文件中保存的式相对路径,所以指纹文件要和目标文件在同一个文件内。

5.7 【企业面试题】

5.7.1 批量添加3个用户stu01,stu02,stu03,并设置123456(禁止使用for,while等循环)

[root@znix ~]# echo stu{01..3}|xargs -n1 -exec useradd

添加密码

[root@znix ~]# echo 123456 |passwd --stdin stu01 stu02 stu03

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Albert陈凯

linux目录结构和常用命令

一、Linux目录结构 你想知道为什么某些程序位于/bin下,或者/sbin,或者/usr/bin,或/usr/sbin目录下吗?例如,less命令位于/us...

2374
来自专栏有趣的django

Django+nginx+uwsgi部署教程(centos7+ubuntu16.4)

项目部署教程 在线教育平台项目演示地址 1.1.原理介绍 django  一个基于python的开源web框架 uwsgi  一是一个web服务器,也可以当做...

4717
来自专栏散尽浮华

Linux操作系统启动流程梳理

接触linux系统运维已经好几年了,常常被问到linux系统启动流程问题,刚好今天有空来梳理下这个过程: 一般来说,所有的操作系统的启动流程基本就是: ? 总的...

2248
来自专栏北京马哥教育

最全 Linux 磁盘管理基础知识全汇总

运维行业正在变革,推荐阅读:30万年薪Linux运维工程师成长魔法 一、存储设备的挂载和卸载 存储设备的挂载和卸载常用操作命令:fdisk -l、df、du、...

3978
来自专栏北京马哥教育

图解CentOS系统启动流程

? 作者 | Linux运维之路 来源 | 51CTO博客 ? 云豆贴心提醒,本文阅读时间6分钟,文末有秘密! 当我们按下开机键后,系统背后的秘密我们...

4278
来自专栏Java学习之路

虚拟机工作站创建虚拟机并安装Linux教程 一丶什么是Linux:二丶为什么要学Linux:三丶安装虚拟机工作站和初始化虚拟机:四丶安装Linux操作系统

前言: 今天开始学习一下Linux,之前早就想看,但是一直没时间,最近把其他知识整理完了,终于有时间来看一下Linux了。 本节只是安装虚拟机工作站,虚拟机...

3655
来自专栏cs

linux学习笔记三

文件组成 linux文件系统的运行和操作系统的文件组成有关,文件系统会将文件权限,属性放在inode(索引节点)中,至于实际的数据则放在block快中。另外还有...

33812
来自专栏小樱的经验随笔

mount命令详解及常见问题汇总

一 、mount命令(用来挂载硬盘或镜像等) 用法:mount [-t vfstype] [-o options] device dir 1、-t vfstyp...

3405
来自专栏linux系统运维

磁盘格式化,磁盘挂载以及手动增加swap

1635
来自专栏北京马哥教育

linux系统安装过程

linux系统安装过程 大家都知道目前在商业服务器操作系统端,linux操作系统占的比例非常大,但是如果自己要想自己在网络安全系统方面有所作为,必须得把linu...

2508

扫码关注云+社区