账号和权限管理
文章目录
一、用户的分类
超级用户:root是系统默认的超级用户账号
普通用户:普通用户账号由root管理员创建,拥有权限受到一定限制
程序用户:安装部分程序时会添加低权限用户账号,仅用来维持服务正常运行,不允许登录到系统
UID:每个用户的身份唯一标识
GID: 管理员组:root 0 系统组:1-999 普通组:1000+
组账号
基本组:将多个用户集合在一起,每个用户至少属于一个组
附加组:用户同时在其他组中这些组称为该用户的附加组
1.用户帐号文件 /etc/passwd
root:x:0:0:root:/root:/bin/bash #依次为
用户账号:密码占位符:用户账号uid:组账号gid:用户说明:宿主目录:是否能登录shell /sbin/nologin不允许
2.影子文件/etc/shadow
每列用途
lisiL:!!:19128:0:99999:7::19132:
用户名:新用户/限制登录:上次修改密码时间:无修改密码时间:永久有效:到期前7天警告:无宽限天数:失效时间
1.账户名
2.存放经过加密的密码
3.上次修改密码的时间,从1970.1.1开始算 -d
4.多久之后可以修改密码 -m
5.密码有效期 -M
6.密码到期前第几天发出警告信息 -w
7.密码过期宽限天数 -i
8.账号失效时间 -e
9.保留未使用
chage [选项] 用户名 #针对纯在用户修改账号和密码的有效时间
-m 密码可更改最小天数
-M 密码保持有效的最大天数
-w 用户密码到期前多少天收到警告
-e 账号到期日
-d 上一次更改日期
-i 停滞时间,过期则不可用
-l 列出当前的设置
3.组的分类
基本组,一般新建用户的时候会随用户自动创建,与用户同名
附加组,一般一个用户可以有0或多个附加组
UID配置文件地址/etc/login.defs
4.添加用户账号 useradd
- useradd
-u 指定用户UID号
-d 指定用户宿主目录
-e 指定用户账户失效时间
-g 指定用户基本组名GID
-G 指定用户附加组名
-M 不建立宿主目录
-s 指定用户登录shell
useradd -d /admin -g wheel -G root admin
#创建宿主目录为/admin 基本组为wheel 附加组为root 用户名admin
usersdd -e 2021-12-31 -s /dbin/nolo
- passwd
echo"123" | passwd --stdin zhangsan #设置张三密码为123密码 --stdin 标准输入
passwd zhangsan #交互式更改密码
-d 清空指定用户密码
-l 锁定用户
-S 查看用户状态
-u 解锁用户账户
- usermod 修改已有用户
-l 更改用户账户登录名称
-L 锁定账户
-U 解锁账户
-d 修改宿主目录
-e 修改账户失效时间
-g 修改基本组名
-G 修改附加组名
-s 指定用户登录shell
- userdel 删除用户
-r 连宿主目录一起删除
5.修改所有用户命令别名 /etc/profile
vim /etc/profile #打开profile环境变量文件编辑 或者vi /etc/bashrc 管理员配置文件
source /etc/profile #刷新profile环境
alias myls=‘/bin/ls -lhr’ #结尾处加别名
6.组账号 group
grep"^root" /etc/group #检索root组包括哪些用户
grep"root" /etc/group #检索哪些组包括root用户
cat /etc/group #查看组的信息
- groupadd
groupadd [-g GID] 组账号名
groupadd -g 1200 market #创建一个market用户组,Gid为1200
- gpasswd 用户组设置
-a 添加用户到组
-d 从组中删除用户
-A 指定管理员
-M 指定组成员 会覆盖原有的组成员
-r 删除密码
-R 限制用户登入组
gpasswd -a mike root #添加mike用户到root组
gpasswd -M root,mike market #添加用户root和mike到market组 #grep"^market" /etc/group 查看
- groupdel 删除组
groupdel market #删除market组
groups 用户 查看用户在哪个组
id 用户 查看用户id、 基本组、附加组
finger #查询用户详细信息
w、who、 users、last #查询登录主机的用户 最近登录用户信息*
二、查看目录和文件属性 ls -l
第1个字符
d :目录 b:块设备 c:字符设备 -:普通文件 l:链接文件
第2-4字符
表示文件的属主用户访问权限
第5-7字符
表示所属组内的各成员用户的访问权限
第8-10字符
表示其他用户的访问权限
1.访问权限 rwx
r:读取,查看文件内容
w:写入,允许修改文件内容,目录中新建、修改、移动删除、文件或子目录
x:可执行,允许运行程序,切换目录
归属
属主:拥有该文件/目录的用户账号
属组:拥有该文件/目录的组账号
“ugoa” u:代表文件属主 g:文件属组内的用户 o:代表其他任何用户 a:代表所有用户
“±=” +:增加相应权限 -:减少相应权限 =设置对应权限
"rwx"权限字符组合、可拆分 r=4 ,w=2,x=1
chmod ugo-x mkdir #去除mkdir三个ugo的执行权限 如果对上级目录有相关权限也对子目录有相关权限
chown -R zhangsan:zhangsan test #递归设置test目录和内部所有文件属主和属组为zhangsan
2.权限掩码 umask
更改后面创建的默认权限
umask 000 #后面创建目录权限为777,但是创建文件为不设置执行权限
r=4 ,w=2,x=1
chmod ugo-x mkdir #去除mkdir三个ugo的执行权限 如果对上级目录有相关权限也对子目录有相关权限
chown -R zhangsan:zhangsan test #递归设置test目录和内部所有文件属主和属组为zhangsan