/etc/passwd 用户配置文件
/etc/group 组配置文件
/etc/login.defs 定义了useradd创建用户时创建的相关参数
/etc/defaults/useradd
-d, --delete
-l, --lock lock the password for the named account (root only)
-u, --unlock unlock the password for the named account (root only)
-x, --maximum=DAYS maximum password lifetime (root only)
-n, --minimum=DAYS minimum password lifetime (root only)
-w, --warning=DAYS number of days warning users receives before password expiration (root only)
-i, --inactive=DAYS number of days after password expiration when an account becomes disabled (root
chage也可以更改密码参数
[root@localhost ~]# cat users
zxx:redhat
wjx:redhat
admin:redhat
[root@localhost ~]# chpasswd < users
[root@localhost ~]# echo root:redhat | chpasswd
-r 删除组密码
-d 从组中移除用户 gpasswd -d haha g1
-a 把用户加入组 gpasswd -a haha g1
-M 指定用户列表加入组 gpasswd -M haha,hehe,xixi g1
-A 指定组长(和普通组成员的区别是可以在组里添加用户或者删除用户) gpasswd -A haha g1
-R 锁定组密码
解锁组密码直接更改组密码
创建学习组1,学习组2 ;他们的组gid分别为1111,2222,添加成员并将uid为1088,
和uid为1066的成员为两组的组长,其中一组组长有一个‘外号’laoda。
不同学习组进入需要密码才能进入(设置密码);即使密码泄露也不希望组之外的成员进入。
1.1权限的两种描述方式
字符形式: r 读 w 写 x 执行 -没有对应权限
所属用户权限u 所属组权限 g 其他用户的权限o
数值形式: r=4 w=2 x=1 将一组权限值相加显示
#chown USERNAME FILENAME
#chown USER:GROUP FILENAME
#chown .GROUP FILENAME
#chgrp GROUPNAME FILENAME
注:root管理员忽略所有权限,权限仅对一般用户生效
字符形式: u 所属用户 g 所属组 o 其他用户 a==ugo 所有用户 赋值符号 = + -
[root@localhost ~]# chmod u-w,g+rw,o=rw anaconda-ks.cfg
[root@localhost ~]# ll anaconda-ks.cfg
-r--rw-rw-. 1 root redhat 1554 Feb 19 2021 anaconda-ks.cfg
[root@localhost ~]# chmod u=rw anaconda-ks.cfg
[root@localhost ~]# ll anaconda-ks.cfg
-rw-rw-rw-. 1 root redhat 1554 Feb 19 2021 anaconda-ks.cfg
[root@localhost ~]# chmod a=r anaconda-ks.cfg
[root@localhost ~]# ll anaconda-ks.cfg
-r--r--r--. 1 root redhat 1554 Feb 19 2021 anaconda-ks.cfg
[root@localhost ~]# chmod a+x anaconda-ks.cfg
[root@localhost ~]# ll anaconda-ks.cfg
-r-xr-xr-x. 1 root redhat 1554 Feb 19 2021 anaconda-ks.cfg
[root@localhost ~]# chmod ugo+w anaconda-ks.cfg
[root@localhost ~]# ll anaconda-ks.cfg
-rwxrwxrwx. 1 root redhat 1554 Feb 19 2021 anaconda-ks.cfg
数值形式:
#chmod 600 FILENAME
#chmod 6 FILENAME 006
(运行一个可执行文件,回转换成一个进程,进程的发起者用户是当前用户,则通过进程匹配一个目标文件,则判发起者用户对目标有没有相应权限,判断发起用户(进程的发起者用户)是否是文件的所属用户,如果是就匹配所属用户的权限,不是则匹配是否是组用户,是匹配组权限,不是直接匹配其他用户的权限。)
系统任何进程开始都保存为一个文件,由用户执行可执行文件后成为进程,而能否执行,取决于用户对可执行文件有没有权限,而程序一旦执行后转为进程,那么进程就与之前的可执行文件无关,进程的权限为进程发起者的权限,而进程能否访问某个文件,则取决于发起者是否有权限访问目标文件,而这一切就叫做安全上下文
r--- 文本文件(-)cat tac more less head tail nano vim grep wc cut
目录文件 ls
w -- 文本文件(-) vim nano > >> |tee -a
--目录 创建文件touch mkdir cp mv rm
x --文本文件 命令文件
目录文件 cd
注:对于目录文件有读或者写权限必须要有执行权限 r-x rwx
对于用户如果对该目录有写权限则可以删除该目录下所有用户创建的文件
系统默认文本文件权限值 644 文本文件最高权限值 666 022
666 rw- rw- rw-
055 --- r-x r-x
622 rw- -w- -w-
目录文件的权限值 755 最高权限值 777 022
权限掩码值(权限过滤符)
u+s 可执行文件所属用户的强制位,作用让进程文件的所属用户不再属于发起者的身份,而是程序文件自身的所属用户 (对于可执行文件设置有意义(命令))----运行可执行文件的发起者身份是文件所属用户。
[root@localhost ~]# ll /test/mima
----------. 1 root root 2742 Nov 24 16:27 /test/mima
[root@localhost ~]# ll /usr/bin/cat
-rwxr-xr-x. 1 root root 87496 Apr 10 2020 /usr/bin/cat
[redhat@localhost test]$ cat mima
cat: mima: Permission denied
[root@localhost ~]# chmod u+s /usr/bin/cat --设置特殊权限后,执行该命令文件的所属用户就是文件自身的用户,root
[redhat@localhost test]$ cat mima
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
g+s 可执行文件所属组的强制位,作用让进程文件的所属组不再属于发起者的身份,而是程序文件自身的所属组
对目录文件设置
o+t 仅对目录生效 该目录下用户只能删除自己的文件不能删除别人创建的文件