linux命令行与shell脚本大全——学习笔记(7-8章)

本文详细介绍了Linux系统中的用户权限管理,包括用户ID、登录名、用户添加与删除、权限修改、文件所有者和组的变更,以及文件权限的八进制和符号模式设置。此外,还涉及到了文件系统类型和基本操作,但提到了高级主题如ACL的简要提及。
摘要由CSDN通过智能技术生成

第7章 理解Linux文件权限

用户、用户组、其他用户

用户权限是通过创建用户时分配的用户 ID(user ID,UID)来跟踪的。UID 是个数值,每个
用户都有一个唯一的 UID。但用户在登录系统时是使用登录名(login name)来代替 UID 登录的。
登录名是用户用来登录系统的最长 8 字符的字符串(字符可以是数字或字母),同时会关联一个对应的密码

添加新用户useradd

useradd默认值

默认值可以通过useradd -D查看
某些linux环境useradd默认不创建home目录,使用useradd -m username可以创建,同时会复制/etc/skel目录下所有文件到新用户的$HOME目录下。

创建用户使用其他参数

如-m是创建用户$HOME目录,-g指定用户登录的GID或组名,-r创建系统账户,-p passwd指定密码等等,看起来常用的都列举出来了

userdel删除用户

默认只删除etc/passwd/etc/shadow中的用户信息,其他用户相关文件不删除。
加入-r选项,会删除用户的 H O M E 目录和邮件目录,注意使用 ‘ − r ‘ 选项前,确认 HOME目录和邮件目录,注意使用`-r`选项前,确认 HOME目录和邮件目录,注意使用r选项前,确认HOME目录下没有其他用户需要用到的文件

修改用户

usermod

-L:锁定账户,禁止登录
-U:解除锁定,恢复登录

passwd和chpasswd

passwd username:不加username是修改自己密码,加是修改别人密码,只有root用户才能修改别人密码(sudo也可以)
chpasswd可以为大量用户修改密码,直接从txt文件读取账户密码对,实际使用应该很少,用时再查就行,具体略

chsh/chfn/chage

chsh、chfn 和 chage 用于修改特定的账户信息。chsh 命令可以快速修改默认的用户登录shell,chfn 命令提供了在/etc/passwd 文件的备注字段中保存信息的标准方法,chage 命令可用于帮助管理用户账户的有效期。知道有这些功能就行了,具体使用时可以搜索

使用Linux组

组权限允许多个用户对系统对象(比如文件、目录或设备等)共享一组权限

/etc/group文件

对于系统账户组,为其分配的 GID 值低于 500,而普通用户组的 GID 则从 500 开始分配
添加组成员使用usermod命令

groupadd创建新组

创建完新组后无用户,使用usermod -G groupname username

groupmod修改组

groupmod可以修改组id或组名,修改组名命令:
groupmod -n newName oldName

理解文件权限

ls -l列举文件权限,第一列形如drwxr-x---,都知道-代表文件,d代表目录(directory),l代表链接(link),c代表字符设备(code),b代表块设备(block),p代表具名管道,s代表网络套接字(socket)
r/w/x分别是read、write、exexutable
9个字符分为3组,分别代表属主权限(这个文件所属人的权限),数组权限(这个文件所属组的权限),系统其他用户

同样地,也可以用二进制表示权限,3位二进制分别代表r/w/x,如100,就是r有权限,w和x没有,010是没有r权限,有w权限,没有x权限等,将2进制转化为8进制,就可以直接设置权限了!
chmod 777 filename,7就是2进制的111,也就是4®+2(w)+1(x),即完整权限,这个命令给所属用户,用户组,其他用户都是所有权限

以下用drwxr-xr-x举例说明:

drwxr-xr-x
文件类型,-代表文件,d代表目录,等等文件所属用户有可读权限,权限加4可写,+2可执行,+1

默认文件权限

首先,要知道文件和目录,全权限值是不一样的,文件全权限值是666,目录全权限值是777,因为要能进目录,必须有可执行权限。
那么用户创建一个新文件,文件权限是多少呢?可以使用umask看看掩码是多少
umask:查看用户权限,是0022
touch newfile.txt:发现新创建文件权限是-rw-r--r--,是从666里,减去022(每位减),即剩下644
mkdir testMaskFile:发现创建目录权限是drwxr-xr-x,是从777里,减去022,即权限为755
umask还可以修改默认权限掩码,如umask 026,再创建文件,权限就会变为-rw-r-----,即666减026,变成640

更改安全设置

修改权限chmod

通常命令为chmod options mode file

八进制编码设置:chomod 666 text.txt

最常用就是直接按文件的标准 3 位八进制权限编码设置,如chmod 666 test.txt

符号模式设置:chmod o+r text.txt

o+r:o定义权限作用对象,+定义操作,r定义操作权限,以下列举三种对象的值:
1.权限作用对象:

权限作用对象含义
u用户
g
o其他用户
a上述所有用户

2.操作

操作含义
+增加权限
-移除权限
=设置权限

3 要设置的权限

要设置的权限含义
r
w
x执行
X仅当对象是目录或者已有执行权限时才赋予执行权限
s在执行时设置 SUID 或 SGID
t设置粘滞位(sticky bit)
u设置属主权限
g设置属组权限
o设置其他用户权限

注意要设置的权限比想象中的rwx多了X/s/t/u/g/o这些,这些暂时不重要,知道有就行

选项-R

chmod几乎只需要记住-R选项即可,表示递归修改

改变所属关系:chown/chgrp

修改文件所属用户:chown

chown options owner[.group] file:修改文件所属用户,也可以直接修改文件所属用户和用户组
1 直接修改文件所属用户chown username filename
2 修改文件所属用户和用户组:chown username.groupname filename
chgrp同理,直接修改文件所属用户组

共享文件

大概就是SUID,SGID,粘滞位(sticky bit),目的就是新创建的文件,可以通过设置SGID位,让目录下的所有文件都默认使用某个组而不是用户本身的组,感觉重要但是又没那么重要,知道有这个功能就行,需要用到再查

访问控制列表ACL

原文定义比较复杂,实际可以理解为:同样的文件,对于不同的用户/用户组,有自己不同的权限。
要想实现acl,实际的命令就是setfaclgetfacl。原书讲了很多这两个命令的参数,含义,但实际上最新版的linux基本都不内置这两个命令了,而且实际使用场景也不多,需要用到再查吧

第八章 管理文件系统

Linux文件系统类型

大概有ext文件系统(ext/ext2),日志文件系统(ext3/ext4/JFS/ReiserFS/XFS),卷管理文件系统(ZFS/Btrfs/Stratis),具体的定义都蛮复杂,可以理解为三种不同维度的文件系统,具体怎么个处理法现在不需要学习。

使用文件系统

文件系统实际上暂时不需要过多了解,先跳过,有时间再看

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值