Linux用户账户和权限管理

一、管理用户账号和组账号

1.1 用户账号说明

1.1.1 用户账号类型

超级用户:管理员账号,root ,默认对本机拥有最高权限的账户。在系统中是唯一的。

普通用户:一般都是由管理员创建的,拥有的权限是受限的,一般只在自己的家目录当中拥有完整的权限。普通用户可以正常的登录系统。

程序用户:在安装软件时,部分应用程序需要创建一些账号,来保证程序的正常运行,就会创建一个程序账户。程序账户是一些特定的低权限的账户,而且这些账户是不能登录系统的。作用:保证程序正常运行。

1.1.2 UID与GID

UID:用户的标识号,创建用户的时候可以指定,也可以系统自动分配,UID是唯一的,不能重复。

GID:组标识号,创建用户的时候可以指定,也可以自动飞陪,也是唯一的,不能重复。

用户账号可以根据UID来区分

管理员的UID:0

普通用户的UID:1000开始

程序用户的UID:1-999

判定一个用户是否是管理员,以UID为标准。

查看UID:UID存放在/etc/passwd中

1.1.3 对/etc/passwd中条目的解释

/etc/passwd 保存的是用户信息。

对/etc/passwd中条目的解释,以下个条目为例:

root:x:0:0:root:/root:/bin/bash  //( : 为分割字段的分隔符)

字段1:root :用户账户的名称

字段2:x :用户密码的占位符,无实意。

字段3: 0 :用户的UID

字段4: 0 :用户的GID

字段5:root :用户的全名,一般都和字段1一致

字段6:/root :用户家目录所在位置

字段7: /bin/bash :用户登录的shell,shell默认的解释器就是bash,只有是/bin/bash才可以登录系统。/sbin/nologin 和 /bin/false 都表示不可以登录系统。一般程序用户的shell都是 /sbin/nologin。

1.1.4 对/etc/shadow中条目的解释

/etc/shadow 保存的是用户的密码和账户的有效期。(密码字段经过加密)(用 :分隔字段)

root:$6$yW6PO2vUa1kf3nAp$bHiEeszKdtO9/aVTZi0Qz.GwGffjpKyw02kdcUFusaH/GY982oWAuGMBGt
KScfi1Kvxw7tGT9vMl4DP8xetNO1:19864:0:99999:7:::

字段1:用户的账号名称

字段2:用户的密码,MD5加密。 * 表示不能登录系统,!!表示密码为空(不是真的空,提示密码未创建),什么都没有才是真的为空。

字段3:表示上一次修改密码的时间,表示从1970-1-1到修改时过了多少天

字段4:密码的最短有效天数,0表示不限制

字段5:密码的最长有效天数,99999表示不限制

字段6:提前多少天警告用户密码将过期

字段7:密码过期之后多少天会禁用此用户

字段8:账号的失效时间(失效了多久),为空表示永不失效

字段9:保留字段,无实意。

1.2 用户账户管理命令

1.2.1 useradd 命令
useradd -选项 用户名				————格式

useradd :添加用户,创建用户

useradd -u :指定UID号,已被占用的UID不能指定

useradd -d :指定用户的家目录的位置。一般不动。

useradd -e :指定用户的账户失效的时间,格式 yyyy-mm-dd,年-月-日。

useradd -M :创建用户时不建立家目录。

useradd -s :创建用户时指定用户的登录shell。

1.2.2 passwd 命令
passwd 用户名				————格式
输入新密码(屏幕上不显示),回车确认

passwd -d :清空指定用户的密码。(慎用!)

passwd -l :锁定用户,使之无法登陆。(从超级管理员切换到用户不受限制)

passwd -u :解锁用户。

passwd -S :查看用户的状态,查看用户是否被锁定。

修改密码的另一种方式:

echo 密码 | passwd --stdin 用户名			————格式
// 例:修改用户test1的密码为123456
echo 123456 | passwd --stdin test1
1.2.3 usermod 命令
usermod -选项 参数 用户名				————格式

usermod -u :修改用户的UID

usermod -d :修改用户的家目录地址(不常用此功能)

usermod -e :修改用户的账户失效时间,yyyy-mm-dd(年-月-日)

usermod -s :修改用户登录的shell

usermod -L :锁定用户

usermod -U :解锁用户

锁定用户的两种方式:

passwd -l

usermod -L

1.2.4 userdel 命令
userdel -选项 用户名				————格式

