私有组和主组的关系Linux,Linux用户与组及权限管理

一、用户和组基本概念

1、用户分类

管理员:UID(用户标识)为0,采用16bits二进制数字:0-65535

普通用户:UID为1-65535

系统用户:1-499(Centos6),1-999(Centos7)

登录用户:500-60000(Centos6),1000-60000(Centos7)

名称转换:

usernameUID

解析库:/etc/passwd

2、组分类

2.1.组类1:

管理员组:GID(组标识符)为0,也采用16bits二进制数字:0-65535也

普通用户组:GID为1-65535

系统用户组:1-499(Centos6),1-999(Centos7)

登录用户组:500-60000(Centos6),1000-60000(Centos7)

名称转换:

groupnameGID

解析库:/etc/group

2.2.组类2:

用户的基本组

用户的附加组

2.3.组类3:

私有组:组名同用户名,且包含一个用户;

公有组:组内包含多个用户;

3、密码认证

3.1.通过比对事先存储的与登录提供信息是否一致

passwd:

/etc/shadow //用户密码库

/etc/gshadow //组密码库

3.2.密码使用策略

1)使用随机密码;

2)不低于8位;

3)大小写、数字、标点符号中至少三种;

4)定期更换;

3.3.加密算法

1)对称加密:加密和解密使用同一密码;

2)非对称加密:加密和解密使用的一对儿密码;

密码对儿:

公钥:public key

私钥:private key

3)单向加密:只能加密,不能解密,提取数据的特征码

特点:

输入一样,输出必然相同;

雪崩效应,输入的微小改变,将会引起结果的巨大变化;

定长输出,无论原始数据多大,结果大小都是相同的;

不可逆,无法根据特征码还原原来的数据;

算法:采用下面六种:

md5:message digest,128bits

Sha1:secure hash algorithm,160bits

Sha224

Sha256

Sha384

Sha512

上面排序是1-6,可以在/etc/shadow查看采用哪种加密,如下图6 66就是用的sha512,及下面采用md5和sha加密示例:

4926dc260b32643cdeec92d98d35b312.png

2058ebf607f63ac750021a893a0579c1.png

67912f118a609a5964b7d4049acb03ad.png

注意:避免当两个用户密码设置一样时,在/etc/shadow 看到的加密信息一样,一般会采用随机数避免(称为加salt)

4)/etc/passwd:用户的信息库

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

name:用户名

Password:可以是加密的密码,也可以是占位符x;

UID:用户标识号

GID:用户所属的主组的ID号

GECOS:注释信息

directory:用户家目录

Shell:用户默认shell,登录时默认shell程序

如:

fa70bc20ea509b8f644341cc5eba4946.png

5)/etc/shadow:用户密码

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

列如:

9a96b21817a3910c5eedd3faf3dc6a5b.png

6)/etc/group:组的信息库

group_name:password:GID:user_list

user_list:该组的用户成员;以此组为附加组的用户的用户列表。

二、用户和组命令

访问上下文:

进程以其发起者的身份运行;

进程对文件进行访问权限,取决于发起者对此进程用户的权限;

系统用户:为了能够让那后台进程或服务类进程以非管理员的身份运行,需要为此创建多个普通的用户;

1、group相关命令

1)groupadd:添加组

格式:groupadd [option] group_name;

-g:指定GID;未指定默认在上个GID+1;

-r:创建系统组;

2)groupmod:修改组的属性

格式:groupmod [选项] group;

-g:修改GID;

-n:修改组名;

3)groupdel:删除组

格式:groupdel [选项] group;

2、user相关命令

2.1. useradd:创建用户

格式:useradd [选项] 用户名;

-u:指定UID;

-g:指定基本组ID,不过此组得先存在;

-G+GROUP1[,GROUP2,...[,GROUPN]]:指定用户所属的附加组,多个组之间用逗号隔开;

-c:指明注释时间;

-d:指定用户主(家)目录,默认/home/username;通过复制/etc/skel此目录的文件重命名实现,若指定的目录存在,则不会为用户复制环境配置文件;

-s:指定shell,所有可用的shell列表存储在/etc/shells文件中;

-r:创建system用户;

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

useradd -D:显示创建用户默认配置,也可以后面添加直接想修改的项,如下:

1100d4d51304b5554773beebe0a1b79a.png

修改的结果保存于/etc/default/useradd。

2.2. usermod:修改用户属性

格式:usermod [选项] 登录

-u:修改UID;

-g:修改用户所属的基本组;

-G+group1[,group2,...[groupn]]修改用户的附加组,原来的被覆盖;

-a:与-G一起用,追加新的附件组;

-c:修改注释信息;

-d:修改用户家目录,用户原有的文件不会转移到新目录;

-m:与-d一起用,将原来的家目录移动到新的目录;

-l: 修改用户名;

-s:修改用户的默认shell;

-L:--lock,锁定用户密码,即在用户原来的密码字符串之前添加一个“!”;

