一、用户/组概览
1.用户标识:UID与GID
(1)Linux系统是多用户、多任务的分时操作系统,系统上每一个进程都有一个特定的文件,每个文件都被一个特定的用户所拥有。
(2)每个用户都属于一个用户组或多个组,系统可以对一个用户组中的所以用户进行集中管理。
(3)id命令可查看当前用户登录信息,UID为用户的ID,GID为用户所属组的ID,groups为用户属于的所有组的ID。
[root@localhost ~]# id uid=0(root) gid=0(root) 组=0(root) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 [root@localhost ~]# id ciji uid=1000(ciji) gid=1000(ciji) 组=1000(ciji),10(wheel)示例
(4)每个文件都有一个所有者(第三列为文件的所有者信息),使用ll命令可查看文件的所以者。
[root@localhost ~]# ll /home 总用量 12 drwx------. 15 ciji ciji 4096 10月 18 14:40 ciji -rw-r--r--. 1 root root 6 10月 11 15:09 file01.txt -rw-r--r--. 1 root root 6 10月 11 15:10 file1.txt drwxr-xr-x. 2 root root 49 9月 27 13:54 hanping drwxr-xr-x. 2 root hr 34 10月 18 15:14 hr drwx------. 3 linux01 linux01 78 11月 1 15:15 linux01 drwx------. 3 linux02 linux02 78 11月 1 15:15 linux02 drwx------. 3 linux03 linux03 78 11月 1 15:15 linux03 drwx------. 3 qf01 qf01 78 9月 27 14:27 qf01 -rw-r--r--. 1 root root 0 9月 20 14:06 qjsj.txt drwx------. 3 quwe01 quwe01 78 10月 18 14:17 quwe01 drwx------. 3 quwe02 quwe02 78 10月 18 14:17 quwe02 drwxr-xr-x. 3 root root 106 10月 18 14:16 swxy -rw-r--r--. 1 root root 0 10月 18 15:21 test.txt drwx------. 3 tom tom 78 10月 18 14:04 tom drwx------. 3 user01 user01 78 10月 11 14:16 user01 drwx------. 3 user02 user02 78 9月 27 14:48 user02 drwx------. 3 1003 user03 78 9月 27 14:49 user03 drwx------. 3 user05 user05 78 9月 27 14:52 user05 [root@localhost ~]# ll /root 总用量 2084 drwxr-xr-x. 3 root root 17 11月 3 16:12 aba -rw-------. 1 root root 1531 9月 13 16:23 anaconda-ks.cfg -rw-r--r--. 1 root root 13 10月 25 15:14 ciji.txt -rw-r--r--. 1 root root 86 11月 1 14:32 date.txt -rw-r--r--. 1 root root 0 10月 25 14:57 file01 -rw-r--r--. 1 root root 57 11月 1 14:34 file01.txt -rw-r--r--. 1 root root 0 10月 25 14:57 file02 -rw-r--r--. 1 root root 2097152 11月 1 15:14 file02.txt -rw-r--r--. 1 root root 4 11月 1 15:20 file03.txt -rw-r--r--. 1 root root 12 11月 1 15:24 file04.txt -rw-r--r--. 1 root root 1579 9月 13 16:24 initial-setup-ks.cfg -rw-r--r--. 1 root root 119 11月 1 14:55 list.txt -rw-r--r--. 1 root root 23 11月 5 10:46 qf.txt -rw-r--r--. 1 root root 0 11月 1 15:14 user.txt drwxr-xr-x. 2 root root 6 9月 13 16:26 公共 drwxr-xr-x. 2 root root 6 9月 13 16:26 模板 drwxr-xr-x. 2 root root 6 9月 13 16:26 视频 drwxr-xr-x. 2 root root 6 9月 13 16:26 图片 drwxr-xr-x. 2 root root 6 9月 13 16:26 文档 drwxr-xr-x. 2 root root 6 9月 13 16:26 下载 drwxr-xr-x. 2 root root 6 9月 13 16:26 音乐 drwxr-xr-x. 2 root root 6 9月 13 16:26 桌面示例
(5)每个进程是以某个用户的身份运行的,可使用ps aux | less 命令查看进程。
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root 1 0.8 0.1 193980 7036 ? Ss 13:31 0:01 /usr/lib/systemd/systemd --switched-root --system --deserialize 22 root 2 0.0 0.0 0 0 ? S 13:31 0:00 [kthreadd] root 3 0.0 0.0 0 0 ? S 13:31 0:00 [kworker/0:0] root 4 0.0 0.0 0 0 ? S< 13:31 0:00 [kworker/0:0H] root 5 0.0 0.0 0 0 ? S 13:31 0:00 [kworker/u256:0] root 6 0.0 0.0 0 0 ? S 13:31 0:00 [ksoftirqd/0] root 7 0.0 0.0 0 0 ? S 13:31 0:00 [migration/0] root 8 0.0 0.0 0 0 ? S 13:31 0:00 [rcu_bh] root 9 0.1 0.0 0 0 ? S 13:31 0:00 [rcu_sched] root 10 0.0 0.0 0 0 ? S< 13:31 0:00 [lru-add-drain] root 11 0.0 0.0 0 0 ? S 13:31 0:00 [watchdog/0] root 12 0.0 0.0 0 0 ? S 13:31 0:00 [watchdog/1] root 13 0.0 0.0 0 0 ? S 13:31 0:00 [migration/1] root 14 0.0 0.0 0 0 ? S 13:31 0:00 [ksoftirqd/1] root 15 0.0 0.0 0 0 ? S 13:31 0:00 [kworker/1:0] root 16 0.0 0.0 0 0 ? S< 13:31 0:00 [kworker/1:0H] root 17 0.0 0.0 0 0 ? S 13:31 0:00 [watchdog/2] root 18 0.0 0.0 0 0 ? S 13:31 0:00 [migration/2] root 19 0.0 0.0 0 0 ? S 13:31 0:00 [ksoftirqd/2] root 20 0.0 0.0 0 0 ? S 13:31 0:00 [kworker/2:0] root 21 0.0 0.0 0 0 ? S< 13:31 0:00 [kworker/2:0H] root 22 0.0 0.0 0 0 ? S 13:31 0:00 [watchdog/3] root 23 0.0 0.0 0 0 ? S 13:31 0:00 [migration/3] root 24 0.0 0.0 0 0 ? S 13:31 0:00 [ksoftirqd/3] root 25 0.0 0.0 0 0 ? S 13:31 0:00 [kworker/3:0] root 26 0.0 0.0 0 0 ? S< 13:31 0:00 [kworker/3:0H] root 28 0.0 0.0 0 0 ? S 13:31 0:00 [kdevtmpfs] root 29 0.0 0.0 0 0 ? S< 13:31 0:00 [netns] root 30 0.0 0.0 0 0 ? S 13:31 0:00 [khungtaskd] root 31 0.0 0.0 0 0 ? S< 13:31 0:00 [writeback] root 32 0.0 0.0 0 0 ? S< 13:31 0:00 [kintegrityd] root 33 0.0 0.0 0 0 ? S< 13:31 0:00 [bioset] root 34 0.0 0.0 0 0 ? S< 13:31 0:00 [bioset] root 35 0.0 0.0 0 0 ? S< 13:31 0:00 [bioset] root 36 0.0 0.0 0 0 ? S< 13:31 0:00 [kblockd] root 37 0.0 0.0 0 0 ? S< 13:31 0:00 [md] root 38 0.0 0.0 0 0 ? S< 13:31 0:00 [edac-poller] root 39 0.0 0.0 0 0 ? S< 13:31 0:00 [watchdogd] root 40 0.0 0.0 0 0 ? S 13:31 0:00 [kworker/0:1] :示例
2.用户/组相关文件
(1)Linux系统中,所有用户的用户名存放在文件/etc/passwd中,密码存放在文件/etc/shadow中。
(2)/etc/passwd文件中,一行记录对应一个用户,被冒号(:)分隔成7个字段:用户名称、密码占位符、用户UID、主组GID、注释性描述、用户主目录、用户的Shell。
[root@localhost ~]# vim /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 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:993:988::/var/lib/chrony:/sbin/nologin unbound:x:992:987: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 usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin geoclue:x:991:985:User for geoclue:/var/lib/geoclue:/sbin/nologin ntp:x:38:38::/etc/ntp:/sbin/nologin sssd:x:990:984:User for sssd:/:/sbin/nologin setroubleshoot:x:989:983::/var/lib/setroubleshoot:/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 ciji:x:1000:1000:ciji:/home/ciji:/bin/bash apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin qf01:x:1001:1001::/home/qf01:/bin/bash user02:x:1002:1004::/home/user02:/bin/bash user05:x:1004:1006::/home/user05:/bin/bash user03:x:1005:1005::/home/user03:/sbin/nologin user01:x:1006:2002::/home/user01:/bin/bash tom:x:1007:2004::/home/tom:/bin/bash quwe01:x:1008:2005::/home/quwe01:/bin/bash quwe02:x:1009:2006::/home/quwe02:/bin/bash linux01:x:1010:1010::/home/linux01:/bin/bash linux02:x:1011:1011::/home/linux02:/bin/bash linux03:x:1012:1012::/home/linux03:/bin/bash示例
(3)/etc/shadow文件中,被冒号(:)分隔成9个字段:用户名称、加密后的密码、最近改动密码时间、密码不可变更时间(99999为没有限制)、密码重新变更时间、密码过期时间、密码过期宽恕时间、用户失效时间、保留。
[root@localhost ~]# vim /etc/shadow root:$6$9clCLDbm$u2AyRBCpSt23Kk5c1gpikVk9lsHE6SrA0UK.p/bGb8eUaXInD5mkbWi/.gxOM/KMEYQKIfMVueO97AwPD3sUq1:19662:0:99999:7::: bin:*:18353:0:99999:7::: daemon:*:18353:0:99999:7::: adm:*:18353:0:99999:7::: lp:*:18353:0:99999:7::: sync:*:18353:0:99999:7::: shutdown:*:18353:0:99999:7::: halt:*:18353:0:99999:7::: mail:*:18353:0:99999:7::: operator:*:18353:0:99999:7::: games:*:18353:0:99999:7::: ftp:*:18353:0:99999:7::: nobody:*:18353:0:99999:7::: systemd-network:!!:19613:::::: dbus:!!:19613:::::: polkitd:!!:19613:::::: libstoragemgmt:!!:19613:::::: colord:!!:19613:::::: rpc:!!:19613:0:99999:7::: saned:!!:19613:::::: gluster:!!:19613:::::: saslauth:!!:19613:::::: ······部分省略······示例
(4)注意,从CentOS6开始,UID为0是特权用户,UID为1~499是系统用户,UID为500以上是普通用户。
3.超级用户
1.root用户可以拥有所有系统权限,而且root用户有权力覆盖文件系统上的所有普通权限。
2.系统中大多数设备只能由root控制,如安装或删除软件、管理系统文件和目录等,普通用户要进行相关操作需要root用户的许可。
二、管理用户/组
1.创建用户/组
(1)useradd命令:用来建立用户帐号和创建用户的起始目录
使用权限:终极用户。
默认设置:创建新用户,默认的用户家目录会被存放在/home目录中,默认的Shell解释器为/bin/bash,而且默认会创建一个与该用户同名的基本用户组。
参数设置:
-d:指定用户的主目录(默认为/home/username)
-e:账户的到期时间,格式为YYYY-MM-DD。
-u:指定该用户的默认UID(整数)。
-g:指定一个初始的用户基本组(必须已存在)。
-G:特定用户的附加组列表。
-N:不创建与用户同名的基本用户组。
-s:指定该用户的默认Shell解释器。
[root@localhost ~]# useradd qf1 [root@localhost ~]# grep "qf1" /etc/passwd /etc/shadow /etc/group /etc/passwd:qf1:x:1014:1014::/home/qf1:/bin/bash /etc/shadow:qf1:!!:19668:0:99999:7::: /etc/group:qf1:x:1014: [root@localhost ~]# ls /home/ ciji hanping linux02 qf1 quwe02 tom user03 file01.txt hr linux03 qjsj.txt swxy user01 user05 file1.txt linux01 qf01 quwe01 test.txt user02 [root@localhost ~]# ls /var/spool/mail/ ciji linux02 qf01 quwe01 rpc user01 user03 linux01 linux03 qf1 quwe02 tom user02 user05示例
(2)若/etc/shadow行中显示“!!”,则表示未进行密码设置。
(3)注意:在Linux下创建一个用户时,若未指定任何组(主组或附加组),系统会默认给该用户创建一个和用户名相同的组作为用户的主组。
(4)groupadd命令:建立新的用户组
使用权限:管理员用户或root用户。
参数设置:
-g:GID指定新用户组的GID号。
-r:创建一个系统用户组。
[root@localhost ~]# groupadd hr [root@localhost ~]# groupadd fd [root@localhost ~]# useradd user2 -G hr [root@localhost ~]# useradd user3 -G hr,fd [root@localhost ~]# id user2 uid=1016(user2) gid=1016(user2) 组=1016(user2),2008(hr) [root@localhost ~]# id user3 uid=1017(user3) gid=1017(user3) 组=1017(user3),2008(hr),2009(fd) [root@localhost ~]# useradd user5 -G hr [root@localhost ~]# gpasswd -d user5 hr 正在将用户“user5”从“hr”组中删除 [root@localhost ~]# id user5 uid=1018(user5) gid=1018(user5) 组=1018(user5)示例
(5)usermod和gpasswd命令:修改文件数据或信息
[root@localhost ~]# id user05 uid=1004(user05) gid=1006(user05) 组=1006(user05) [root@localhost ~]# gpasswd -a user05 hr 正在将用户“user05”加入到“hr”组中 [root@localhost ~]# id user05 uid=1004(user05) gid=1006(user05) 组=1006(user05),2008(hr)示例
2.删除用户/组
(1)userdel命令:删除用户账户和相关文件
参数设置:
-r:删除用户的家目录和相关文件。
-f:强制删除用户,即使用户当前已登录或有运行的进程。
-Z:删除用户的SELinux安全上下文。
-h: 仅从系统中删除用户账户,而不删除家目录。
-R:指定用户家目录的根路径。
[root@localhost ~]# id user02 uid=1015(user02) gid=1015(user02) 组=1015(user02),2008(hr) [root@localhost ~]# userdel user02 [root@localhost ~]# id user02 id: user02: no such user [root@localhost ~]# ls /home ciji hanping linux02 qf1 quwe02 tom user03 file01.txt hr linux03 qjsj.txt swxy user01 user05 file1.txt linux01 qf01 quwe01 test.txt user02 [root@localhost ~]# ls /var/spool/mail/ ciji linux02 qf01 quwe01 rpc user01 user03 linux01 linux03 qf1 quwe02 tom user02 user05 [root@localhost ~]# userdel -r user05 [root@localhost ~]# ls /home/ ciji hanping linux02 qf1 quwe02 tom user03 file01.txt hr linux03 qjsj.txt swxy user01 file1.txt linux01 qf01 quwe01 test.txt user02 [root@localhost ~]# ls /var/spool/mail ciji linux02 qf01 quwe01 rpc user01 user03 linux01 linux03 qf1 quwe02 tom user02示例
(2)groupdel命令:用于删除用户组
注意:该命令需要root或sudo权限来执行。如果某个初始用户正在使用该用户组,则无法删除,此时需要修改该用户的GID或者直接删除该用户。
参数设置:
-h,--help:显示帮助信息并退出
[root@localhost ~]# grep "^market" /etc/group market:x:1009: [root@localhost ~]# groupdel market [root@localhost ~]# grep "^market" /etc/group [root@localhost ~]#示例
3.修改用户密码
(1)任何用户都可以通过passwd命令修改自己的密码,root用户可以修改其他用户的密码。
(2)普通用户修改密码需要提供原密码,root用户修改普通用户的密码则不属于提供原密码。
[root@localhost ~]# passwd ciji 更改用户 ciji 的密码 。 新的 密码: 重新输入新的 密码: passwd:所有的身份验证令牌已经成功更新。 [root@localhost ~]# su ciji //切换至普通用户 [ciji@localhost root]$ passwd 更改用户 ciji 的密码 。 为 ciji 更改 STRESS 密码。 (当前)UNIX 密码: 新的 密码: 无效的密码: 这个密码和原来的相同示例
4.安全用户
(1)在创建用户时,参数“-s”指定用户的登录Shell为/sbin/nologin,可将其设置为安全用户。
(2)rebout命令:重启计算机
参数设置:
-d:重新开机时不把数据写入记录文件/var/tmp/wtmp。本参数具有“-n” 参数效果。
-f:强制重新开机,不调用指令的功能。
-i: 在重开机之前,先关闭所有网络界面。
-n:重开机之前不检查是否有未结束的程序。
-:仅做测试,并不真正将系统重新开机,只会把重开机的数据写入var/log目录下的wtmp记录文件。
(3)poweroff命令:关闭计算机
注意:poweroff命令通常需要root权限才能执行,因为关机操作需要对系统进行一些特权操作。
(4)指定用户Shell使用/sbin/nologin的意义:
当指定某个用户的登录Shell为/sbin/nologin时,此用户无论通过本地还是远程登录的方式都不能登录系统,也无法实现系统管理。但该用户仍可以使用FTP和邮件服务这种不需要登录系统的服务。因此,这样的用户一般称为安全用户。
在CentOS5与CentOS6中,黑客可以通过多种方式将普通用户提权为超级用户。所以,在创建用户时,如果该用户没有必要登录系统,应该将此用户的登录Shell修改为/sbin/nologin,以消除安全隐患。
5.配置文件
常见的Linux配置文件包括:
(1).bashrc:该文件用于定制bash shel的配置和环境。它会在每次启动bash shell时被加载,可以根据用户的偏好和需求进行修改。
(2).bash_ history: 该文件记录了用户在bashshell中执行的所有命令历史记录。如果用户删除了这个文件,历史记录将会被清空。
(3).bash_ _profile: 该文件用于定制bash shell的启动选项和环境变量。它会在每次启动bash shell时被执行,并且可以定义用户自定义的变量和函数。
(4).bash_ aliases: 该文件包含用户定义的bash shell别名,可以帮助用户快速执行常用的命令或简化复杂的命令。
(5)/etc/passwd:该文件包含了系统上所有用户的账户信息,包括用户名、密码、家目录等。它通常不被直接修改,而是通过其他工具进行管理。
(6)/etc/shells:该文件列出了系统上可用的shell列表,用于限制用户可用的shell类型。
(7)/etc/profile:该文件包含系统级别的环境变量设置,对所有用户都有效。
(8)/etc/environment:该文件包含系统级别。
6.su/sudo命令
(1)su命令用于切换用户身份,可以切换到其他用户,如root用户或普通用户。该命令的基本语法为“su-用户名”,其中“-"表示要切换到该用户的家目录。例如,要切换到root用户,可以输入“'su - root" ,然后输入root用户的密码即可切换到root用户。su命令也可以于切换回原用户身份,只需输入"su-" 即可。
(2)sudo命令则用于在普通用户中获取系统管理员权限执行特定任务,可以提高系统安全性。该命令的基本语法为"sudo 命令”,中“命令”可以是任何需要管理员权限的命令。当用户执行sudo命令时,系统会要求输入当前用户的密码,然后以管理员权限执行该命令。需要注意的是,只有经过授权的用户才能使用sudo命令。
(3)相比之下,su命令只是简单地切换用户身份,而sudo命令则是在原有用户身份的基础上获取更高的权限来执行特定任务。同时,sudo命令的记录功能也方便了对系统管理的审计和跟踪。
(4)提示符:
超级管理员:#
普通用户:$
(5)加入Wheel组的普通用户可以使用sudo命令来执行系统相关操作,用户使用sudo时,必须先输入密码,之后有5分钟的有效时间,超过时限则必须重新输入密码。
[root@localhost ~]# useradd user13 -G wheel [root@localhost ~]# id user13 uid=1017(user13) gid=1017(user13) 组=1017(user13),10(wheel) [root@localhost ~]# su ciji [ciji@localhost root]$ useradd user10 useradd: Permission denied. useradd:无法锁定 /etc/passwd,请稍后再试。 [ciji@localhost root]$ sudo useradd user10 我们信任您已经从系统管理员那里了解了日常注意事项。 总结起来无外乎这三点: #1) 尊重别人的隐私。 #2) 输入前要先考虑(后果和风险)。 #3) 权力越大,责任越大。 [sudo] ciji 的密码: [ciji@localhost root]$ sudo id user10 uid=1018(user10) gid=1018(user10) 组=1018(user10)示例
[root@localhost ~]# su ciji //切换到普通用户 [ciji@localhost root]$ su - //切换到超级管理员 密码: 上一次登录:二 11月 7 21:16:35 CST 2023pts/1 上示例
标签:13,管理,0.0,nologin,用户,sbin,root From: https://www.cnblogs.com/Antler-Bi8bo/p/17812493.html