Linux系统用户创建及权限
Linux系统用户创建及权限
用户类别
普通用户:权限受到限制的用户
超级管理员:在系统中拥有最高权限的用户
程序用户:不是给人登录用,程序用
Linux系统是如何区分每一个用户
每个用户都有一个身份证号:uid
超级管理员:0
普通用户:1000 - 60000
程序用户:1-999
Linux系统查看用户信息
查看用户id
[root@localhost home]# id order------- ----------------查看order的用户信息
uid=9999(order) gid=0(root) 组=0(root)-----------------对应信息
用户账户信息位置
用户名称、宿主目录、登录 Shell 等基本信息
[root@localhost ~]#cat /etc/passwd---------------------查看用户信息
root:x:0:0:root:/root:/bin/bash------------------------root的用户信息
saber:x:1000:1000:saber:/home/saber:/bin/bash----------saber账号的用户信息
gdm:x:42:42::/var/lib/gdm:/sbin/nologin----------------gdm程序的信息
···
用户信息含义
root:x:0:0:root:/root:/bin/bash-----共7段每段以:隔开
root-------用户名称
x----------密码占位符
0----------uid
0----------gid
root-------备注信息,描述
/root------家目录路径(普通用户无更改即在/home下的同名文件中)
/bin/bash--shell环境类型为bash(程序用户为/sbin/nologin意为不登陆)
shell种类(/etc/shells下)
/bin/sh
/bin/bash
/sbin/nologin
/usr/bin/sh
/usr/bin/bash
/usr/sbin/nologin
/bin/tcsh
/bin/csh
用户密码
[root@localhost home]# cat /etc/shadow------------------查看用户密码
root:$6$ruoRoNEdA.9Ct/l.$fj0grjmdjEveGZuE2ZyNO.pVZlJy/N37w80AMRVApOzHwFSGa8PPrssyLkZwwhlciKItk.76TNRSLA18sJsRX1::0:99999:7:::---------------------------------------root的用户密码
saber:$6$GxDuID17wjF2Jtu9$GLxeM4GPAy8vXbE69sb5otxuzpAG.pkMaE8smfJ/bXe/GuBYWiD7VBQxII9znua4kxT0HSpt.pRbPMsbmt6k2.::0:99999:7:::--------------------------------------saber账号的用户密码
gdm:!!:19793::::::--------------------------------------gdm程序的信息
...
用户密码含义
[root@localhost home]# cat /etc/shadow------------------查看用户密码
root:$6$ruoRoNEdA.9Ct/l.$fj0grjmdjEveGZuE2ZyNO.pVZlJy/N37w80AMRVApOzHwFSGa8PPrssyLkZwwhlciKItk.76TNRSLA18sJsRX1::0:99999:7:::---------------------------------------共九段以:隔开
第一段:登录名。
第二段:加密后的密码。(此字段可以为空,此时认证为特定的登录名时,不要求密码。然而,一些读取/etc/shadow 文件的应用程序,在密码字段为空时,可能决定禁止任何访问。以叹号开始的密码字段意味着密码被锁定。该行的剩余字符表示锁定之前的密码。)
第三段:最后一次修改密码的时间。(表示从1970年1月1日开始的天数。0有特殊意思,表示用户应该在下次登录系统时更改密码。空字段表示密码年龄功能被禁用。)
第四段:修改密码间隔时间。(用户一次更改密码之后,要等多长时间才再次被允许更改密码。空字段或 0 表示没有最小密码年龄。)
第五段:密码定期修改时间。(这些天之后,用户必须更改密码。这些天之后,密码仍然可用。用户将会在下次登录的时候被要求更改密码。空字段表示没有最大密码年龄,没有密码警告时间段,没有密码禁用时间段,如果最大密码年龄小于最小密码年龄,用户将会不能更改密码。)
第六段:预警时间。(密码过期之前,提前警告用户的的天数,空字段或者 0 表示没有密码警告期。)
第七段:宽限期。(密码过期后依旧可以登录的天数)
第八段:账户过期时间。(表示从1970年1月1日开始的天数空字段表示账户永不过期。应该避免使用 0,因为它既能理解成永不过期也能理解成在1970年1月1日过期。
第九段:保留字段。(写备注信息的地方)
属主设置
创建用户
useradd [选项] 用户名
本质为在/etc/passwd文件下创建一个新的用户信息,用户文件夹存在于/home/下
tail -n 1 /etc/passwd------可查看新建用户信息
选项
-
-u:指定用户的 UID 号,要求该 UID 号码未被其他用户使用。
-
-d:指定用户的宿主目录位置(当与-M 一起使用时,不生效)。
-
-e:指定用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
-
-g:指定用户的基本组名(或使用 GID 号)。
-
-G:指定用户的附加组名(或使用 GID 号)。
-
-M:不建立宿主目录,即使/etc/login.defs 系统配置中已设定要建立宿主目录。
-
-s:指定用户的登录 Shell /sbin/nologin
例:建立一个chen的用户,uid为1100,目录在/ky36下,基本组在超级管理员组下,附加组为wheel
[root@localhost ~]# useradd -u 1100 -d /ky36 -g root -G wheel chen
[root@localhost ~]# id chen
uid=1100(chen) gid=0(root) 组=0(root),10(wheel)
[root@localhost ~]# tail -n 1 /etc/passwd
chen:x:1100:0::/ky36:/bin/bash
删除用户
userdel -r 用户名
选项-r表示删除家目录
更改用户密码
*新建用户需输入后才可登录
passwd [选项] 已有用户名
选项
- -d:清空指定用户的密码,仅使用用户名即可登录系统。
- -l:锁定用户账户。
- -S:查看用户账户的状态(是否被锁定)。
- -u:解锁用户账户。
例:更改chen的密码
[root@localhost ~]# passwd chen
更改用户 chen 的密码 。
新的 密码:
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。
修改用户账号的属性
usermod [选项]... 用户名
常见选项
- -l 更改用户账号的登录名称(Login Name)
- -L 锁定用户账户
- -u 修改用户的 UID 号
- -U 解锁锁用户账户
- -d:修改用户的宿主目录位置。
- -e:修改用户的账户失效时间,可使用 YYYY-MM-DD 的日期格式。
- -g:修改用户的基本组名(或使用 GID 号)
- -G:修改用户的附加组名(或使用 GID 号)
- -s:指定用户的登录 Shell
例:更改用户名chen为admin
[root@localhost home]# tail -n2 /etc/passwd
order:x:9999:0::/home/order:/sbin/nologin
chen:x:1100:0::/ky36:/bin/bash
[root@localhost home]# usermod -l admin chen ----usermod -l 新用户名 旧用户名
[root@localhost home]# tail -n2 /etc/passwd
order:x:9999:0::/home/order:/sbin/nologin
admin:x:1100:0::/ky36:/bin/bash
例:将order用户的UID改为1234,属组改为root,增加附加组wheel,使用bash登录,2025年4月4号过期
[root@localhost home]# cat /etc/passwd | grep order
order:x:9999:0::/home/order:/sbin/nologin
[root@localhost home]# usermod -u 1234 -g 0 -G 10 -s /bin/bash order
[root@localhost home]# cat /etc/passwd | grep order
order:x:1234:0::/home/order:/bin/bash
属组设置
创建属组
属组文件存放于:
/etc/group:保存组帐号基本信息
/etc/gshadow:保存组帐号的密码信息基本不使用
[root@localhost home]# cat /etc/group
root:x:0:
...
[root@localhost home]# cat /etc/gshadow
root:::
groupadd [-g] 组名
选项-g gid 设置组ID
新建gid为1234名为rule的组
[root@localhost home]# groupadd -g 1234 rule
[root@localhost home]# cat /etc/group |grep rule
rule:x:1234:
组内管理
gpasswd 命令——添加、设置、删除组成员
- -a:向组内添加一个用户
- -d:从组内删除一个用户成员
- -M:定义组成员列表,以逗号分隔
例:将saber添加到rule组中
[root@localhost ~]# id saber
uid=1000(saber) gid=1000(saber) 组=1000(saber)
[root@localhost ~]# gpasswd -a saber rule
正在将用户“saber”加入到“rule”组中
[root@localhost ~]# id saber
uid=1000(saber) gid=1000(saber) 组=1000(saber),1234(rule)
删除组账号
groupdel 组帐号名
[root@localhost ~]# tail -n2 /etc/group
rule:x:1234:saber
1234:x:1235:
[root@localhost ~]# groupdel 1234
[root@localhost ~]# tail -n2 /etc/group
apache:x:48:
rule:x:1234:saber
查询
-
finger命令查询用户帐号的详细信息
finger [用户名]
[root@localhost ~]# finger saber
Login: saber ----登录用户 Name: saber ----用户名
Directory: /home/saber ----家目录位置 Shell: /bin/bash ----shell类型
Never logged in. ----没有登录
No mail. ----没有邮箱
No Plan. ----没有计划
-
w 查询已登录到主机的用户信息
w [选项] [用户名]
-h --no-header不打印标题
-u --no-current忽略当前进程用户名
-s --short短格式
-f --from显示远程主机名字段
-o --old-style老式输出
-i --IP -addr显示IP地址而不是主机名(如果可能)
--help显示帮助并退出
-V --version输出版本信息并退出
[root@localhost ~]# w saber
16:39:54 up 8:11, 1 user, load average: 0.00, 0.01, 0.05
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
-
who 命令只能显示当前登陆的用户信息,但无法知晓每个用户正在执行的命令。
who [选项] [用户名]
选项 | 含义 |
---|---|
-a | 列出所有信息,相当于所有选项。 |
-b | 列出系统最近启动的时间日期。 |
-l | 列出所有可登陆的终端信息。 |
-m | 仅列出关于当前终端的信息,who -m 命令等同于 who am i 。 |
-q | 列出在本地系统上的用户和用户数的清单。 |
-r | 显示当前系统的运行级别。 |
-s | 仅显示名称、线路和时间字段信息,这是 who 命令的默认选项。 |
-u | 显示当前每个用户的用户名、登陆终端、登陆时间、线路活动和进程标识。 |
-T 或 -w | 显示 tty 终端的状态,“+”表示对任何人可写,“-”表示仅对 root 用户或所有者可写,“?”表示遇到线路故障。 |
权限
权限分为三种
-
r:读(4)
-
w:写(2)
-
x:执行(1程序,脚本)
*注:文件夹文件属性由 文件类型 属主权限 属组权限 其他人权限 三部分组成
[root@localhost ~]# ll /home/
总用量 0
drwx------. 3 1001 1001 78 3月 5 22:09 mk
drwx------. 3 order order 78 2月 28 17:23 order
对文件的权限--新建文件默认权限666无法执行
- r 可使用文件查看类工具,比如:cat,可以获取其内容
- w 可修改其内容
- x 可以把此文件提请内核启动为一个进程,即可以执行(运行)此文件(此文件的内容必须是可执行)
对目录的权限--新建文件夹权限777
-
r 可以使用ls查看此目录中文件列表
-
w 可在此目录中创建文件,也可删除此目录中的文件,而和此被删除的文件的权限无关
-
x 可以cd进入此目录,可以使用ls -l查看此目录中文件元数据(须配合r权限),属于目录的可访问的最小权限
新建文件文件夹的默认值
umask可以查询,root的umask 默认是 022,非特权用户umask默认是 002
[root@localhost joker]# umask
0022
权限含义
rwx rwx rwx
7 7 7
权限 | 十进制 | 二进制 |
---|---|---|
r | 4 | 100 |
w | 2 | 10 |
x | 1 | 1 |
修改文件文件夹权限
chmod 权限 文件
chmod 对谁(所有者,所属组,其他)操作(+ - =)权限 文件
对象 | 字符 |
---|---|
属主 | u |
属组 | g |
其他人 | o |
所有人 | a |
[root@localhost saber]# ll
总用量 8
drwxr-xr-x 7 root root 51 3月 29 09:43 11
-rw-r--r-- 1 root root 48 4月 1 09:29 123
drwxr-xr-x 7 root root 51 3月 29 16:45 22
drwxr-xr-x 7 root root 51 3月 29 09:43 33
-rw-r--r-- 1 root root 59 3月 29 13:49 abc
[root@localhost saber]# chmod 777 11 ----将11文件夹权限变为777
[root@localhost saber]# ll
总用量 8
drwxrwxrwx 7 root root 51 3月 29 09:43 11
-rw-r--r-- 1 root root 48 4月 1 09:29 123
drwxr-xr-x 7 root root 51 3月 29 16:45 22
drwxr-xr-x 7 root root 51 3月 29 09:43 33
-rw-r--r-- 1 root root 59 3月 29 13:49 abc
[root@localhost saber]# chmod -222 11 ----将11文件夹三种权限都去除写的功能
[root@localhost saber]# ll
总用量 8
dr-xr-xr-x 7 root root 51 3月 29 09:43 11
-rw-r--r-- 1 root root 48 4月 1 09:29 123
drwxr-xr-x 7 root root 51 3月 29 16:45 22
drwxr-xr-x 7 root root 51 3月 29 09:43 33
-rw-r--r-- 1 root root 59 3月 29 13:49 abc
[root@localhost saber]# chmod a=rwx 11 ----将11文件夹权限变为rwx和777一样
[root@localhost saber]# ll
总用量 8
drwxrwxrwx 7 root root 51 3月 29 09:43 11
-rw-r--r-- 1 root root 48 4月 1 09:29 123
drwxr-xr-x 7 root root 51 3月 29 16:45 22
drwxr-xr-x 7 root root 51 3月 29 09:43 33
-rw-r--r-- 1 root root 59 3月 29 13:49 abc
[root@localhost saber]# ll 11
总用量 0
drwxr-xr-x 3 root root 19 3月 29 09:43 1
drwxr-xr-x 3 root root 19 3月 29 09:43 2
drwxr-xr-x 3 root root 19 3月 29 09:43 3
drwxr-xr-x 3 root root 19 3月 29 09:43 4
drwxr-xr-x 3 root root 19 3月 29 09:43 5
[root@localhost saber]# chmod -R 777 11/ ----“-R”可修改文件夹下所有文件(夹)
[root@localhost saber]# ll 11
总用量 0
drwxrwxrwx 3 root root 19 3月 29 09:43 1
drwxrwxrwx 3 root root 19 3月 29 09:43 2
drwxrwxrwx 3 root root 19 3月 29 09:43 3
drwxrwxrwx 3 root root 19 3月 29 09:43 4
drwxrwxrwx 3 root root 19 3月 29 09:43 5