目录

一、linux中的用户账号

1、账号的分类

2、用户信息文件

3、密码信息文件

4、管理账号命令

二、linux中的组账号

1、组账号的分类

2、管理组账号的命令

三、linux文件目录的权限和归属

1、权限和归属的说明

2、文件的权限表示方法

3、修改权限的命令


一、linux中的用户账号

1、账号的分类

(1)超级用户

在所有Linux系统中,系统都是通过UID来区分用户权限级别的,而UID为0的用户被系统约定为是具有超级权限。超级用户具有在系统约定的最高权限范围内操作,所以说超级用户可以完成系统管理的所有工作。

(2)普通用户

账号需要由root用户或者其他管理员创建,拥有的权限受到一定限制,处理问题时同时也会受到一定限制,一般只在用户自己的宿主目录中拥有完整权限。

(3)程序用户

在安装linux系统及部分应用程序时,会添加一些权限较低的限制登录的账号,仅是用来维持

系统或某个程序能够正常运行。

2、用户信息文件

一般创建的用户的用户信息写入在/etc/passwd

(1) 用户名

是代表用户账号的字符串。通常长度不超过8个字符,并且由大小写字母和/或数字组成。登录名中不能有冒号(:),因为冒号在这里是分隔符。为了兼容起见,登录名中最好不要包含点字符(.),并且不使用连字符(-)和加号(+)打头。

(2)密码

:一些系统中,存放着加密后的用户口令字。虽然这个字段存放的只是用户口令的加密串,不是明文,但是由于/etc/passwd文件对所有用户都可读,所以这仍是一个安全隐患。

(3)用户标识号 (UID)

是一个整数,系统内部用它来标识用户。一般情况下它与用户名是一一对应的。如果几个用户名对应的用户标识号是一样的,系统内部将把它们视为同一个用户,但是它们可以有不同的口令、不同的主目录以及不同的登录Shell等。取值范围是0-65535。0是超级用户root的标识号,1-99由系统保留,作为管理账号,普通用户的标识号从100开始。
(4)组标识号    (GID)

字段记录的是用户所属的用户组

(5)描述字段

记录着用户的一些个人情况,例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的用途。在不同的Linux系统中,这个字段的格式并没有统一。

(6)主目录

就是用户的起始工作目录,它是用户在登录到系统之后所处的目录。在大多数系统中,各用户的主目录都被组织在同一个特定的目录下,而用户主目录的名称就是该用户的登录名。

(7)登录shell


用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。Shell是用户与Linux系统之间的接口。Linux的Shell有许多种,每种都有不同的特点。常用的有sh(BourneShell),csh(CShell),ksh(KornShell),tcsh(TENEX/TOPS-20typeCShell),bash(BourneAgainShell)等。系统管理员可以根据系统情况和用户习惯为用户指定某个Shell。
 

3、密码信息文件

一般创建用户的密码会存储在/etc/shadow中

(1)登录名

是与/etc/passwd文件中的登录名相一致的用户账号

(2)口令

字段存放的是加密后的用户口令字

(3)最后一次修改时间

是从某个时刻起,到用户最后一次修改口令时的天数。

(4)最小时间间隔

两次修改口令之间所需的最小天数

(5)最大时间间隔

口令保持有效的最大天数

(6)警告时间

从系统开始警告用户到用户密码正式失效之间的天数

(7)不活动时间

表示的是用户没有登录活动但账号仍能保持有效的最大天数

(8)失效时间

给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。

3、管理账号命令

1、添加用户命令

useradd    [选项名]    用户名

 选项

(1)-u

指定用户的uid号,该uid号不能被其他人使用。

(2)-d

指定用户的宿主目录

(3)-e

指定用户账号的失效时间   时间格式为:yyyy---mm--dd

(4)-g

指定用户的基本组名

(5)-G

指定用户的附加组名

(6)-M

不建立宿主目录

(7)-s

指定登录用户的shell

命令演示

[root@localhost ~]# useradd -u 1210 -d /y -g root -s /bin/bash mn


创建一个 uid号为1210 、宿主目录为/y  基本组在root 登录时的shell时 /bin/bash 用户名为mn

[root@localhost ~]# id mn                          查看用户的uid号和基本组附加组
uid=1210(mn) gid=0(root) 组=0(root)

2、设置密码命令

passwd  [选项]     用户名

选项

(1)-d

清空用户密码,使用用户名就能登录

(2)-l

锁定用户账号

(3)-S

查看用户账号是否锁定

(4)-u

解锁用户账号

命令演示

[root@localhost ~]# passwd mn                             给用户设置密码
更改用户 mn 的密码 。
新的 密码:
无效的密码: 密码未通过字典检查 - 过于简单化/系统化
重新输入新的 密码:
passwd:所有的身份验证令牌已经成功更新。


