0%

linux用户管理

linux用户管理

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
 1用户管理配置文件
Linux用户分为三种:
超级用户(root uid=0的用户) UID为0的用户就拥有root权限
普通用户(UID 500-60000)
伪用户 (UID 1-499)
伪用户与系统和程序服务相关
bin,daemon,shutdown,halt等,任务Linux系统默认都有这些伪用户
mail,news,games,apache,ftp,mysql及sshd等,与Linux系统的进程相关
伪用户通常不需要或无法登陆系统
可以没有宿主目录
用户组
每个用户都至少属于一个用户组
每个用户组可以包括多个用户
同一个用户组的用户享有该组共有的权限

用户信息文件:/etc/password
root:x:0:0:root:/root:/bin/bash
用户名:密码位:用户标识号UID:缺省组标识号GID:注释性描述(例如存放用户全名等信息):宿主目录(用户登录系统后的缺省目录):命令解释器(用户使用的Shell)


密码文件:/etc/shadow
liubin:$1$nWLsUG06$wF5FRtUwwsvsYQd4w2s130:15710:0:99999:7:::
用户名:加密的密码:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:帐号闲置时间:失效时间:标志

修改/etc/passwd文件来增加用户
添加一个密码为空的用户名为hosanter的用户
1.vim /etc/passwd
2.添加一行 例如 hosanter::502:502:project zhangsan:/home/hosanter:/bin/bash
3.mkdir /home/hosanter
4.ls -ld /home/hosanter
5.chown hosanter /home/hosander
6 vim /etc/shadow
8 添加一行: hosanter::15710:0:99999:7:::
9 cd /etc/skel 新用户信息文件
10 cp -rf .* /home/hosanter

用户组文件:/etc/group
用户组密码文件:/etc/gshadow
用户配置文件: /etc/login.defs
/etc/default/useradd

为什么普通用户可以修改密码?

ls -l /usr/bin/passwd
-rwsr-xr-x 1 root root 22942 2008-01-03 /usr/bin/passwd

setUID的定义,当一个可执行程序具有SetUID权限,用户执行这个程序时,将以这个程序所有者的身份执行
SetUID = 4
chmod u+s u-s
4755 755
SetGID = 2 6755
chmod g+s g-s
2755 755
ls -ld /tmp
drwxrwxrwxt 7 root root 4096 12-23 03:12 /tmp

粘着位 = 1 其他人 t

chmod o+t
1777

如果一个权限为777目录具有粘着位,每一个用户都可以在这个目录下创建文件,但是只能删除自己是所有者的文件

例如 将touch命令授予SetUID权限 chmod u+s /bin/touch
当vi命令被授权SetUID权限
查找SetUID程序: find / -perm -4000 -o -perm -2000


新用户信息文件: /etc/skel
存放了新用户在创建时的最基本的配置文件

登陆信息:/etc/motd

sys::3:root,bin,adm
组名 用户登陆时所在的租
组密码 一般不使用(可以让不是这个组的成员添加到组)
GID 组标识号
组内用户列表 属于该组的所有用户列表


添加用户组 groupadd +组名
groupadd -g 888 webadmin 指定组的ID

查看用户组 group + 组名 /etc/group

删除用户组 groupdel 组名

修改用户信息 groupmod -n apapche webadmin 修改webadmin组名为apache

添加一个用户指定用户组
useradd -u 1888 -g webadmin -G sys,root -d /backup -s /bin/bash -c "Market wangwu" -e 2011-01-19 liubin

useradd设置选项用户名-D 查看缺省参数
u:UID 指定uid
g:缺省所属用户组GID
G:指定用户所属多个组
d:宿主目录
s:命令解释器Shell
c:描述信息 描述信息有空格需要是使用双引号
e:指定用户失效时间

passwd sam

手工添加用户

usermod 修改用户信息 和 把用户添加到组中

usrrmod -l samlee -d /home/samlee -g lampbrother liming
将用户liming的登录名改为samlee 并添加到lampbrother组中 用户目录改为home/samlee
usermod -G sys tomgao 把用户tomgao添加到sys组中


newgrp 切换到用户组

gpasswd设置组密码及管理组内成员

gpasswd 为组设置密码

-a 添加用户到用户组
gpasswd -a tomgao sys 添加tomgao到sys组

-d 从用户组中删除用户
gpasswd -d tomgao sys 删除tomgao在sys组

-A 设置用户组管理员
gpasswd -A tomgao sys 设置tomgao为sys组的管理员

-r 删除用户组密码
gpasswd -r sys 删除sys组的密码

-R 禁止用户切换为改组

pwck 检测/etc/passwd文件(锁定文件)
vipw 编辑 /etc/passwd文件
id 查看用户id和组信息
finger 查看用户详细信息
su 切换用户 (su - 环境变量切换)
passwd -S 查看用户密码状态
who , w 查看当前登录用户信息


禁用和恢复用户

禁用
usermod -L username
passwd -l username

恢复
usermod -U username
passwd -u username




groups 查看用户隶属与那些用户组

newgrp 切换用户组

grpck 用户配置文件检测

chgrp 修改文件所属组

vigr 编辑/etc/group文件(锁定文件)




chage 设定密码

-l 查看用户密码设置

-m 密码修改最小天数

-M 密码修改最大天数

-d 密码最后修改的日期

-I 密码过期后,锁定帐户的天数

-E 设置密码的过期日期,如果为0 代表密码立即过期,如果为-1代表用不过期

-W 设置密码过期前 开始警告的天数


启动或停用shadow功能

pwconv/pwunconv 启动 停用
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!