userdel -r :删除用户,同时删除家目录

1.3 组账号

1.3.1 组账号说明

/etc/group :组账号信息

/etc/gshadow :保存组账号的额外信息

创建用户时自动创建组账号,一般不许要对组账号做额外的操作。

1.3.2 组账号命令

groupadd :添加组账号

groupdel :删除组账号

gpasswd 命令

gpasswd -选项 用户名 组用户名			————格式

gpasswd :修改组密码

gpasswd -a :向组内添加用户

gpasswd -d :从组内删除用户,删除组员只能单个删除

gpasswd -M :定义组员的列表,每个用户用逗号隔开,可一次性添加多个组员

1.4 配置文件

/etc/profile :全局配置,对所有用户都生效

~/.bash_profile :用户登录时会读取的配置,只对自己生效

~/.bashrc :用户的配置文件,只对自己生效。每一次新打开一个子shell建立一个终端),就会读取这个文件。每次登录都是shell的一个子shell,每个子shell之间互相隔离。

~/.bash_logout:用户退出当前shell的时候会执行的配置文件。

修改配置后,使用source + 配置文件名 ,使修改后的配置立即生效。重启系统也可以使配置生效。

读取顺序(优先级)从高到低:

/etc/profile :先读全局配置

~/.bash_profile :再读登录用户配置

~/.bashrc :再读打开子shell的配置

~/.bash_logout :退出子shell时的配置

二、权限管理

2.1 查询用户信息

id命令

id :查询用户UID,GID

id 用户名				————格式
w,who,users 命令

查询已经登录到主机的用户信息

2.2 文件、目录的权限和归属

旧的方法

U:所有者;G:所在组;O:其他用户;A:所有用户

例:a+x :所有用户赋予执行权限

被八进制算法替换了。

新的方法:

在这里插入图片描述

无权限即为0,举例:rwx r-x -w- :对应 752 八进制数。

2.3 管理权限的命令

2.3.1 chmod命令

chmod :change mode :赋权命令

chmod -选项 权限(3位8进制数) 参数(对象文件/目录)		 ————格式
chmod 654 /opt/xyz.txt
//解释:对/opt目录下的xyz.txt文件赋权:
所有者权限rw-,所在组权限r-x,其他用户权限r--

chmod -R :递归赋权,对目标目录下所有(文件和子目录)批量赋权

chmod -R 权限(3位8进制数) 参数(对象目录)
chmod -R 777 /opt/aa/bb/cc
//解释:对/opt/aa/bb/cc 目录下的所有(包括目录cc)赋权 777 ,即rwx rwx rwx
chmod -R 777 /opt/aa/bb
//解释:对/opt/aa/bb 目录下的所有文件和子目录
(包括cc以及其他可能存在的所有子目录,以及子目录下的所有)赋权 777
2.3.2 umask命令

umask :用来设定文件和目录的默认权限

umask xxx			————格式,xxx代表八进制数

文件的默认权限:666

目录的默认权限:777

文件和目录的实际默认权限:= 默认权限 - umask

创建文件,默认不赋予执行权限。所以实际权限一旦为奇数,默认+1。

创建目录,一定要有执行权限,没有执行权限,就不能cd进入这个目录。所以无论给不给执行权限,目录都有执行权限。

问:我要修改一个文件的默认权限,怎么办?

答:修改umask,如果是文件,怎么改umask都没有执行权限。

2.3.3 chown命令

chown:change owner,修改所有者和所在组。前提:用户和所在组要存在,要先创建好。

chown 用户、所在组 文件/目录名 			————格式

chown id:id :所有者和所在组一起变

chown id.id :同上

chown id :只改变所有者

chown .id :只改变所在组

chown :id :同上

chown -R :递归改变所有者和所在组,模式同chmod

chown test1.test1 03
ls -al 03
drwxr-xr-x. 3 test1 test1  17 May 21 02:42 .
drwxr-xr-x. 5 root  root  208 May 21 02:42 ..
drwxr-xr-x. 2 root  root   20 May 21 02:43 004
// 解释:可以看到只有目录 03 被修改了所属,但目录 03 下的子目录和文件没有被修改所属

chown -R test1.test1 03
ls -lR 03
03:
drwxr-xr-x. 2 test1 test1 20 May 21 02:43 004
03/004:
-rw-r--r--. 1 test1 test1 0 May 21 02:43 01.txt
//解释:可以看到目录 03 下的所有都被修改了所属
  • 25
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值