[root@localhost ~]# passwd -l mn                        锁定用户密码
锁定用户 mn 的密码 。
passwd: 操作成功


[root@localhost ~]# passwd -u mn                     给锁定的用户解密码
解锁用户 mn 的密码。
passwd: 操作成功


[root@localhost ~]# passwd -d mn                    清楚用户密码
清除用户的密码 mn。
passwd: 操作成功

3、修改用户账号的属性命令

usermod    [选项]   用户名

1、选项

(1)-l

更改用户登录名称

(2)-L

锁定账号用户

(3)-U

解锁账号用户

(4)-u

修改用户的uid号,该uid号不能被其他人使用

(5)-d

修改用户的宿主目录

(6)-e

修改用户账号的失效时间   时间格式为:yyyy---mm--dd

(7)-g

修改用户的基本组名

(8)-G

修改用户的附加组名

(9)-s

修改登录用户的shell

命令演示

[root@localhost ~]# echo "wsx123" |passwd --stdin mn            无交互式的修改密码
更改用户 mn 的密码 。
passwd:所有的身份验证令牌已经成功更新。

[root@localhost ~]# usermod -l km mn                           修改mn用户为km


[root@localhost ~]# usermod -L km                              锁定km账户
[root@localhost ~]# passwd -S km
km LK 2022-02-21 0 99999 7 -1 (密码已被锁定。)

[root@localhost ~]# usermod -U km                               解锁用户
[root@localhost ~]# passwd -S km
km PS 2022-02-21 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

4、删除用户命令

userdel  [选项]  用户名字

选项

(1)-r

连同宿主目录一起删除

命令演示

[root@localhost ~]# userdel km               删除km用户

二、linux的组账号

1、组账号的分类

(1)基本组

建立账户时,若没有指定账户所属的组,系统会建立一个和用户名相同的组,这个组就是私有组这个组默认只容纳了一个用户

在用户所属组中的第一个组称为基本组

(2)附加组

除了第一个组外的其他组为附加组或公共组,附加组在letc/group文件中指定

2、管理组账号的命令

1、添加组账户命令

groupadd [-g gid]  组账号名

案例演示

[root@localhost ~]# groupadd -g 1200 netmk                    创建组账号
[root@localhost ~]# cat /etc/group |grep netmk
netmk:x:1200:

2、给组成员添加、删除用户和密码

gpasswd    [选项]   组账号名

选项

(1)-a

向组内添加一个用户

(2)-d

从组内删除一个用户成员

(3)-M

定义组成员列表,以逗号分隔

命令演示

[root@localhost ~]# gpasswd -a zs netmk                        将用户zs加入到组
正在将用户“zs”加入到“netmk”组中
[root@localhost ~]# cat /etc/group |grep netmk
netmk:x:1200:zs

[root@localhost ~]# gpasswd -d zs netmk                       将用户zs在组内删除
正在将用户“zs”从“netmk”组中删除
[root@localhost ~]# cat /etc/group |grep netmk
netmk:x:1200:

 

三、linux的文件目录的权限和归属

1、权限和归属的说明

访问权限

(1)读取:r

允许查看文件内容,显示目录列表

(2)写入 :w

允许修改文件内容,允许在新建目录中新建、移动、删除文件或子目录

(3)执行:x

允许运行程序、切换目录

归属

(1)属主

拥有该文件或目录的用户账号

(2)属组

拥有该文件或目录的组账号

2、文件的权限表示方法

drwxr-xr-x. 2 root root 6 3月  26 2015 rh

第一部分:文件所有者

第二部分:文件所属组

第三部分:其他用户

3、修改权限的命令

chmod    [u、g 、o 、a]     [+ - =]    文件名或目录

chmod   [nnn]  文件或目录

 

(1)u

指文件拥有者

(2)o

其他用户

(3)g

文件所属组

(4)a

指以上三者

命令演示


[root@localhost opt]# chmod o+w 1.txt           在1.txt中给其他用户添加写入权限                                                                                          
                                                                                        
[root@localhost opt]# ls -lh 1.txt
-rw-r--rw-. 1 root root 0 2月  21 15:48 1.txt

2、修改目录文件属主

chown    要更改的属主            要更改的文件或目录

选项

-R

递归更改属主

[root@localhost opt]# chown zs 1.txt               更改1.txt文件的属主为zs
[root@localhost opt]# ll
总用量 0
-rw-r--rw-. 1 zs   root 0 2月  21 16:36 1.txt

[root@localhost opt]# chown -R zs /aa             递归更改属主

3、

GitHub 加速计划 / li / linux-dash
11
2
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 5 年前
5def40a3 Add host customization support for the NodeJS version 5 年前
Logo

新一代开源开发者平台 GitCode,通过集成代码托管服务、代码仓库以及可信赖的开源组件库,让开发者可以在云端进行代码托管和开发。旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