1. /etc/passwd 文件(用户)
文件专门将用户的登录名匹配到对应的UID值,包含与用户有关的信息。
[hy@localhost ~]$ cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
systemd-network:x:192:192:systemd Network Management:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
polkitd:x:999:998:User for polkitd:/:/sbin/nologin
libstoragemgmt:x:998:995:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin
colord:x:997:994:User for colord:/var/lib/colord:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
saned:x:996:993:SANE scanner daemon user:/usr/share/sane:/sbin/nologin
gluster:x:995:992:GlusterFS daemons:/run/gluster:/sbin/nologin
saslauth:x:994:76:Saslauthd user:/run/saslauthd:/sbin/nologin
abrt:x:173:173::/etc/abrt:/sbin/nologin
setroubleshoot:x:993:990::/var/lib/setroubleshoot:/sbin/nologin
rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
pulse:x:171:171:PulseAudio System Daemon:/var/run/pulse:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
chrony:x:992:987::/var/lib/chrony:/sbin/nologin
unbound:x:991:986:Unbound DNS resolver:/etc/unbound:/sbin/nologin
qemu:x:107:107:qemu user:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologin
sssd:x:990:984:User for sssd:/:/sbin/nologin
usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
geoclue:x:989:983:User for geoclue:/var/lib/geoclue:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
gnome-initial-setup:x:988:982::/run/gnome-initial-setup/:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SD Stack:/var/run/avahi-daemon:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
hy:x:1000:1000:hyue:/home/hy:/bin/bash
mysql:x:27:27:MySQL Server:/var/lib/mysql:/bin/false
hadoop:x:1001:1001::/home/hadoop:/bin/bash
hyue:x:1002:1002::/home/hyue:/bin/bash
root用户是Linux系统的管理员,固定UID是0
/etc/passwd 文件的字段包含以下信息:
1)登录用户名
2)用户密码(此处密码设置为x,用户密码保存在 /etc/shadow 文件)
3)用户账号的UID(数字)
4)用户账号的组的UID(数字)
5)用户账户的文本描述(备注字段)
6)用户HOME目录的位置
7)用户的默认shell
2. /etc/shadow 文件
文件对Linux系统密码管理提供更多控制,只有root用户才能进入该文件
[hy@localhost ~]$ cat /etc/shadow
cat: /etc/shadow: Permission denied
[hy@localhost ~]$ su root
Password:
[root@localhost hy]# cat /etc/shadow
root:$1$eVGX9JxE$Ey7vnOU9rlHO12.2zjmSi1::0:99999:7:::
bin:*:18353:0:99999:7:::
daemon:*:18353:0:99999:7:::
adm:*:18353:0:99999:7:::
games:*:18353:0:99999:7:::
ftp:*:18353:0:99999:7:::
nobody:*:18353:0:99999:7:::
systemd-network:!!:19138::::::
dbus:!!:19138::::::
polkitd:!!:19138::::::
libstoragemgmt:!!:19138::::::
colord:!!:19138::::::
rpc:!!:19138:0:99999:7:::
radvd:!!:19138::::::
sssd:!!:19138::::::
usbmuxd:!!:19138::::::
hy:$1$eVGX9JxE$Ey7vnOU9rlHO12.2zjmSi1:19138:0:99999:7:::
mysql:!!:19138::::::
hadoop:!!:19240:0:99999:7:::
hyue:!!:19240:0:99999:7:::
3.添加新用户
useradd命令使用系统的默认值以及命令行参数来设置用户账号,系统默认值被设置在/etc/default/useradd文件中
[root@localhost hy]# /usr/sbin/useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
Linux用户和组工具放在 /usr/sbin 目录下面,这个目录可能不在PATH环境变量里。可以将这个目录添加到PATH环境变量里,或者用绝对文件路径名使用这些工具
4.删除用户
userdel 命令会删除 /etc/passwd 文件中的用户信息,而不会删除系统中属于该账户的任何文件;
userdel -r 命令会删除用户的HOME目录以及邮件目录,但是系统上仍然可能存在有已删除用户的其他文件。
[root@localhost ~]# useradd rainback
[root@localhost ~]# cat /etc/passwd
rainback:x:1003:1003::/home/rainback:/bin/bash
[root@localhost ~]# /usr/sbin/userdel -r rainback
[root@localhost ~]# ll -a /home/rainback
ls: cannot access /home/rainback: No such file or directory
注:删除用户的HOME目录之前检查是否存放其他用户或文件,谨慎使用 -r 参数
5.修改用户
1)usermod 命令: 修改用户账户的字段,还可以指定主要组以及附加组的从属关系
2)passwd 命令: 修改已有用户的密码
3)chpasswd 命令: 从文件中读取登录名密码时,并更新密码
4)chage 命令: 修改密码的过期日期
5)chfn 命令: 修改用户账户的备注信息
6)chsn 命令: 修改用户账户的默认登陆shell
usermod 命令:修改 /etc/passwd 文件中的大部分字段,修改的字段对应命令行参数即可
-l 修改用户账户的登录名
-L 锁定账户,使用户无法登录
-p 修改用户的密码
-U 解除锁定,使用户可以登录
(-L参数可以将账户锁定,使用户无法登录,同时无需删除账户和用户的数据)
passwd 命令,chpasswd 命令:修改用户密码
Tips:
1. 只有root用户才有权限修改别人密码
2. -e 参数选项能强制要求用户下次登录时修改密码(可以给用户设置一个简单密码,下次登录时改成他们能记住的密码)
3. 如果需要为系统中的大量用户修改密码,chpasswd 命令能从标准输入自动读取登录名和密码对(由冒号分隔)列表
chsh 命令,chfn 命令,chage 命令: 修改特定账户信息
chage 命令设置账户的过期日期,过期账户和锁定账户相似,账户依然存在但是用户无法用它登录
6. /etc/group 文件(用户组)
用户在控制单个用户的安全性方面很好用,但是涉及在共享资源的一组用户时就比较麻烦,所以采取了用户组的概念,用户组权限允许多个用户对系统的对象(文件,目录,设备)共享一组权限。与用户账号类似,组信息也保存在一个系统的文件里面,即 /etc/group 文件,文件包含系统上用到的每一个组的信息
[hy@localhost ~]$ cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
tcpdump:x:72:
hy:x:1000:hy
mysql:x:27:
hadoop:x:1001:
hyue:x:1002:
7. 创建新组
groupadd 命令可以在系统上创建新组
[root@localhost hy]# /usr/sbin/groupadd shared
[root@localhost hy]# tail /etc/group
postfix:x:89:
stapusr:x:156:
shared:x:1003:
8.修改组
groupmod 命令可以修改已有组的GID(加 -g 选项)或者组名(加 -n 选项)
9.使用文件权限符
[root@localhost ~]# ll
total 176
drwxr-xr-x. 2 root root 6 Sep 6 18:46 1
-rw-r--r--. 1 root root 96332 Mar 3 2022 22222222.jpg
-rw-------. 1 root root 2913 May 26 00:21 anaconda-ks.cfg
-rw-r--r--. 1 root root 2860 Jan 17 2006 create.sql
-rw-r--r--. 1 root root 55514 Dec 6 2021 f81652204c0a6a9af983893191f7c03.jpg
-rw-------. 1 root root 2035 May 26 00:21 original-ks.cfg
-rw-r--r--. 1 root root 9900 Jan 17 2006 populate.sql
drwxr-xr-x. 2 root root 6 Sep 7 19:36 yh
一.输出结果第一个字段就是描述文件和目录权限的编码。这个字段的第一个字符代表了对象的类型:
1) - 代表文件
2) d 代表目录
3) l 代表链接
4) c代表字符型设备 & b代表块设备 & n代表网络设备
二.之后有3组三字符的编码,每一组定义了3种权限:
1) r 代表对象是可读的 (4)
2) w 代表对象是可写的 (2)
3) x 代表对象是可执行的 (1)
注:若没有某种权限,在该权限位会出现单破折线 (0)
三.这三组权限分别对应对象的3个安全级别:
1)对象的属主
2)对象的属组
3)系统其他用户
如下分解:
-rw-r--r--. 1 root root 9900 Jan 17 2006 populate.sql
1) -rw 文件的属主权限 :可以读取,写入(6)
2) -r- 文件的属主成员的权限: 可以读取 (4)
3) r-- 系统上其他用户的权限: 可以读取 (4)
即这些权限说明登录名为root 的用户可以读取,写入这个文件的权限,root组用户成员可以读取这个文件的权限,然而不属于root 组的其他用户只有读取这个文件的权限 ,写入和执行被破折号取代,说明这个安全级别没有写入和执行这个文件的权限
10.改变权限
chmod 命令用来改变文件和目录的安全性设置
命令格式: chmod option mode file
11.改变所属关系
chown 命令用来改变文件的属主, chgrp 命令改变文件的默认属主
命令格式: chown optiond owner [ .group ] file
可用登录名或UID 来指定文件的新属性
chown 命令也可以支持同时改变文件的属主和属组
12.