用户信息文件详解
/etc/passwd
是记录系统用户信息文件
#查看用户信息
cat /etc/passwd
用户名 | 用户密码信息 | 用户uid信息 | 用户gid信息 | 用户的注释信息 | 用户家目录信息 | 用户登录系统方式 |
---|---|---|---|---|---|---|
root | x | 0 | 0 | root | /root | /bin/bash |
bin | x | 1 | 1 | bin | /bin | /sbin/nologin |
sync | x | 5 | 0 | sync | /sbin | /bin/sync |
shutdown | x | 6 | 0 | shutdown | /sbin | /sbin/shutdown |
bubu02 | x | 1052 | 1052 | /home/bubu02 | /bin/bash |
PS:
/bin/bash —通用的解释器
/sbin/nologin —无法登录系统
/etc/shadow
—系统用户密码文件
/etc/group
—组用户记录文件
/etc/gshadow
—组用户密码信息
用户命令
创建用户命令
useradd
#虚拟用户创建 虚拟用户是没有家目录的
useradd odlboy -M -s /sbin/nologin
-M 不创建家目录
-s 指定使用的shell方式 登录方式,来指定他是不是虚拟用户
-u 指定uid值
-g 指定用户组,数值和名称都可以
-G 加入其它用户组
-c 注释
修改用户信息
usermod
#将test用户修改为虚拟用户
usermod test -s /sbin/nologin
-s 修改用户的登录方式
-g 修改用户的主要的组信息
-G 修改用户的附属组信息
-c 修改用户的注释信息
删除用户
userdel
userdel bubu01
-r 彻底删除,
不加-r可能只删用户,用户组可能还没删,因为其他用户可能隶属这个用户组.所以可能不能完全删除
用户组命令
groupadd 创建用户组
groupmod 修改用户组
groupdel 删除用户组
chown 修改属主和属组信息
chown -R 对目录所有子的子目录和文件进行修改属主信息
w命令
w
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 五19 14:59m 0.07s 0.07s -bash
root pts/0 192.168.14.183 07:53 4:19m 1.30s 1.30s -bash
root pts/1 192.168.14.183 11:54 0.00s 0.76s 0.01s w
pts/x远程登录系统
tty1 本地登录
什么用户登录到系统中 | 登录的方式 | 从哪连接的服务器 | 登录时间 | 空闲时间 | 用户操作系统消耗的cpu资源 | 用户在干什么 | |
---|---|---|---|---|---|---|---|
USER | TTY | FROM | LOGIN@ | IDLE | JCPU | PCPU | WHAT |
root | tty1 | 23Sep20 | 32days | 0.04s | 0.04s | -bash | |
root | pts/0 | 183.234.123.117 | 14:42 | 4.00s | 0.00s | 0.00s | w |
test | pts/1 | 183.234.123.117 | 15:05 | 12.00s | 0.00s | 0.00s | -bash |
可能出现的问题是,如果遇到两边同时在修改一个文件,双方不知道情况的时候。 可以输入w,查看上面的信息,可以通过/dev/pts/0 进行发送信息给对方。
echo "please quit current account"> /dev/pts/1
last命令
- 显示的是/etc/passwd 文件信息里,显示谁曾经登录过这个系统
- lastlog 显示之前登录信息点
visudo命令
visudo
100gg
#visudo命令相当于------>vi /etc/sudoers
#大概在93行到100行之间
sudo
-l 查看已授权的命令
visudo
-c 文件语法检查
- 授权单个命令或多个命令
test ALL=(ALL) /usr/sbin/useradd
- 授权单个命令目录或多个命令目录
test ALL=(ALL) /usr/sbin/*,!/usr/sbin/visudo
- 添加后得加sudo才可以使用root命令,否则无法执行(test用户下使用)
sudo useradd texx_test
- 输入sudo useradd texx_test 会出现输入密码,其实是验证授权用户,可以进行屏蔽
test ALL=(ALL) NOPASSWD:/usr/sbin/*,!/usr/sbin/visudo
补充知识点
rwx -w- —x 系统文件数据的9个权限位 系统中实际应该有12权限位
setuid:
权限设置方法:
chmod u+s 文件信息
chmod 4755 文件信息
将文件属主拥有的能力,分配给所有人
setgid:
setgid权限位设置,将文件属组拥有的能力,分配给所有人
sticky bit:粘滞位 (创建一个共享目录)
作用:可以将不同用户信息放置到共享目录中,实现不同用户数据可以互相查看,但是不可以互相随意修改
设置方法:
chmod o+t 目录信息
chmod 1777目录信息
系统中已经准备好了一个共享目录 1777
/tmp/就是一个共享目录
给文件加锁
请问:当一个文件权限是644,用root编辑文件无法保存,请问是什么原因?
第一种原因:上级目录可能没有权限访问
第二种原因:文件被加锁了
#查看是否上锁了
lsattr /etc/passwd
#设置上锁
chattr +i /etc/passwd
#解锁
chattr -i /etc/passwd