useradd 创建用户

userdel 删除用户

groupadd 创建组

groupdel 删除组

passwd 设置密码

usermod 设置用户信息

chage 设置密码的一些设定

gpasswd 设置组的成员

chmod 设置权限

chown 修改文件拥有者/属组

chgrp 更改文件工作组所有权

umask 文件创建屏蔽字

getfacl 查看文件的acl设定内容

setfacl 设置文件的acl规范


硬盘相关

which+命令 查找命令的位置

whereis 也可以 同时还能显示文档地址

whatis 显示命令的作用

❗❗❗❗内置的命令用which找不到----(百度这么说 但是我的好像可以找到)

but ??????????????

type 命令 查看命令的类型(内置/内嵌/没有找到)

-或者f 开头 普通文件

d 目录文件

c 字符设备

b 块设备

l 连接文件

s 套接字文件

p 管道文件

内部和外部命令

type 没有显示内嵌就是外部命令

touch 一个已经存在的文件时 不会报错 也不会清空原来文件中的数据 只是会更新文件的时间戳 也就是 atime mtime ctime

ctime 是内核层面的 不能手动更改

另外两个都可以手动设置

touch -at 202007121522.46 2020年7月12日15:22 46秒

-t是同时修改 a和m

-at只修改a

touch -lu ---------设置访问时间为当前系统时间

-l ---------- mtime 内容修改时间

-lc -------------- ctime 内容和属性修改时间

设置系统时间 date -s "2029-07-13 19:22:45"

$() 拿到()里命令的结果

$(()) 拿到(())里四则运算的结果

> 输出重定向 (清空然后再写)

>> 追加重定向 (直接在末尾写)

界定文件类型---------file 文件

判断命令类型---------type 命令

查看系统是rhel6还是rhel7-------------cat /etc/redhat-release

新建用户-----------useradd

-c 注释

-u 用户id

-g 组id

-G 辅助组❗名❗

-d 家目录

-s shell 类型 (例如可不可以登录系统)要拒绝系统用户登录,可以将其 shell 设置为 /usr/sbin/nologin (/sbin/nologin)或者 /bin/false。

-m 新建用户时创建家目录 ❗和 -d 一起使用时需要 在-d前面 例 -m -d

-M 不创建家目录 ❗同上

-r 指定新建系统用户 (rhel7)可用 cat /etc/redhat-release 查看版本

实例:

useradd -u1234 -g1234 -Groot,bin,gkd -c"这是一个测试账号" -m -d /var/lib/tom -s /sbin/nologin tom

/etc/passwd 下各个字段的含义

1-2 用户/组 相关命令_用户名

❗❗❗创建用户的时候设置 不创建家目录的时候 /home 下不会有其家目录

但是 /etc/passwd 对应的一列信息中还是会显示主目录(只不过显示的那个目录并不存在)

【扩展】

centos7中用户分类(三种)id号划分和6不一样

1超级用户

用户名为 root,用户 ID 为 0。有着至高无上的权限,可执行所有任务,可访问所有文件,可管理所有用户。

在服务器配置工作完毕后,为了安全,不应该直接使用超级用户。

2 普通用户

用户 ID 默认从 1000 开始。供普通用户使用。

3 系统用户

用户 ID 默认为 1-499。仅供系统服务使用,默认不可登录(即默认 SHELL 为 /sbin/nologin)。

修改已存在用户的信息--------------usermod

-d

-m

-g

-G

-s

-u

-c---------------------------以上和useradd一样

-l --------------------新的用户名 (小写L 不是i)

-L--------------用户锁定

-U--------------解锁

删除用户-------------userdel

无参 只删除用户

-r------------删除用户时将家目录也删除
更改用户密码相关信息----------------chage

-d 修改设置密码的时间 0表示第一次登录强制修改密码

-m 多少天后可以改密码

-M 每隔多少天要更改密码

-W 密码到期前多少天提示

-I (大写I 不是L) 宽容期

-E 有效期 (可直接写日期 “2023-02-15”表示有效期截止到 2023年2月15日)

需求 新建用户 hugo 初始密码 password

# useradd hugo

# echo password | passwd --stdin hugo 第一次登录 强制修改密码 # chage -d 0 hugo 每隔30天 更新密码 # chage -M 30 hugo 更新提示前3天 # chage -W 3 hugo 延期1天 # chage -I 1 hugo 用户使用期限为2年 # chage -E '2018-01-12' hugo

-------------------------------------------------------------- # tail -1 /etc/shadow hugo:$6$2AKIZ3Sm$E5hXQ8U3p580jR6UElG.QiwvL3yjE5wex8sZ.n3qrkGCajIyePqP4XratUF0d3FmstZVDycqeg3SLvIf03WQ51:0:0:30:3:1:17543:

用户名:加密密码:最后修改密码时间:最小修改间隔:密码有效期:警告天数:宽容器:账号失效时间:保留

