|
|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
本帖最后由 uperrua 于 2019-9-24 14:01 编辑
; [ _& X/ b5 x$ G# ~ ~- ]& C( M
0 Q, V( e& O a2 _" X- C: }具有某种共同特征的用户集合起来就是用户组(Group)。用户组(Group)配置文件主要有 /etc/group和/etc/gshadow,其中/etc/gshadow是/etc/group的加密信息文件;在本标题下,您还能了解到什么是GID; ' c( ]- g. c& M2 Y0 m
1、/etc/group 解说; % s B9 }1 s' V/ W( ?
( ~2 t: T' z2 f7 L/ _! Y) y5 ]用户组的特性在系统管理中为系统管理员提供了极大的方便,但安全性也是值得关注的,如某个用户下有对系统管理有最重要的内容,最好让用户拥有独立的用户组,或者是把用户下的文件的权限设置为完全私有;另外root用户组一般不要轻易把普通用户加入进去,
8 v9 i3 T2 ?$ l1 m& h' F9 d: c4 R" s
2、/etc/group 内容具体分析
, M; Y: p: J$ G! h- p2 y
, @9 U& m8 N' u _7 L5 x/etc/group 的内容包括用户组(Group)、用户组口令、GID及该用户组所包含的用户(User),每个用户组一条记录;格式如下:6 W/ q |5 | s/ D
* w% T4 X. p2 w% dgroup_name:passwd:GID:user_list - S% O2 A8 f: Z
I l- T& ~: d/ c
在/etc/group 中的每条记录分四个字段:
- h0 P% z; m# b* g1 Q7 s第一字段:用户组名称;
0 `' l% O/ k' h% H第二字段:用户组密码; 3 G) |8 `* v* Y- P4 q/ z, t0 r
第三字段:GID
2 E- X0 E6 N; u% T& _( }# x: m第四字段:用户列表,每个用户之间用,号分割;本字段可以为空;如果字段为空表示用户组为GID的用户名;
& ~. y7 w! c' c* F% a* A- Y5 n4 D- P! F: ?7 o+ L! X+ \
我们举个例子: + W" t' _# ?/ @0 y
a4 o5 `, b% m4 E" W
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查看; % N8 K6 ?& s, X
- J }" h3 A, ~9 W. d; }2 W0 [# w
而/etc/passwd 对应的相关的记录为:
2 E1 W7 r( L4 P) L# d5 M0 I: Q8 I& _! a4 q, E
root:x:0:0:root:/root:/bin/bashbeinan:x:500:500:beinan sun:/home/beinan:/bin/bashlinuxsir:x:505:502:linuxsir/ R* F( A. w( X/ Z+ S4 P
5 v2 m. A M% H, `; b \open,linuxsir office,13898667715:/home/linuxsir:/bin/bashhelloer:x:502:503::/home/helloer:/bin/bash
" t, c& \, s$ n3 O6 Q: A% q6 T) R/ ?/ v3 }. \% A
由此可以看出helloer用户组包括 helloer用户;所以我们查看一个用户组所拥有的用户,可以通过对比/etc/passwd和/etc/group来得到;
: d \$ H) x0 C) y0 l+ g( Z- v7 A, y1 S$ l
Gpasswd –a username groupname 把某用户加入到某个组中: {: u" ]( q: p7 E- u
$ |# E6 Q# v1 T/ ?Gpasswd –d username groupname 把组中的某个用户删除
$ g5 f3 T& N2 P) Y3 T- q' F
6 L d) K3 f. `! Y$ A& W8 R* Q4 ESmbpasswd –a username 在SMB中加入用户
$ U5 N1 ~- ]1 f! F! {& w' w9 p% W; ~% v0 d% C% V* T
Smbpasswd –x username 在 SMB中删除用户8 U/ D, ]1 C Y) x, A
$ \% D+ j# }- J4 o
一个文件 rwxrwxrwx ,前三个字段是表明文件所有者r可读w可写x可执行.中间的表明文件的所有组,后三个表明其他人. 组是用户的集合,能否操作文件要看文件的权限怎么定义.跟用户无关, 也就是说一个文件定义了用户A可以操作,不表明包含用户A的组C可以操作.这是两个无关的概念.
3 q: a( I- B1 Q) z% T
; R& m6 ]7 _; X9 x$ fLinux /etc/group文件与/etc/passwd和/etc/shadow文件都是有关于系统管理员对用户和用户组管理时相关的文件,Linux /etc/group文件相对另外两个文件内容相对较少,这里对这一文件进行以下分析。
# C! p% n3 B" Y7 o7 q
7 x: @; y2 n6 t* a# q, D7 {用户组的所有信息都存放在/etc/group文件中* Z, n& P. m s- W' Q( B
" T. N$ x% a& o, Z, `将用户分组是Linux系统中对用户进行管理及控制访问权限的一种手段。每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不 同的组。当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。
# ~5 t# B& W1 r4 |1 g& L& c% B0 ?# g3 T
用户要访问属于附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组中的成员。用户组的所有信息都存放在/etc/group文件中。此文件的格式也类似于/etc/passwd文件,由冒号(:)隔开若干个字段,这些字段有:
6 a- E: ]( ?0 N7 [& Z9 r1 b. P9 p2 k/ j% E0 z8 Y; M. t
组名:口令:组标识号:组内用户列表
0 a: }* r* B; R2 v0 I
& D7 J3 m1 k" l0 T1)“组名”是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。/ {2 u0 L0 S8 R# H
2)“口令”字段存放的是用户组加密后的口令字。一般Linux系统的用户组都没有口令,即这个字段一般为空,或者是*。( @5 s7 \2 F$ `, r+ \
3)“组标识号”与用户标识号类似,也是一个整数,被系统内部用来标识组。
' H1 {$ C6 B* V3 y& l& B2 H$ n- d9 G4)“组内用户列表”是属于这个组的所有用户的列表/b],不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。" M% \/ o [9 s9 T+ R& Q* h8 ?
/etc/group文件的一个例子如下:0 u' ~+ K8 W" }7 i5 e7 ~1 e
2 l5 k1 H7 ]% s2 D
- #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]
3 r8 r: t5 |* K( p8 k+ _
% ~& y) K" T1 C
7 F; S! X% C# P# T
* X1 T$ [6 _% ]: D# v, P+ R7 `2 u* ~4 F4 ]! v3 C+ P% T
/ q6 h2 {, Z% q' O3 `' D* K
$ X7 z( D4 V R- ^' ~. M. Q
7 R; P( m9 o* o3 Z1 b! y
! v" `- S4 H; @- S$ T& L4 x3 X3 e& q1 z1 H
|
|