Linux命令整理(二)

2022-09-20 11:15:06 浏览数 (1)

一、用户身份与文件权限

1、用户身份

1)用户UID

管理员:UID为0

系统用户:UID为1~999

普通用户:UID为1000~

2)useradd:添加用户

-d 指定家目录-e 指定到期时间-u 指定UID

-g 指定基本组-G 指定附加组-s 指定shell

3)usermod:修改用户属性

-c 备注信息

-d -m 修改家目录并迁移数据

-e 修改到期时间

-g 修改基本组

-G 修改附加组

-L 锁定用户

-U 解锁用户

-s 修改shell

-u 修改UID

4)userdel:删除用户

-r 删除用户及目录 (彻底删除)

5)passwd:操作账户敏感信息

passwd name 普通用户修改密码

-l 锁定用户

-u 解锁用户

--stdin 搭配管道输入密码

-d 允许用户使用空密码

-e 强制用户下次修改密码

-S 显示用户密码是否被锁定

2、文件权限

1)文件权限

r读 w写 x执行

4 2 1

对于目录 各种权限表达:

r 表示可读取目录中的文件列表

w 表示可以新增、删除等文件

x 表示可进入目录

2)文件类型

- 普通文件

d 目录文件

l 链接文件

b 块设备文件

c 字符设备文件

p 管道文件

3)权限表示

文件信息中:

第一个rwx 所有者的权限

第二个rwx 所属组的权限

第三个rwx 其他人的权限

3、文件权限修改

1)chgrp 修改文件所属组

chgrp [参数] [组] 文件

2)chmod 修改文件权限位

chmod a ?修改所有权限位

chmod u ?修改拥有者权限位

chmod g ?修改所属组权限位

chmod o ?修改其他人权限位

3)chown 修改权限所有者及祖

chown [参数] [用户] : [组] 文件

4、文件特殊权限

1)SUID

该权限对目录无效

其他人执行该文件时会临时被赋予拥有者权限

使用chmod u s 文件名 添加suid权限

s 表示suid权限 并且有执行权限

S 表示suid权限 但无执行权限

2)SGID

该权限针对目录

一旦目录拥有sgid权限位,那么在该目录下任何人创建的文件都属于该目录的组

使用chmod g s 目录名 添加sgid权限

3)SBIT

特殊保护位 用于目录

一旦设置该权限,那么任何人在该目录下创建的文件就只有创建者和root可以删除

chmod o t 目录名 添加sbit权限

4)权限表示

suid sgid sbit

4 2 1

数字表示的权限中:

第一个数字代表特殊权限位

第二个数字代表所有者权限位

第三个数字代表所属组权限位

第四个数字代表其他人权限位

5、文件默认权限

1)umask 查看用户创建文件时的默认权限

例:假设umask为n

则目录默认权限位为0777-n

文件默认权限位为0666-n

2)umask -S 显示格式化权限位信息

3)umask [数字权限位] 可临时修改默认权限位

4)修改/etc/profile 可永久修改默认权限位

6、文件隐藏属性

1)chattr 设置文件隐藏权限

chattr /- 可以增/减隐藏权限

i 无法对文件进行修改

a 只允许追加 无法删除覆盖

A 不再修改最后访问时间

b 不再修改存取时间

c 默认将文件、目录进行压缩

u 删除后仍保留硬盘中的数据

2)lsattr 显示文件的隐藏权限

7、文件访问控制ACL

1)设置ACL权限 -m

1.1)对用户设置

setfacl -m u:用户名:权限 文件路径

例:setfacl -m u:h0ss:rw file

1.2)对组设置

setfacl -m g:组名:权限 文件路径

例:setfacl -m g:h0ss:rw file

1.3)对所有者/所属组设置

对所有者设置: setfacl -m u::权限 文件路径

对所属组设置: setfacl -m g::权限 文件路径

2)目录设置默认ACL权限

为所有用户设置默认ACL:

setfacl -m d:u::权限 目录路径

为所有组设置默认ACL:

setfacl -m d:g::权限 目录路径

为用户设置默认ACL:

setfacl -m d:u:用户名:权限 目录路径

为组设置默认ACL:

setfacl -m d:g:组名:权限 目录路径

3)查看文件ACL权限

getfacl 文件路径

注:ACL权限为顺序匹配

例:user::rwx user:x:r

假如file文件所有者是x 那么对他设置任何acl权限都无效 他的acl权限为所有者权限

4)删除ACL权限 -x

删除单一用户权限setfacl -x u:用户名 文件路径

删除所有者用户权限setfacl -x u:: 文件路径

5)删除全部ACL权限 -b

setfacl -b 文件路径

8、切换用户 su sudo

1)su 用于用户信息切换

su - 用户名 --->表示完全切换到新用户 连同环境变量也进行变更【建议使用】

su 用户名 ---> 环境变量不更改

2)sudo 为普通用户赋予额外权限

可以使用visudo进行sudoer配置修改,这个命令的好处是禁止多用户同时修改,并且支持语法检查

参数:

-u 以指定用户身份运行

-k 清空密码有效时间 下次用sudo仍需密码

-b 后台运行命令

二、Systemd服务管理

1、服务管理命令

systemctl 查看服务列表

systemctl start [服务名] 开启服务

systemctl stop [服务名] 关闭服务

systemctl restart [服务名] 重启服务

systemctl reload [服务名] 重新加载服务配置,该命令可使修改配置后重新生效

systemctl status [服务名] 查看服务状态

systemctl enable [服务名] 设置服务开机自启动

systemctl disable [服务名] 关闭服务开机自启

systemctl is-enable [服务名] 查看服务是否开机自启动

systemctl mask [服务名] 屏蔽服务

systemctl umask [服务名] 取消服务屏蔽

2、服务状态

loaded 服务单元配置已被处理

active(running) 服务进行中

active(exited) 一次性服务已成功运行并退出

active(waiting) 服务已运行但等待中

inactive 服务没有在运行

enabled 服务设定为开启启动

disabled 服务设置为开机不启动

static 服务不能被设置为开机启动

0 人点赞