一、Linux下的用户管理
Linux下有三类用户
1.超级用户: root 具有操作系统的一切权限 UID 值为0
2.普通用户:
普通用户具有操作系统有限的权限,
UID值 500 -- 6000
3.伪用户:
是为了方便系统管理,
满足相应的系统进程文件属主的要求,
伪用户不能登录系统,UID值 1 -- 499
用户管理文件:passwd /etc/passwd
在此文件中,只定义帐号,不定义口令;
文件中每行定义一个用户,分七个部分:
帐号名称:root
用户密码:x
用户标识码(用户ID):0
组标识码(用户组ID):0
用户相关信息:admin
用户家目录:/root
用户环境:/bin/bash
用户口令文件:shadow /etc/passwdcat /etc/shadow
此文件只有root用户能访问,分九个部分:
用户名:root
口令:存放加密口令,如果第一个字符是!,表示改用户不能登录
最后一次修改时间:
最大时间间隔:0 可以随时改变
最小时间间隔:99999 表示永远不过期
警告时间:1周
不活动时间:
失效时间:
----------------------------------------------------
用户帐号管理
手工创建用户
1.在/etc/passwd中添加一条记录
2.创建用户主目录
3.在用户主目录中设置默认的配置文件
4.设置用户初始口令
命令创建用户
useradd 或者 adduser(man useradd)
-u -g -G -d -s -c -e -k -m -M -r
用户帐号的维护
useradd username 创建用户
passwd username 设置用户密码
注意:没有设置密码的用户不能登录
userdel username 删除用户
usermod -l newName username 修改登录名
usermod -L username 锁定用户
usermod -U username 解锁用户
passwd -u
passwd -s
---------------------------------------------------
用户组管理
用户组分两类:私有组:
当在创建一个新用户user时,若没有指定他所属于的组,Linux就建立一个和该用户同名的私有组
标准组:
标准组可以容纳多个用户,若使用标准组,在创建一个新用户时,就应该指定该用户所属于的组
用户组的管理文件:group /etc/group
分为四个部分:
组名:用户登录时所在的组名
组口令:一般不使用
组标识码(GID):
组内用户列表:属于改组的所有用户列表
添加用户组
useradd username (默认建立username用户组)
groupadd 组帐号名称
修改组名
groupmod -n newName groupName
删除组帐号
groupdel 组帐号名称
注意:删除的帐号必须存在,且不能是某个用户的私有组
添加用户到组
gpasswd -a userName groupName
从组中删除用户
gpasswd -d userName groupName
查看某个用户属于哪个组
groups userName
查看某个组有哪些用户
tail 5 /etc/group 最后一行
查看一个用户的UID和GID
id [options] userName eg: id bruce
id -g userName 只显示GID
id -G userName 显示所有组
id -u userName 只显示UID
查看用户的相关信息,包括用户的主目录,启动shell,用户名等
finger [options] userName eg: finger bruce
finger -l userName
finger -s userName
---------------------------------------------------
变化用户身份
su userName说明:从管理员到普通用户不用使用密码;从普通用户到其他用户需要使用密码
这样,至改变用户身份,环境变量不变;
su -userName
完全转变,包括身份和环境变量
只允许root用户登录
可以在/etc/目录下建立一个名为nologin的文件
touch /etc/nologin
解除方法,删除nologin文件即可
rm -rf /etc/nologin
二、用户的权限管理 chmod
基本规则
使用 ll 命令查看文件时,能看到如下信息在首列
drwxrwxrwx
第一个字母:代表文件类型
第2~4字符:表示当前用户的权限
第5~7字符:表示当前用户组权限
第8~10字符:表示其他用户的权限
d:目录
r[4]:读权限 w[2]:写权限 x[1]:可执行权限
chmod命令
a:所有权限/所有用户
u:用户
g:用户组
o:其他用户
+:加上权限
-:减去权限
=:等于权限
eg:给文件file.txt加上可执行权限
chmod a+x file.txt八进制的数据表示权限 0 1 2 3 4 5 6 7
0:没有任何权限
1:x
2:w
3:xw
4:r
5:rx
6:rw
7:rwx
eg: 给文件一个755权限
chmod 755 file.txt
文件/目录的所属用户和所属用户组
修改目录下所有文件、所有子文件、文件夹的权限chmod -R 755 folder
修改文件的所属用户
chown userName file
修改目录下所有文件、所有子文件、文件夹的所有用户
chown -R userName folder
修改文件的所属用户组
chgrp groupName file
修改目录下所有文件、所有子文件、文件夹的所有用户组
chgrp -R userName folder
同时修改文件/目录的用户和用户组
chown -R userName.groupName file/folder
新建文件/目录的默认权限
设置文件的默认生成掩码,新建文件/目录的默认权限umask nnn
eg: umask 444
目录的默认权限:777 - 444 = 333 dr-xr-xr-x
文件的默认权限:777 - 444 -111 = 222 -w--w--w-