/etc
目录下配置文件说明
passwd
系统用户信息文件
- cat /etc/passwd : 查看系统用户信息文件
[root@1997sty ~]# cat /etc/passwd | head -1
root:x:0:0:root:/root:/bin/bash
- 用户名
- 用户密码(已经被隐去,写入其他文件)
- 用户的uid信息
- 用户的gid信息
- 注释
- 家目录信息
- 用户登录系统方式
/bin/bash
通用的解释器/usr/bin/sh
等价于/bin/bash/usr/bin/bash
等价于/bin/bash/sbin/nologin
无法登录系统/usr/sbin/nologin
无法登录系统
shadow
系统用户密码文件
- cat /etc/shadow : 查看系统用户密码文件
group
组用户记录文件
- cat /etc/group : 查看组用户记录文件
gshadow
用户组密码文件
- cat /etc/gshadow : 查看组用户密码文件
系统的操作命令
useradd
命令
创建用户命令
- useradd 1997sty : 创建一个
1997sty
用户 - useradd 1997sty -M -s /sbin/nologin : 创建一个
1997sty
用户,不创建家目录,指定shell登录方式为/sbin/nologin
(无法登录的用户) - useradd 1997sty -u 2000 : 创建一个
1997sty
用户,指定用户uid为2000 - useradd 1997sty -g 1997sty_1 -G 1997sty_2 : 创建一个
1997sty
用户,指定用户所属组为1997sty_1
,指定用户附属组为1997sty_2
- useradd 1997sty -c "manager" : 创建一个
1997sty
用户,注释信息为manager
指定用户shell登录方式
/bin/bash
通用的解释器/usr/bin/sh
等价于/bin/bash/usr/bin/bash
等价于/bin/bash/sbin/nologin
无法登录系统/usr/sbin/nologin
无法登录系统
执行参数
- -M : 不创建家目录
- -s : 指定用户shell登录方式
- -u : 指定用户uid信息
- -g : 指定用户所属主要组信息
- -G : 指定用户所属附属组信息
- -c : 指定用户注释信息
usermod
命令
修改用户信息
- usermod 1997sty -s /sbin/nologin : 修改
1997sty
用户,指定shell登录方式为/sbin/nologin
(无法登录的用户) - usermod 1997sty -u 3000 : 修改
1997sty
用户,指定uid为3000
指定用户shell登录方式
/bin/bash
通用的解释器/usr/bin/sh
等价于/bin/bash/usr/bin/bash
等价于/bin/bash/sbin/nologin
无法登录系统/usr/sbin/nologin
无法登录系统
执行参数
- -s : 指定用户shell登录方式
- -u : 指定用户uid信息
- -g : 指定用户所属主要组信息
- -G : 指定用户所属附属组信息
- -c : 指定用户注释信息
userdel
命令
删除用户信息
- userdel 1997sty : 删除
1997sty
用户 - userdel -r 1997sty : 删除
1997sty
用户以及用户的家目录
passwd
命令
修改用户密码信息
- passwd : 修改当前用户密码
- passwd 1997sty : 修改
1997sty
用户密码
非交互式设置密码
- echo 123456|passwd --stdin 1997sty : 修改
1997sty
用户密码
企业中密码管理
- 密码要复杂12位以上字母数字及特殊符号
- 保存好密码信息
keepass
密码保险柜,本地存储密码lastpass
密码保险柜,在线存储密码 - 大企业 用户和密码统一管理 相当于活动目录AD openldap域 用户信息统一保存在一个用户管理服务器中 用户的家目录中的文件 用户密码 用户名称
- 动态密码:动态口令,第三方提供自己开发也很简单
groupadd
命令
创建用户组
- groupadd 1997sty_group : 创建
1997sty_group
用户组 - groupadd -g 1234 1997sty_group : 创建
1997sty_group
用户组,gid为1234
groupmod
命令
修改用户组
- groupmod -n group_1997sty 1997sty_group : 修改
1997sty_group
用户组名为group_1997sty
- groupmod -g 1234 1997sty_group : 修改
1997sty_group
用户组gid为1234
groupdel
命令
删除用户组
- groupdel 1997sty_group : 删除
1997sty_group
用户组
chown
命令
修改文件属主和属组信息
- chown 1997sty /root/1997sty : 修改
1997sty
文件属主信息为1997sty
- chown 1997sty.1997sty /root/1997sty : 修改
1997sty
文件属主和属组信息为1997sty
- chown -R 1997sty.1997sty /root/1997sty : 修改
1997sty
目录,子目录和目录内文件的属主和属组信息为1997sty
id
命令
查看用户信息
- id : 查看当前用户信息
- id root : 查看
root
用户信息
w
命令
显示正在登陆系统的用户信息
- w : 显示正在登陆系统的用户信息
16:23:53 up 4 days, 1:00, 1 user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 10.0.0.1 13:41 1.00s 0.22s 0.22s -bash
参数说明
- 登录用户
- 登录方式 pts/x 远程登录系统 tty1 本地登录
- 登录到服务器的地址
- 登录时间
- IDLE 空闲时间
- 用户操作系统 消耗的CPU资源时间
- 用户操作系统 消耗的CPU资源时间
- 用户进行的操作
发送文本给其他登录用户
- echo "发送该文本到其他登录用户的命令行" >/dev/pts/1 : 发送该文本到其他登录用户的命令行
su
命令
切换用户命令
- su 1997sty : 切换到
1997sty
用户 - su - 1997sty : 切换到
1997sty
用户,并且更改所有变量(使用env
命令查看)
[root@1997sty ~]# su - 1997sty
上一次登录:一 11月 25 18:23:58 CST 2019pts/2 上
[1997sty@1997sty ~]$ echo $PATH
/usr/local/bin:/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/1997sty/.local/bin:/home/1997sty/bin
[1997sty@1997sty ~]$ exit
登出
[root@1997sty ~]# su 1997sty
[1997sty@1997sty root]$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/.local/bin:/root/bin
visudo
命令
编辑
/etc/sudoers
只读文件,可以赋予其他用户权限
1997sty ALL=(ALL) /usr/sbin/useradd, /usr/bin/rm
该行文本赋予了1997sty
用户useradd
,rm
命令root
级别的权限,修改完成后:wq
保存退出(位于文本第91行)
## Next comes the main part: which users can run what software on
## which machines (the sudoers file can be shared between multiple
## systems).
## Syntax:
##
## user MACHINE=COMMANDS
##
## The COMMANDS section may have other options added to it.
##
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
1997sty ALL=(ALL) /usr/sbin/useradd, /usr/bin/rm
配置方法
#配置单个或多个命令
1997sty ALL=(ALL) /usr/sbin/useradd, /usr/bin/rm
#授权单个命令目录或多个命令目录,并排除visudo命令
/usr/sbin/*, !/usr/sbin/visudo , /usr/bin/*
#不需要输入用户密码,可以直接sudo方式执行命令
NOPASSWD: /usr/sbin/*, !/usr/sbin/visudo , /usr/bin/*
sudo
命令
让普通用户执行root命令的一个工具
- sudo useradd 1997stysudo : 使用
sudo
命令创建一个1997stysudo
用户(普通用户执行该命令且被赋予该root权限) - sudo rm -rf /root/1997sty : 使用
sudo
命令强制删除1997sty
文件(普通用户执行该命令且被赋予该root权限) - sudo -l : 使用
sudo
命令查看被赋予的root
权限(普通用户执行该命令且被赋予该root权限)
sudo
命令近期第一次使用时提示以下信息并要求输入密码
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
我们信任您已经从系统管理员那里了解了日常注意事项。
总结起来无外乎这三点:
#1) Respect the privacy of others.
#1) 尊重别人的隐私。
#2) Think before you type.
#2) 输入前要先考虑(后果和风险)。
#3) With great power comes great responsibility.
#3) 权力越大,责任越大。
[sudo] password for 1997sty:
User oldboy may run the following commands on 1997sty:
(ALL) /usr/sbin/useradd, /usr/bin/rm
最后一次更新于2019-11-29 18:52
0 条评论