|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 uperrua 于 2019-9-24 14:01 编辑
, i' b" W9 Y; T2 v* D1 j @, j
' M3 f0 r0 c, M" `" {具有某种共同特征的用户集合起来就是用户组(Group)。用户组(Group)配置文件主要有 /etc/group和/etc/gshadow,其中/etc/gshadow是/etc/group的加密信息文件;在本标题下,您还能了解到什么是GID; ) Y* r6 O/ u( ?' Y( k! I! P
1、/etc/group 解说;
3 Z. n9 n% M, `1 u
, p9 L9 C5 @+ J) A' r用户组的特性在系统管理中为系统管理员提供了极大的方便,但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,最好让用户拥有独立的用户组,或者是把用户下的文件的权限设置为完全私有;另外root用户组一般不要轻易把普通用户加入进去,
$ u, L1 g) ^1 j" Q& ]4 [
5 o; K+ ^9 U h0 w" Y. u. T5 j2、/etc/group 内容具体分析
* b3 T2 r0 P8 y" m- w) P
, [# L2 V+ w3 V' d/etc/group 的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录;格式如下:
; }* v. I# D9 ?6 ?; N- f" T4 }
" I2 Z" G) L7 X2 N8 h5 ~; ~; O" vgroup_name:passwd:GID:user_list
; _* d3 Y- a1 y
; ~/ f h- V- E3 f" v( a$ a+ D- }! F在/etc/group 中的每条记录分四个字段: : H0 k; ?) u2 V; D, E3 Y( O
第一字段:用户组名称; 6 t! Q- w' ?! ^3 d& g0 b
第二字段:用户组密码; 0 F! W, F+ o+ ~
第三字段:GID . m5 e6 C& o' b5 y) Q* V
第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;
! d2 `! H$ K: Y& U# y8 G& ]2 `, t% q# \3 @0 K! S+ b' S
我们举个例子: " u7 ]6 d1 u: Y$ y
( A9 r- n7 ]- Q
root:x:0:root,linuxsir 注:用户组root,x是密码段,表示没有设置密码,GID是0,root用户组下包括root、linuxsir以及GID为0的其它用户(可以通过 /etc/passwd查看);;beinan:x:500:linuxsir 注:用户组beinan,x是密码段,表示没有设置密码,GID是500,beinan用户组下包括linuxsir用户及GID为500的用户(可以通 过/etc/passwd查看);linuxsir:x:502:linuxsir 注:用户组linuxsir,x是密码段,表示没有设置密码,GID是502,linuxsir用户组下包用户linuxsir及GID为502的用户 (可以通过/etc/passwd查看);helloer:x:503: 注:用户组helloer,x是密码段,表示没有设置密码,GID是503,helloer用户组下包括GID为503的用户,可以通过 /etc/passwd查看;
. j* \' ?- i/ S: X, @6 |- W. I% H# R4 v6 a0 {7 ~& A, _+ p$ b% Z
而/etc/passwd 对应的相关的记录为:" p+ }9 v, i/ s9 ?: t
- X/ i; Z( z# x% _& ]
root:x:0:0:root:/root:/bin/bashbeinan:x:500:500:beinan sun:/home/beinan:/bin/bashlinuxsir:x:505:502:linuxsir4 T6 a! d) V! }9 W* ]; C" _5 `6 F
# r9 U% M: J$ dopen,linuxsir office,13898667715:/home/linuxsir:/bin/bashhelloer:x:502:503::/home/helloer:/bin/bash 4 u" A0 g4 u+ A! E2 D
+ v$ y7 G- f- U, ]% ?' S) K
由此可以看出helloer用户组包括 helloer用户;所以我们查看一个用户组所拥有的用户,可以通过对比/etc/passwd和/etc/group来得到;
& q# \1 v4 U! i' K1 b+ s- ]- m! l2 E# [' I. A+ k3 S {6 c. ]% o
Gpasswd –a username groupname 把某用户加入到某个组中/ \5 J) z" g" I4 c
; W$ n2 z& n! O4 LGpasswd –d username groupname 把组中的某个用户删除
# x, z" {3 t* q
: x W) U6 i" N+ p% |Smbpasswd –a username 在SMB中加入用户
$ \: X8 H9 a; b4 I. \6 D6 R$ n' V
Smbpasswd –x username 在 SMB中删除用户; r: h( C+ y9 |! j# {; @8 C, \. R0 e" A
: o8 y" E* {) o0 r/ B- j一个文件 rwxrwxrwx ,前三个字段是表明文件所有者r可读w可写x可执行.中间的表明文件的所有组,后三个表明其他人. 组是用户的集合,能否操作文件要看文件的权限怎么定义.跟用户无关, 也就是说一个文件定义了用户A可以操作,不表明包含用户A的组C可以操作.这是两个无关的概念.1 S; E) E3 ?) x) ]0 J$ c
' T5 W r! [% z$ ~! @% ULinux /etc/group文件与/etc/passwd和/etc/shadow文件都是有关于系统管理员对用户和用户组管理时相关的文件,Linux /etc/group文件相对另外两个文件内容相对较少,这里对这一文件进行以下分析。% ~! |, `; c4 [! }) e% p% g$ J$ y
. [/ p Y7 p, k4 N用户组的所有信息都存放在/etc/group文件中# I/ I+ p# m1 i3 b7 ` ~% C" F
% t# O7 Y5 @' f2 O1 O
将用户分组是Linux系统中对用户进行管理及控制访问权限的一种手段。每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不 同的组。当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。
, j- Z. o. g" [0 M! x2 y
* q) P' }5 u( t; x# u. z& J用户要访问属于附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组中的成员。用户组的所有信息都存放在/etc/group文件中。此文件的格式也类似于/etc/passwd文件,由冒号(:)隔开若干个字段,这些字段有:# K2 p$ E5 i% G/ q9 N* e$ C Q9 M
% h; C- W6 t5 s' v9 Q
组名:口令:组标识号:组内用户列表
: ^% Q- M4 l; h' E! p7 T7 A' y( m6 k6 m
1)“组名”是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。4 j# p0 y3 W8 D; ~+ h x) ~" W1 y
2)“口令”字段存放的是用户组加密后的口令字。一般Linux系统的用户组都没有口令,即这个字段一般为空,或者是*。
" ]) s. h9 ?/ H3)“组标识号”与用户标识号类似,也是一个整数,被系统内部用来标识组。
A7 I6 u7 _% s8 u4)“组内用户列表”是属于这个组的所有用户的列表/b],不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。
z* q1 }* |" B& n0 x/etc/group文件的一个例子如下:
& _. k% S4 G0 G0 n# k$ u( Q+ {8 T# Z5 d( ^/ ^6 {9 o+ k, T
- #cat/etc/group
- root::0:root
- bin::2:root,bin
- sys::3:root,uucp
- adm::4:root,adm
- daemon::5:root,daemon
- lp::7:root,lp
- users::20:root,sam[/code:1:aca506e246]
% p* w5 g: n" e: \
1 ~# u5 Q% j5 c" p
k' k. M& R; Z5 ^4 V- G( ^& P3 ~/ L: W4 Q! k, u, o' H
2 B+ V+ \. i' K+ N
$ u9 I. T/ l' P _$ C; j
& U) Q# L# `6 y- H2 D0 z' a C7 Z" r: P& k- y! U
6 _5 v7 U" @, {: \! |2 W
" V) j: F) w7 r6 X. n8 P; k
|
|