超级用户可直接更改其他用户的密码

passwd 用户名

非交互式设置密码

echo "123456" | passwd --stdin test03

权限

读写权限可独立 ❗但是执行权限依赖于读权限

例如 -wx 虽然有执行权限 但是不能执行 因为没有读权限

7---------------------111(二进制)--------rwx

6----------------------110----------------------rw-

其他同理

0|特殊|用户|组|其他

00777满权限

4-----读

2-----写

1-----执行

0-----无权限

7=4+2+1----------rwx

6=4+2--------rw

3=2+1--------wx

chmod 00735 my.txt

= ....... 设置权限 chmod ugo=rwx my.txt

+.........增加权限 chmod u+w my.txt

-..........取消权限 chmod g-w my.txt

u 用户

g 组

o 其他

a 所以用户

=- 设置权限为---

目录权限 r和x的区别

r权限 能看到 一个目录下有啥 但是看不到里面内容的属性信息 也不能进入里面的内容

加上x权限之后 就可以完全查看目录下的文件内容了 而且也可以cd进入文件

1-2 用户/组 相关命令_删除用户_02

❗一个文件能不能删除 不取决于文件自己的权限

而是取决于 该文件所在目录的权限 (目录需要有写权限)

❗更改文件内容取决于 文件自己的写权限

改文件名,删除文件,增加文件---------------目录权限

更改文件里面的内容-------------------------------文件权限

r ---------------能看见目录下的文件名

x----------------能进入目录下的文件,查看文件的详细信息

w---------------改名,增加,删除

超级用户可以 更改任意文件的任意权限

普通用户只能更改属于自己文件的任意权限

chmod

chown---------修改文件拥有者/组

root用户可以用chown任意改变 普通用户用chown只能改变自己的文件组的属性改为自己所在主组

chown 拥有者:组 文件

chown 拥有者 文件

chown :组 文件

-R 递归 对目录设置 对目录下的所有文件都生效

chgrp 更改文件或者目录的工作组所有权--------也就是chown 的一部分 只改变组

chgrp -R 组名 文件名

特殊权限

粘滞位(1)

sticky(1/t) --粘滞位(保证正文段),在公共目录中,用户只能管理(删除)自己的文件(拥有者) 该目录两类人拥有绝对的控制权:1.管理用户root 2.该目录的拥有者 保证正文段:对于可执行文件 在其执行完毕之后将代码(正文)部分缓存起来,提高之后的加载速度 # chmod 01755 /test1 # chmod o+t /test1 ❗小写 t 设置特殊权限的时候用小写

T权限 和o的x 共用一个位置

ls 查看权限的时候

都没有 -

只有x x

只有T T

T x 都要 t

数字表示法

01777 1表示T权限

❗T 权限虽然放在o 的x位置上 但是 T权限是给所有人的

强制位(2)

【g+s】 : 【强制位】:【sgid】

由来:每一个上班族都在为生活打拼着。每一天我们在公司都会做出来一些贡献,一些和工资等价值的东西。那么这些东西是属于谁呢?应该是属于公司吧。也就是说,是我们做出来的,但他的所有人应该是公司而不是我们。

❗❗❗❗粘制位只对目录生效;这里强制位对目录和文件都有效

###对目录:任何人在有sgid(强制位)权限的目录中建立的文件都属于目录所有组 ###对文件:只针对二进制可执行文件,当文件上有sgid时,任何人执行此文件产生的进程都属于文件所在组

s权限 和g的x 共用一个位置

表示用s 大小写规则与上面相同

4【冒险位】:【suid】

###只针对二进制可执行文件,当文件上有suid时,任何人执行这个文件时产生的进程都属于设定好的文件所有人

❗❗❗u上的s是冒险位 g上的s是强制位

❗❗❗vi编辑得时候 没做更改就退出时 q, wq ,x的区别

q-----------直接退出

wq---------会将文件重新写入磁盘,相当于用原来的覆盖原来的,相当于更改了文件

x------------如果文件更改了则保存再退出,如果没更改就直接退出


ACL

❗❗❗所有的ACL权限不能超过 mask的权限

例如;我给某个组一个rwx权限 但是mask只有rw

那么这个组实际上有的权限只有 rw

1-2 用户/组 相关命令_用户名_03

目前学到的命令

1-2 用户/组 相关命令_用户名_04


umask

下面是另外一个例子,假设这次u m a s k值为0 2 2:

  1. 文件的最大权限 rwx rwx rwx (777)

  2 ) u m a s k值为0 2 2 --- -w- -w-

  1. 目录权限 rwx r-x r-x (755) 这就是目录创建缺省权限 (777-umask)

  1. 文件权限 rw- r-- r-- (644) 这就是文件创建缺省权限( 目录-111)


设置ACL规则赋予nfsnobody用户rwx权限。`[root@Server ~]# setfacl -m u:nfsnobody:rwx /var/share``