1、linux操作系统用户及用户组

Linux操作系统是多任务(Multi-tasks)多用户(Multi-users)分时操作系统,linux操作系统的用户就是让我们登录到linux的权限;每当我们使用用户名登录操作系统时,linux都会对该用户进行认证、授权审计等操作。操作系统为了识别每个用户,会给每个用户定义一个ID,就是UID。用户组就相当于多个用户的容器;在linux系统中,用户组也有一个ID,GID。

1.1 linux操作系统用户

在linux中,用户分为两大类:管理员用户和普通用户,其中普通用户由分为系统用户和登录用户;

用户标识:user id,UID

​linux通过名称解析库“/etc/passwd”文件解析用户名与用户ID之间的对应关系。

/etc/passwd:用户信息库

name:password:UID:GID:GECOS:directory:shell

1.2 linux操作系统用户组

在Linux中,用户组分类方式有三种:

1、管理员组、普通用户组(系统用户组,登录用户组)

2、用户的基本组、用户附加组

3、私有组、公共组

用户组标识:group id,GID

linux通过名称解析库“/etc/group”文件解析用户名与用户ID之间的对应关系。

1.3 linux操作系统密码

用户在登录linux系统时,会对比password与之前保存在“/etc/shadow”、“/etc/gshadow”文件中的密码是否一致。

​加密算法:

定长输出:

/etc/shadow:用户密码

用户名:加密的密码:最近一次修改密码的时间:最短使用期限:最长使用期限:警告期段:非活动期限:过期期限:保留字段

linux 从入门到放弃权限管理(每天5分钟30天掌握linux)(1)

linux 从入门到放弃权限管理(每天5分钟30天掌握linux)(2)

root:$6$28Q91hEp6c..QfTj$HZFYC1hMr1/dMDpO2t51ipld329/HrPw4rbB6nguyOiglTxNtxT/ob6cCgeMW78K9tgfYPffhi8HHqHz9o.qu1::0:99999:7:::

加密密码:使用$分隔,第一个段表示使用的加密算法,第二个段表示添加的salt。第三段表示加密后的密码.

2、权限管理

linux的文件管理权限分为读、写和执行

[root@k8s-master ~]# ls -l /bin/bash -rwxr-xr-x. 1 root root 960472 Aug 3 2017 /bin/bash

文件权限:

共分为五个部分:

权限:

权限对文件的作用:

权限对目录的作用:

x:可cd至此目录中;且可使用ls -l来获取所有文件的详细属性信息;

3、相关命令

3.1用户管理命令

useradd命令:创建用户

useradd [选项] 登录名

注意:创建用户时的诸多默认设定配置文件为/etc/login.defs

useradd -D:显示创建用户的默认选项配置;

useradd -D 选项:修改默认选项的值;

修改的结果保存于/etc/default/useradd文件中;可以直接修改此文件来实现。

usermod命令:修改用户属性

usermod [选项] 登录名

userdel命令:删除用户,

userdel [选项] 登录名

id命令:显示用户的真实和有效的UID和GID

id [OPTION]… [USERNAME]

su命令:switch user

登录式切换:会通过重新读取目标用户的配置文件来重新初始化

su - USERNAME

su -l USERNAME

非登录式切换:不会读取目标用户的配置文件进行初始化

su USERNAME

注意:管理员可无密码切换至其它任何用户;其它用户在切换用户时必须输入密码。

-c “COMMAND”:仅以指定用户的身份运行此处指定的命令

例如:su - USERNAME -c “whoami”

3.2 用户组管理命令

groupadd命令:添加组

groupadd [选项] group_name

groupmod命令:修改组属性

groupmod [选项] GROUP

groupadd命令:删除组

groupdel [选项] GROUP

3.4 密码管理命令

passwd命令:

passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays]

[-S] [–stdin] [username]

(1)passwd:修改用户自己的密码;

(2)passwd USERNAME:修改指定用户的密码,但仅root有此权限;

echo “PASSWORD” | passed –stdin USERNAME

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

gpasswd命令:

用户组密码文件:/etc/gshadow

gpasswd [选项] group

newgrp命令:临时切换指定的组为基本组;

newgrp [-] [group]

-:会模拟用户重新登录以实现重新初始化其工作环境

注意:

若指定组设定了密码:

(1)如果用户的附加组是要切换到的组名,那么不需要密码可以直接切换到指定组。

(2)如果用户的附加组不包含要切换的组名,那么需要输入密码才能切换到指定组。

若指定组没有设定密码:所有用户都不可以直接切换到指定组;root用户除外。

chage命令:更改用户密码过期信息

[root@localhost ~]# chage list root

用法:chage [选项] 登录

选项:

其他几个命令用户管理命令:

chsh:修改shell

chfn:修改用户基本信息

finger:显示用户基本信息

[root@k8s-master ~]# finger

Login Name Tty Idle Login Time Office Office Phone Host

root root pts/0 1:10 May 29 09:21 (192.168.1.20)

root root pts/1 May 29 10:29 (192.168.1.20)

[root@k8s-master ~]#

pwck:检查用户的密码是否有问题

[root@k8s-master ~]# pwck user 'ftp': directory '/var/ftp' does not exist pwck: no changes [root@k8s-master ~]#

grpck:检查组文件的完整性

3.5 权限管理命令

chmod命令:

chmod [OPTIONS]… MODE[,MODE]… FILE… chmod [OPTIONS]… OCTAL-MODE FILE… chmod [OPTIONS]… –reference=RFILE FILE… 三类用户: u:属主 g:属组 o:其它 a:所有

(1)chmod [OPTIONS]… MODE[,MODE]… FILE…

MODE表示法:

赋权表示法:直接操作一类用户的所有权限位;

在赋予三类用户的权限不同时,则用逗号隔开;如果相同,可以合并授权。

u=

g=

o=

a=

授权表示法:直接操作一类用户的所有权限位r,w,x:

在赋予三类用户的权限不同时,则用逗号隔开;如果相同,可以合并授权。

u ,u-

g ,g-

o ,o-

a ,a-

(2)chmod [OPTIONS]… OCTAL-MODE FILE…

使用十进制的数字进行授权

(3)chmod [OPTIONS]… –reference=RFILE FILE…

参考文件权限授权;

选项:

-R,–recursive:递归修改,对目录下的所有文件(包括子目录)都有效。

注意:用户仅能修改属主为自己的那些文件的权限;

从属管理管理命令:chown,chgrp

chown命令:

chown [选项]… [OWNER][:[GROUP]] FILE… chown [选项]… [OWNER][.[GROUP]] FILE… chown [选项]… –reference=RFILE FILE…

选项:

-R:递归修改,对目录下的所有文件(包括子目录)都有效。

chgrp命令:

chmod [选项]… GREOUP FILE… chmod [选项]… –reference=RFILE FILE…

注意:仅管理员可修改文件的属主和属组;

umask:文件的权限反向掩码,遮罩码;

文件:

666-umask

目录:

777-umask

注意:之所以文件用666去减,表示文件默认不能拥有执行权限;如果减得的结果中有执行权限,则需要将其加1;

umask命令:

umask:查看当前umask umask MASK:设置umask;

注意:此类设定仅对当前shell进程有效。

,