前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux命令整理(二)

Linux命令整理(二)

作者头像
玛卡bug卡
发布2022-09-20 11:15:06
4360
发布2022-09-20 11:15:06
举报
文章被收录于专栏:Java后端修炼

一、用户身份与文件权限

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 服务不能被设置为开机启动

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Java后端修炼 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档