用户分类
用户分为三类
1.管理员 root UID 唯一不重复
root UID : 0 #最高权限 ,默认系统中就一个
2.傀儡用户 虚拟用户
作用:在运行程序的时候 必须有一个用户来启动它 但是用户不需要登录系统 只用来运行程序
UID: centos6.x 1-499 # 不允许登录操作系统
centos7.x 1-999 # 不允许登录操作系统
3.普通用户
UID: centos6.x 500+ # 默认没有普通用户 手动创建 可以登录系统 正常运行命令 有家目录
centos7.x 1000+ # 默认没有普通用户 手动创建 可以登录系统 正常运行命令 有家目录
用户相关目录
/etc/group # 组的信息
/etc/gshsdow # 组的密码信息文件
/etc/passwd # 主的信息
/etc/shadow # 主的密码信息文件
[root@oldboy-lnb ~]# ll /etc/group /etc/gshadow /etc/passwd /etc/shadow
-rw-r--r--. 1 root root 512 Nov 9 09:21 /etc/group
----------. 1 root root 406 Nov 9 09:21 /etc/gshadow
-rw-r--r--. 1 root root 974 Nov 9 09:21 /etc/passwd
----------. 1 root root 621 Nov 9 09:21 /etc/shadow
以冒号分隔 看每一列的含义
[root@oldboy-lnb ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
......
第一列 |
第二列 |
第三列 |
第四列 |
第五列 |
第六列 |
第七列 |
root |
x |
0 |
0 |
root |
/root |
/bin/bsh |
用户名 |
用户密码 必须存在 如果删除表示清空密码 可以使用su的方式进行眠密码切换用户 |
UID |
GID |
用户的描述信息 可有可无 |
家目录 |
解释器 当前用户登录后默认使用的解释器 |
用户相关命令
useradd # 创建普通用户
语法:
useradd 参数选项 用户名称
参数选项:
-s 指定解释器
-u 指定UID
-g 指定GID
-G 指定属于多个组 附属组
-M 不创建家目录 # 普通用户会在/home下自动创建一个家目录
-c 描述
[root@oldboyedu ~]# #创建一个用户UID为888 可正常登陆的普通用户
[root@oldboyedu ~]# useradd -u888 oldboy1
[root@oldboyedu ~]# su - oldboy1
Last login: Mon Nov 9 10:28:06 CST 2020 on pts/3
[oldboy1@oldboyedu ~]$ pwd
/home/oldboy1
[root@oldboyedu ~]# # 创建一个虚拟用户 UID999 不允许登录 不创建家目录
[root@oldboyedu ~]# #oldboy2
[root@oldboyedu ~]# useradd -u899 -M -s /sbin/nologin oldboy2
usermod # 修改已经创建用户的信息
[root@oldboyedu ~]# usermod -s /bin/bash -Goldboy1,root -c hehe oldboy2
[root@oldboyedu ~]# tail -5 /etc/passwd
oldboy:x:1001:1001::/home/oldboy:/bin/bash
nginx:x:998:996:Nginx web server:/var/lib/nginx:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
oldboy1:x:888:1002::/home/oldboy1:/bin/bash
oldboy2:x:899:1003:hehe:/home/oldboy2:/bin/bash
清空附加组
[root@oldboyedu ~]# id oldboy2
uid=899(oldboy2) gid=1003(oldboy2) groups=1003(oldboy2),0(root),1002(oldboy1)
[root@oldboyedu ~]# usermod -G '' oldboy2
[root@oldboyedu ~]# id oldboy2
uid=899(oldboy2) gid=1003(oldboy2) groups=1003(oldboy2)
为什么出现以下错误
[root@oldboyedu ~]# useradd oldboy1
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.
Creating mailbox file: File exists
|
| skel
↓
创建一个用户的过程
1. 使用命令创建用户 自动创建/home/oldboy1
2. 会复制/etc/skel/目录下的隐藏文件 存放环境变量的文件 到/home/oldboy1
.bash_logout # 退出操作系统
.bash_profile # 用户的环境变量 供操作系统正常使用 正常运行
.bashrc # 别名的配置文件
3. 系统自动修改拷贝过去的隐藏文件权限为普通用户
出现以下错误的解决方式
-bash-4.2$ # 运维 笔试题 开发必会
-bash-4.2$
1. 先拷贝隐藏文件到当前家目录
-bash-4.2$ cp /etc/skel/.* .
2. 退出重新登录到当前用户
方法1: 使用su的方式
方法2: ssh远程连接的方式登录
或者:
source 和 . 重新执行.bash_profile
-bash-4.2$ source .bash_profile
[oldboy1@oldboyedu ~]$
userdel # 删除用户
-r # 删除用户家目录及相关信息
[root@oldboyedu ~]# userdel -r oldboy1
[root@oldboyedu ~]# ll /home/
total 0
drwx------ 2 oldboy oldboy 115 Nov 5 11:52 oldboy
drwx------. 2 test test 83 Oct 30 10:21 test
[root@oldboyedu ~]# ll /var/spool/mail/
total 4
-rw-rw---- 1 oldboy mail 0 Nov 5 11:45 oldboy
-rw-rw---- 1 899 mail 0 Nov 9 10:30 oldboy2
-rw-------. 1 root mail 987 Nov 4 11:01 root
-rw-rw----. 1 test mail 0 Oct 30 10:20 test
passwd # 给用户设置密码
交互式方式
[root@oldboyedu ~]# passwd # 直接回车默认修改当前登录用户的密码
Changing password for user root.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
[root@oldboyedu ~]# passwd root # 指定修改某个用户的密码
Changing password for user root.
New password:
BAD PASSWORD: The password is a palindrome
Retype new password:
passwd: all authentication tokens updated successfully.
非交互式方式
[root@oldboyedu ~]# echo 1|passwd --stdin oldboy1
Changing password for user oldboy1.
passwd: all authentication tokens updated successfully.
chown # 修改文件的属主属组
-R 同时修改目录及目录以下所有的文件的属主属组
chown oldboy.oldboy file # 同时修改文件的属主属组
chown oldboy file # 只修改文件的属主
chown .oldboy file # 只修改文件的属组
[root@oldboyedu ~]# chown -R oldboy.oldboy dir
[root@oldboyedu ~]# ll dir/
total 0
-rw-r--r-- 1 oldboy oldboy 0 Nov 9 11:08 1.txt
-rw-r--r-- 1 oldboy oldboy 0 Nov 9 11:08 2.txt
-rw-r--r-- 1 oldboy oldboy 0 Nov 9 11:08 3.txt
last
如何查看当前公司的公网IP地址 排除安全隐患
1.查看登录IP是否是公司和家庭的公网IP
2.看时间点
3.查看Linux服务器的公网IP地址
[root@oldboyedu ~]# curl ifconfig.me
123.112.22.134[root@oldboyedu ~]# curl cip.cc
IP : 123.112.22.134
地址 : 中国 北京
运营商 : 联通
数据二 : 北京市 | 联通
数据三 :
id # 查看用户信息
[root@oldboyedu ~]# id oldboy1
uid=1002(oldboy1) gid=1002(oldboy1) groups=1002(oldboy1)
如何判断用户是否存在
1. id 用户名
2. cat /etc/passwd
3. 使用grep 过滤文件内容
[root@oldboyedu ~]# grep 'oldboy1' /etc/passwd
oldboy1:x:1002:1002::/home/oldboy1:/bin/bash
4.[root@oldboyedu ~]# useradd oldboy1
useradd: user 'oldboy1' already exists # oldboy1 用户已存在
grep语法:
grep '过滤的内容' 文件 # 直接跟文件过滤
cat 文件|grep '过滤的内容' # 过滤其他命令的输出结果
[root@oldboyedu ~]# cat /etc/passwd|grep 'oldboy1'
oldboy1:x:1002:1002::/home/oldboy1:/bin/bash
lastlog 查看所有用户最后的登录系统的时间
whoami 查看当前登录系统用户