LINUX账户与权限(详细篇)☞小白看了都懂,SO EASY

用户账号和组账号概述

一、LINUX基于用户身份对资源访问进行控制

1、用户账号

超级用户、普通用户、程序用户

2、组账号

基本组(私有组)、附加组(公有组)

3、UID和GID

UID(User IDentity, 用户标识号)
GID (Group IDentify,组标识号)

4、用户账号文件

1保存用户名称、宿主目录、登录shell等基本信息(任何用户都可读取)
文件位置: /etc/passwd
root:x :0:0:root:/root:/bin/bash ###7个字段,用:隔开

1 用户名
2 密码占位符“X”或密码加密的字符串
3 UID号 (主)
4 GID号 (组)
5 用户名描述信息
6 宿主目录
7 登录shell信息,一般是/bin/bash
读取方式举例:
cat /etc/passwd
head - 2 /etc/passwd
tail -1 /etc/passwd
注意:
结尾是/sbin/nologin ###这些程序账号是用来访问服务,不能用来登录系统
2保存用户的密码、账号有效期等信息(默认只有root用户能够读取)
文件位置: /etc/shadow
root:6 66SBb76V0:17470:0:99999:7::: ###9个字段,用:隔开
1 账户名
2 mde5密码加密信息 ###*或!!则不等登录 如空则表示无需密码也可以登录
###做项目的时候,所有设备上线都要弱口令扫描,如果结果说密码强度不高,则需要重新设置密码。
如果过弱口令方案,你可以备份shadow文件,然后进shadow 删除没过的账号。
3 上次修改密码时间 1970年1月1号到最近修改密码间隔的天数
4 密码的最短有效天数,如0则不限制
5 密码的最长有效天数,如99999则不进行限制
6 提前多少天告警,用户口令将过期,默认是7
7 密码过期后多少天内禁用此用户
8 账号失效时间,1970年1月1日计算,默认是空则账号永久使用
9 保留字段,目前没使用

二、用户账号管理

2.1useradd 命令–添加用户账号

useradd tom
cat /etc/passwd
tom:x:500:501::/home/tom:/bin/bash
基本命令
-u  指定UID多少
-d  指定宿主目录
-e  指定账户失效时间
-g  指定用户基本组
-G  指定用户附加组  ###既可以属于用户组也可以同时属于其他
-M  不建立宿主目录
-s  指定登录的shelluser

userdel -r tom1 如果tom1在登录的时候是无法删除
useradd -s /sbin/nologin -g tom lisi 不能登录

2.2passwd命令–设置/更改用户口令

命令格式

useradd test1
echo “密码” | passwd --stdin test1

通过useradd创建一个账户后还需要设置密码才能够正常使用,使用passwd命令可以设置或修改密码。

命令格式

passwd [选项] 用户名

常用选项
-d			清空指定用户的密码,仅使用用户名即可登录系统
-l			锁定用户账户
-S(大S)    查看用户账户是否被锁定
-u			解锁用户账户
passwd -l tom ##锁定tom
cat /etc/passwd #看下tom  !
passwd -u tom ##解锁tom

usermod -U tom  ##可以解锁   

passwd -l lisi ##我们会发现shadow lisi有2个锁定的!号
用usermod -U lisi ###这个命令敲2次可以解锁,2个!可以消除。这个是版本是redhat 6.5的 经过测试7.0版本的 和这个一样 也必须敲2次 7.6版本 一可以解锁

2.3usermod命令—修改用户账号的属性

对于系统中已经存在的用户账号,可以使用usermod命令重新设置各种属性。usermod命令同样需要指定账号名称作为参数。

-u  修改用户UID
-d  修改用户的宿主目录位置
-e  修改用户账户失效时间  可以YYYY-MM-DD日期
-g  修改用户的基本组名
-G  修改用户的附加组名
-s  指定用户登录的shell
-l  更改用户登录的名称
-L  锁定账户
-U  解锁用户账户

可以发现,usermod命令大部分和useradd命令的选项时相对应的,作用也相似。

2.4userdel命令–删除用户账号

命令使用基本格式
userdel [-r] 用户名

添加-r选项时,表示连用户的宿主目录删除	

2.5用户账号的初始配置文件

主要的用户初始配置文件 解释
bash_profile 文件中命令将在该用户每次登录被执行
bashrc 文件中的命令在每次加载/bin/Bash 程序(包括登录)执行
bash_logout 文件中的命令将在每次退出登录时执行
bashrc和.bash_profile都是开机启动,.bashrc 要比.bash_profile 更加精细
bash_logout 可以理解,干坏事后擦屁股,擦脚印。

三、文件/目录的权限和归属

groupadd 添加组账号
groupadd lisi2
命令形式

passwd -a      添加、设置、删除成员
gpasswd tom   	#####给tom设置密码
[root@localhost ~]# gpasswd -a tom1 root
正在将用户“tom1”加入到“root”组中

1、访问权限

类型 解释
读r - 4 允许用户打开、浏览文件内容
写w - 2 允许用户打开、编辑文件
执行x -1 允许用户执行

2、归属(所有权)

类型 解释
属主 拥有该文件或目录的用户账号
属组 拥有该文件或目录的组账号

3、查看文件/目录的权限和归属

在这里插入图片描述

我们可以使用-rwxrwxrwx来表示权限也可以用777来表示权限。

rwx采用累加数字形式表示成 7 , r-x 表示成 5 , rwxr-xr-x 表示成755,rw-r–r–表示成644

数字固定不会变,一个普通的数据文件没有执行权限。

4、设置文件/目录的权限和归属

chmod命令–设置文件和目录权限

chmod命令使用基本格式
chmod [ugoa] [+-=] [rwx] 文件或目录	  (不常用)	(u,g,o,a分别表示属主,属组,其他用户,所有用户)(+-=分别表示增加,去除,设置权限)
或
chmod nnn 文件或目录	  (最常用)	(nnn表示三位八进制数字,如刚刚提到的 777,755,644等)

常用选项
-R		递归修改指定目录下所有子项的权限

chown命令–设置文件和目录的归属

chown命令使用基本格式
chown 属主 文件或目录
chown:属组 文件或目录
chown 属主:属组 文件或目录

常用选项
-R		递归修改指定目录下所有文件,子目录的归属

权限掩码 umask

umask作用:控制新建的文件或目录的权限
默认权限去除umask的权限就为新建的文件或者目录的权限

umask设置命令格式
umask 000(000指数字)

umask查看
umask

umask的分数指的是“该默认值需要减掉的权限,”因此,如果执行“umask 022”,代表group和other被拿掉了权限“2”,也就是被拿掉了写的权限。

如果执行命令“umask 000”,代表文件的默认权限是“777”

-R 递归修改指定目录下所有文件,子目录的归属

猜你喜欢

转载自blog.csdn.net/weixin_47151650/article/details/106793360