-U:--unlock,解锁用户密码;

2.3. userdel:删除用户

格式:userdel [选项] 登录

-r:删除用户一并删除其家目录;

2.4. passwd:修改用户密码

格式:passwd [-k] [-l] [-u [-f]] [-d] [-e] [-n mindays] [-x maxdays] [-w warndays] [-i inactivedays] [-S] [--stdin] [username] ;

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

passwd+username:修改指定用户的密码,但仅root用户有这个权限;

-l,-u:锁定和解锁用户;

-d:清除用户的密码串;

-e DATE:过期期限,日期;

-i DAYS:非活动期限;

-n DAYS:密码的最短使用期限;

-x DAYS:密码的最长使用期限;

-w DAYS:警告期限;

echo “password” | passwd --stdin username

2.5. gpasswd:修改组密码

组密码文件:/etc/gshadow

格式:gpasswd [选项] group

-a username:向组添加用户;

-d username:从组中移除用户;

2.6. newgrp:临时切换指定的组为基本组;

格式:newgrp [-] [group]

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

2.7. chage:更改密码过期信息

格式:chage [选项] 登录名

-d : last_da

-E : expried

-W : warn_da

-m :min_day

-M :max_day

2.8. id:显示用户真的和有效的UID

格式:Id [option] ... [user]

-u :仅显示有效的UID;

-g:仅显示用户基本组ID;

-G:仅显示用户所属的所属组的ID;

-n:显示名字而非ID;

2.9. su:switch user

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

su - username

su -l username

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

su username

su -c command 用户:仅以指定用户身份运行指定的命令,如:

492ce1e108d67716e8d4ab24ee8fdc13.png

其它几个命令:chsh, chfn, finger, whoami, pwck, grpck;

三、权限管理

1、基本概念:

1.1. 使用ll(ls -l)查看目录或文件权限

rwxrwxrwx:(r,w,x:4,2,1)

左三位:定义user(owner)的权限

中三位:定义group的权限;

右三位:定义other的权限

8492e70575047ac2bdd946dd37a289cf.png

1.2. 进程对文件的访问权限应用模型

进程的属主与文件的属主是否相同;

如果相同,则应用属主权限;

否则,则检查进程的属主是否属于文件的属组;

如果是,则应用属组权;

否则,就只能应用other的权限;

1.3. 文件:

r:可获取文件的数据;

w: 可修改文件的数据;

x:可将此文件运行为进程;

1.4. 目录:

r:可使用ls命令获取其下的所有文件列表;

w: 可修改此目录下的文件列表;即创建或删除文件;

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

2、命令

2.1. chmod:修改权限

格式:

chmod [OPTION]... MODE[,MODE]... FILE...

chmod [OPTION]... OCTAL-MODE FILE...

chmod [OPTION]... --reference=RFILE FILE...

三类用户:

u:属主

g:属组

o:其它

a: 所有

1)chmod [OPTION]… MODE[,MODE]… FILE…

MODE表示法:

赋权表示法:

u=

g=

o=

a=

授权表示法:

u+, u-

g+, g-

o+, o-

a+, a-

2)chmod [OPTION]… OCTAL-MODE FILE…

八进制表示:chomd 777 FILE

3) chmod [OPTION]… --reference=RFILE FILE…

与指定文件具有相同权限,如:

8018df5707fc93b8eb906411b195aba2.png

选项:-R, --recursive:递归修改,针对多级目录

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

2.2. chown, chgrp :从属关系管理命令

1)chown命令:

格式:

chown [OPTION]... [OWNER][:[GROUP]] FILE...

chown [OPTION]... --reference=RFILE FILE...

选项:-R:递归修改

e764abb9010bc443f366cdc6a6df710c.png

2)chgrp命令:

格式:

chgrp [OPTION]... GROUP FILE...

chgrp [OPTION]... --reference=RFILE FILE...

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

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

文件:

666-umask

目录:

777-umask

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

umask: 023

666-023=644

777-023=754

umask命令:

umask:查看当前umask

umask MASK: 设置umask

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

3)install命令:

install - copy files and set attributes(属性)

单源复制:

install [OPTION]... [-T] SOURCE DEST

多源复制:

install [OPTION]... SOURCE... DIRECTORY

install [OPTION]... -t DIRECTORY SOURCE...

创建目录:

install [OPTION]... -d DIRECTORY...

常用选项:

-m, --mode=MODE:设定目标文件权限,默认为755;

-o, --owner=OWNER:设定目标文件属主;

-g, --group=GROUP:设定目标文件属组;

4)mktemp命令:

mktemp - create a temporary file or directory

格式:mktemp [OPTION]... [TEMPLATE]

常用选项:-d:创建临时目录

注意:mktemp会将创建的临时文件名直接返回,因此,可直接通过命令引用保存起来,如:

adae1170658b4ae909e3f5562b8c965a.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值