目录
一、用户账号
1、Linux有三大用户类型:
二、组账号
1、基本组(私有组):有且只有一个,一般为创建用户时指定的组。
2、附加组(公共组):可有可无,用户除了基本组以外,额外添加指定的组。
三、标识号
1、UID 用户标识号:
2、GID组标识号
四、用户账号文件介绍
1、/etc/passwd:存放用户信息文件,系统上所有的用户信息都存在这个文件中
2、/etc/shadow:存放用户密码信息的文件
第九字段:无用字段,保留字段收费内容五、管理用户账号的相关命令
1、useradd:添加用户账号
2、passwd:修改密码
3、usermod:修改用户账号属性
-U 解锁用户 passwd -u 一样4、userdel :删除用户账号
5、echo:快捷设置用户密码
6、usermod :对已有用户属性进行修改(选项和useradd基本一致)
7、gpasswd:将用户添加到组里
8、查看用户信息
9、finger :查询用户账号的详细信息
10、id :查询用户身份标识(uid gid 和组)
六、用户账号和组账号配置文件
1、家目录基本配置文件
2、组账号文件
七、管理组账号相关命令
1、groupadd:添加组账号
2、gpasswd :添加删除组成员
八、查询账号信息相关命令
1、groups:查询用户所属组
2、id:查询用户身份标识
3、finger:查询用户账号的详细信息
九、文件目录的权限和归属
1、读取:r 允许查看文件内容(有rx权限才可以显示目录列表)
2、写入:w 允许修改文件内容,在目录中新建移动或者删除文件
3、可执行:x 允许执行程序,是文件夹下最小的权限
十、设置文件目录的权限和归属命令
1、chmod:设置文件和目录的权限
2、chown :设置文件和目录的归属
3、umask:决定新建文件目录的权限
4、suid 属主
5、guid属组
6、acl访问控制列表
①超级用户:拥有最高权限,root用户是Linux操作系统默认的超级用户账户,是最高级权限,系统中超级用户是唯一的。
②普通用户:权限受限的用户,账号需要管理员创建,拥有的权限会受到限制,一般只在自己的宿主目录中有完整的权限。
③程序用户:给程序用的用户,仅用于维持系统的某个程序正常运行。
生成用户的时候,自动会分配一个uid账号,用户之前用uid账号来进行区分。
UID的取值范围
超级用户UID | 0 | 0 |
---|---|---|
普通用户UID | CentOs6以前 500+ | CentOs7以后 1000-60000 |
程序用户UID | CentOs6以前 1-499 | CentOs7以后 201-999 |
root不一定是超级管理员,uid=0的才是超级管理员
与UID类似,每一个组账号都有自己身份标识,成为GID。
一共七个字段,七段用冒号(:)隔开
第一字段:root:用户名
第二字段:x:密码占位符
第三字段:0 : uid 用户编号
第四字段:0:gid 组编号
第五字段:root: 备注
第六字段:/root: 家目录的位置
第七字段: /bin/bash:用户默认加载的 shell 环境
用来保存用户密码,账号有效期等信息
root:$6$4V92DDnjpoaeXmmD$Dx./:18318:0:99999:7: : :
第一字段:root:用户名
第二字段:$6$4V92DDnjpoaeXmmD$Dx:算法加密后密码 如果此处 为* !! 禁止登陆
第三字段:18318: 从1970.1.1 (linux 诞生的日期) 到 今天 过了19318
第四字段:0: 代表不限制 更改密码的时间 ,如果写10 代表10天内不能修改
第五字段:99999:密码 有效期 约等200年 永久
第六字段:7:密码到期前 7天 提醒你
第七字段: 密码过期后的宽限天数 30 天 还能登陆
第八字段: 账号失效时间
对新建用户的基本信息进行修改(对已经有的用户无法设置)
格式:useradd 选项 用户名
-u 指定uid
-d 指定家目录
-M 不建立家目录
-s 指定shell类型
-e 指定用户失效时间
建立一个用户指定uid 不建立家目录 不让用户登录(s/abin/nologin)
-g 表示指定基本组的uid
-G 指定附加组的uid
格式:passwd 选项 用户
-l 锁定用户,不让用户登录
-S 查看是否锁定
-u 解锁
-fu 强制解锁
-d 清空密码 ,不需要密码登录
补充:①tr -d 123就是删除123
echo 123abc |tr -d 123
输出=abc
②面交互修改密码
echo 123123 | passwd lisi --stdin
useradd 新建用户的信息进行修改
已存在的用户需要使用usermod进行修改
格式: usermod 选项 用户名
-l 更改用户名
-u 指定uid
-d 指定家目录
-M 不建立家目录
-s 指定shell类型
-e 账户失效时间 yy-mm-dd
-g 指定基本组的 gid
-G 指定附加组的gid
-L 锁定用户 passwd -l 一样
格式:userdel -r 用户名
-r 就是连家目录一起删除
格式:echo 密码 | passwd --stdin 用户名
-l 修改用户名
格式:useradd -l 新名字 旧名字
-L锁定改后的名字
-U 解锁
补充:cat /etc/shells 就是查看shell的类型
格式:gpasswd 选项 用户 组名
-a 添加 gpasswd -a 用户 组名
-d 删除
-M 用,隔开,一次性添加多人
w who users 依次详细
yum install finger -y 安装finger命令
[root@localhost ~]#yum install finger -y
.bash_logout
退出前先运行命令
.bash_profile
.bashrc
进入用户前先运行命令
用户账号初始配置文件从/etc/skel中复制而来。
etc /passwd :用户信息
etc /shadow :用户密码,保存组账号的密码信息
/etc/group: 保存组账号基本信息
格式 groupadd 组名
gpasswd 选项 组名 用户名
选项 | 功能作用 |
---|---|
-a | 向组内添加一个用户 |
-d | 从组内删除一个用户成员 |
-M | 向组内批量添加用户 |
格式:groups 用户名
格式 :id 用户名
格式:finger 用户名
使用前需要先下载:yum install finger -y
权限(文件夹)一定要有x,如果没有x,有rw也没有用
读 | r | 4 |
写 | w | 2 |
执行 | x | 1 |
读写执行 | rwx | 7 |
rwx有就写没有就用-表示
rw表示属主
r--表示数组
r--表示其他
-rw-r--r--.1.root root 08月26 2021 abc.txt
root可读可写,root组中用户只可读,其他用户只可读
例题:一个文件可以被删除,和本身权限有关吗?
和所在文件夹有关,有wx权限就可以删除
例题:cp/etc/issue/mnt/dir这跳命令中,cp etc issue dir mnt 分别最低需要什么权限?
/bin/cp 需要x权限 ; /etc/ 需要x权限 ; /etc/issue 需要r权限 ;
/data 需要x权限 ; /data/dir 需要w,x权限
例题:作为超级管理员,别人没有读写权限,我有读写权限,那么别人没有执行权限,我有吗?
别人有权限,我也有权限,如果别人没有执行权限,那么我也没有权限
补充:复制文件有r只读权限就性了。
格式:chmod ugoa +-= rwx 文件或者目录
u:属主 g:属组 o:其他用户 a:所有用户
+:在原有的基础上增加权限 -:在原有的基础上去除权限 =:赋予权限
r: 读 w:写 x :运行
格式:chmod 777 文件或目录
补充:chmod o+t DIR 添加sticky位
chemod o-t DIR 减少sticky位
给所有人赋予权力:chmod -a rwx*
chown 属主 文件或目录
chown :属组 文件或目录
chown 属主:属组 文件或目录
①都改:chown 用户名: 组名 文件或者文件夹
②只改属主:chown 用户名
③只改属组:chown :组名
文件落地最高权限 666 (为安全性考虑,文件没有执行权限) ;文件夹落地最高权限 777
新建文件的默认权限: 666-umask,如果所得结果某位存在执行(奇数)权限,则将其权限+1,偶数不变
新建目录的默认权限: 777-umask
非特权用户umask默认是 002
root的umask 默认是 022
使用此命令时,把当前用户当成文件的主人
chmod u+s /user/bin/vim
chmod u-s /user/bin/vim
setfacl -x u:lisi passwd
-x就是删除。