liunx_second_day
liunx- 基本权限
1、文件和目录权限的区别
A. 文件的权限:所有者,所属组,其他人
rwx,读,写,执行,没有权限就是 -
- 第一组 rwx: 文件所有者的权限
- 第二组 rwx: 文件所属组的权限
- 第三组 rwx: 文件其他人的权限
B. 目录的权限:
r: 具有读取目录结构列表的权限,可以查看目录下有哪些文件
w: 该权限对于目录来说是很大的
1、可以在该目录下新建新的文件和目录
2、可以删除已经存在和目录
3、将已经存在的文件和目录重命名
4、移动该目录内的文件和目录的位置、
x: 是否可以进入该目录
2、修改文件权限
- chown :修改文件的拥有者,前提是要有该拥有者
- chown 拥有者 文件 / 目录
- -R 递归修改
- chown 拥有者 文件 / 目录
- chgrp :修改问价所属组,前提是要有该组
- -R 递归修改
- chmod :修改拥有者和所属组的权限
- 加减法:u/g/o +/-/= r/w/x eg:(chmod u+w filename 《filename》)
- 数字法:r = 4,w=2,x=1, 三位 两位 一位 eg:(chomd 764 《filename》)
3、创建一个组 -groupadd
groupadd:创建组
组的默认信息:/etc/login.defs
-g: 指定 gid
groupdel
groupmod
gpasswd
-a:为组添加用户
-d:为组删除用户
权限特点:
证明文件的 RWX 权限特点
文件的拥有者,即使没有 W 权限,也可以强制写入。所属组和其他人不行
证明目录的 RWX 权限特点:
如果一个用户对一个目录没有 W 的权限,是可以编辑该目录中拥有者是自己的文件
4、默认权限 -umask
0022 ---- 拿走的权限
第一个数字表示特殊权限
022 = rwxr_xr_x
默认创建文件和目录的权限,文件会拿走 x 权限
临时的修改:umask 0000
永久修改:/etc/bashrc(不建议)
5、特殊权限
当 s 出现在拥有者的 X 权限时候,表示拥有者 SUID 的权限(Set UID)
当 s 出现在所属组的 X 权限位置时候,表示所属组有 SGID 的权限(Set GID)
当 s 出现其他人的 X 权限位置时候,表示其他人有 SBIT 的权限(Sticky Bit)
SUID, 临时获取文件拥有者的权限 ------- 只能针对文件
SGID,即使可以作用于目录,也可以作用于文件
作用于文件:SUID 一样
作用于目录:继承父集目录 ------ 目录会不停的继承
SBIT 指的是,只有文件的拥有者,才能删除,修改该目录下的文件 ------ 只能针对目录
S 和 T 都有大写和小写之分
小写说明:没有 X 权限
大写说明:有 X 权限
SUID=4 SGID=2 SBIT=1
6、用户账户管理
- 账户和组名:人看的
- UID 和 GID:Liunx 看的
- id:查看当前登入用户的 UID 和 GID
- 当我们使用 ls -l 的时候,系统会根据 /etc/passwd 和 /etc/group 文件的内容,找到 UID 和 GID 对应的名称
- 如果随意修改了 /etc/passwd 下的用户的 UID 会发生什么情况
- /etc/passwd:记录了 Liunx 上所有的账号
- /etc/shadow:记录了账户对应的密码
- /etc/group:记录了所有的组
1、/etc/passwd
lewis❌1004:1004::/home/lewis:/bin/bash
- lewis:用户名
- X:早期这个部分党的是用户登入密码,现在密码放入了 /etc/shadow 中了
- UID:0 表示系统管理员,1-999 保留给系统使用的 ID,1000 以上给一般使用者
- GID:0 表示系统管理员,1-999 保留给系统使用的 ID,1000 以上给一般使用者
- Lewis:使用者信息说明
- /home/lewis:用户家目录,用户登入是,所在目录
- /bin/bash:用户在登入的时候,是否可以使用 shell,如果不能使用 shell, 则会显示 /sbin/nologin
2、/etc/shadow
root:$6$4eHpZlxH3dAxcEVZ$5EW9HK6XX12fMWATh21P80t4HIRTth1WVOC0Aw6xiveLIkKmcsKMWukhM8q8NCzbK.b/v1qMz3.L.hVIwnAVk/::0:99999:7:::
1、root:用户名
2、一串红色的数字,经过加密的数字
3、最近更改过密码的日期:Liunx 中的日期,是通过 1970 年 1 月 1 号开始累加的日期
4、密码不能改修改的 tianshu;0 表示随时可以修改
5、密码需要重新被修改的天数,通过修改该值,可以强制用户修改密码
6、密码需要变更的告警天数;7 天内系统会想用户发出告警
7、密码到期后,账号还可以使用的时间
8、账号失效日期:通过 1970 年 1 月 1 号开始累加的日期,到了时间后,无论密码是否过期,该账号就不能使用了。
9、保留
3、/etc/group
lewis:X:1000:
1、Lewis:组名
2、X:组密码,一般不需要
3、1000:GID
4、附属组
这些文件不建议直接进行修改,建议使用命令进行修改
7、常用命令
a、用户创建 -useradd
-u:设置 UID
-g:设置主要组
-G:设置要附属组
-c:设置用户说明
-d:指定用户家目录
-s:指定用户 shell
-e:账号失效日期,格式为 YYYY_MM_DD
-f:指定密码是否失效,0 表示立刻失效,1 表示永不失效
使用 useradd 后,会默认做一下几个操作
-
- 在 /etc/passwd 下简历相关的资料
- 在 /etc/shadow 下写入密码的相关的参数
- 在 /etc/group 中写入和账户名一样的组
- 在 /home 下创建用户的家目录
- id 命令 (显示用户的 uid 和 gid)
b、删除一个用户 -userdel
- 要彻底的删除一个账号,比较麻烦
1、删除 /etc/passwd;/etc/shadow 文件的内容
2、删除 /etc/group;/etc/gshadow
3、删除 /home/username;/var/spool/mail/username
4、删除该用户曾经来该 liunx 中创建的文件
find 进行搜索,先搜索,在使用 userdel
-r 连同家目录和邮箱一起删除
c、对用户账户的信息进行细微的修改 ------usermod
-c:账户说明
-d:修改家目录
-g:修改主要组
-G:修改附属组
-a:与 -G 一起使用,增加附属组
-l:修改用户名
-u:修改 UID
-L:冻结账号
-U:解冻
c、修改账号的密码 passwd
-l :锁住该账号,在 /etc/passwd 中方密码的位置加个!
-u :解锁
-S:显示账号的密码参数
-n:接天数,设置多节可不修改密码
-x:接天数,设置多节必须修改密码
-w:j 接天数,设置密码过期前警告天数
-i:街天数,设置密码失效天数
d、chage 可以修改和密码有关的时间参数
-l:查看一个账户和密码有关的时间参数
-d :YYYY_MM_DD,修改最近一个更改密码的时间
-E :YYYY_MM_DD,修改账号的失效时间
-I:天数,设置密码几天后失效
-m:天数,设置密码至少保留几天
-M:天数,设置密码多久后,乣更新
-W:天数,设置密码过期前警告时间
e、文件权限 -getfacl 和 setfacl
acl:针对单一使用者,设置单一文件或目录来进行 rwx 的权限修改
getfacl:获取单一使用者,针对单一文件或目录的权限
setfacl:配置单一使用者,对单一文件或者目录的权限
-m:配置 acl 餐数据
-x:删除单个文件的 acl
-b:删除 acl 的配置
-R:递归配置 acl 参数
用法:setfacl -m u:用户名 :rwx 文件或者目录
setfacl -m g :组名:rwx 文件或者目录
setfacl -m m ::rwx 修改 musk 值
getfacl 文件名
mask 的定义 ------- 权限上线
1、权限的集合(特定用户,特侗族,所属组的并集)
2、如果 mask 中没有的权限,即使 getfacl 设定了,也不会有