一,管理用户账号和组账号
1,用户账号
- 超级用户:(root), uid,gid=0,超级用户是系统管理员,具备系统最高权限
- 程序用户 :每个程序在创建时会自动创建一个程序用户,uid, gid =1-999,一般这个用户只在维护这个程序时才会被使用,一般也是不允许此用户使用账户密码登录到系统中去。
- 普通用户 :(系统账户,命令创建) uid,gid =1000+,一般普通用户的权限是有限的,需要让他具备管理员权限的话,后面会用到一个知识点叫sudo,提权。
2,组账号
- 基本组(私有组)必须有 每个用户都有一个基本组
- 附加组 (公共组)非必须有
3,UID和GID
4,文件目录/etc/passwd
- 保存用户名称,宿主目录,登录Shell等基本信息
- 文件位置:/etc/passwd
- 每一行对应一个用户的账号记录
5,文件目录/etc/shadow
- 保存用户的密码,账号有效期等信息
- 文件位置:/etc/shadow
- 每一行对应一个用户的密码记录
- 文件分为9个字段,含义如下:
1,第一字段,用户名(登录名),在 /etc/shadow中,用户名和/etc/passwd是相同的,这样就把passwd和shadow中用的用户记录联系在一起,这个字段是非空的。
2,第二个字段:密码(已被加密)这个字段是非空的
3,第三个字段:上次修改口令的时间,这个时间是从1970年1.1日算起到最近一次修改口令的时间间隔天数
4,第四个字段:两次修改口令间隔最多的天数,如果这个字段的值为空,账号永久可用。
5,第五个字段:两次修改口令间隔最多的天数,如字段值为空,账号永久可用
6,第六个字段:提前多少天警告用户口令即将过期,如字段值为空,永久可用
7,第七个字段:在口令过期之后多少天禁用此账户,如字段值为空,账号永久可用
8,第八个字段:用户过期日期,此字段指定了用户过期的天数,(从1970年1,1开始的天数)如这个字段的值为空表示账号永久可用
9,第九个字段:保留字段,目前为空,已备将来发展只用。
6.添加用户账号
- 命令格式: useradd 选项 用户名
- 以下为常用选项
选项 | 作用 |
---|
useradd -u 用户名 | 指定uid |
useradd -d 用户名 | 指定宿主目录 |
useradd-e 用户名 | 指定账户失效时间 |
useradd-g 用户名 | 指定用户基本组 |
useradd -G 用户名 | 指定用户附加组 |
useradd-M 用户名 | 不建立宿主目录 |
useradd-s 用户名 | 指定用户登录shell |
举例:
[root@server1 ~]# useradd -u 10020 123 //指定用户uid为10020
[root@server1 ~]# tail -2 /etc/passwd
lihui:x:1001:1001:linux 7-4-1:/home/lhh123:/bin/bash
123:x:10020:10020::/home/123:/bin/bash
[root@server1 ~]#
root@server1 ~]# groupadd group1
[root@server1 ~]# groupadd group2
[root@server1 ~]# useradd -d /root/1231 -g group1 -G group2 -s /sbin/nologin 1321 //指定用户基本组和附加组,宿主目录以及登录shell
[root@server1 ~]# tail -2 /etc/passwd
123:x:10020:10020::/home/123:/bin/bash
1321:x:10021:10021::/root/1231:/sbin/nologin
[root@server1 ~]#
7,设置用户密码口令-passwd
- 格式:passwd 选项 用户名
- 常用选项
不指定用户名时,修改当前账号的密码
注意:清空密码:空密码登录 -d 只有管理员用户才能清空密码
选项 | 作用 |
---|
passwd -d 用户名 | 修改用户密码 |
-l | 锁定账户 |
-S | 查询用户状态 |
-u | 解锁用户 |
echo “123456” | passwd --stdin 用户名 :此条命令为给用户初始化密码为123456
8,修改用户账号的属性 usermod
- 格式: usermod 选项 用户名
- 以下选项与useradd命令中哈以相同
-u -d -e -g -G -s - 常用选项
选项 | 作用 |
---|
usermod -u 用户名 | 修改用户uid |
-d | 修改宿主目录 |
-e | 修改用户账户失效时间 |
-s | 指定用户登录shell |
-l | 更改用户登录名 |
-L | 锁定用户 |
-U | 解锁用户 |
-g | 修改用户所属基本组 |
-G | 修改用户所属附加组 |
9,删除用户
- 格式 userdel 用户名
userdel -r 用户名 删除用户时将宿主目录也连带一起删除
10,添加组账户 groupadd
例如:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QS35Ttsv-1597799323865)(en-resource://database/583:1)]
11,查询组账户
- 格式为:grep "用户名“ /etc/group
12,删除组账户
13,将用户加入到指定的组
-格式 gpasswd -a 用户名 组名 (用户要已经存在,可以先建组)
14,查询账户信息
选项 | 作用 |
---|
id 用户名 | 查询用户的uid和gid,所属组的基本组,附加组信息 |
groups 用户名 | 查询用户所属的组 |
finger 用户名 | 查询用户详细信息 (在/mnt/Pacakage下) |
w | 查询当前主机用户登陆情况 |
15,将用户从指定组移除
- 格式 gpasswd -d 用户名 组名
16,指定多个用户同时加入某个组
- 格式 gpasswd -M XX1 XX2 XX3 组名
二,管理目录和文件的属性
1,修改文件的属主和属组
选项 | 作用 |
---|
chwon属主:属组 文件或目录 | 修改该文件的属主和属组 |
chown 属主 文件或目录 | 只修改该文件的属主 |
chwon : 属组 文件或目录 | 只修改该文件的属组 |
2,,文件/目录的权限和归属
- 访问权限
- 读取 r :允许查看文件内容,显示目录列表
- 写入w:允许修改文件内容,允许在目录中新建,移动,删除文件或子目录
- 可执行x: 允许运行程序,切换目录
- 归属(所有权)
- 属主:拥有该文件或目录的用户账号
- 属组:拥有该文件或目录的组账号
- 查看文件或者目录的权限和归属
- 格式 ls -l 文件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lxmLbxhC-1597799323866)(en-resource://database/585:1)]
3,修改文件和目录的权限chmod
- chmod命令 格式:chmod -R xxx 文件目录
- 常用选项
- -R :递归修改指定目录下所有子项的权限
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PIO7O9F1-1597799323868)(en-resource://database/587:1)]
4,设置文件和目录的归属 chown
- chown 命令
- chown 属主 文件或目录
- chown :属组 文件或目录
- chown 属主:属组 文件或目录
- 例如:chown -R 属主:属组 文件或目录
[root@server1 ~]# mkdir aaa
[root@server1 ~]# cd aaa
[root@server1 aaa]# vi aaa
[root@server1 aaa]# ls -lh
总用量 4.0K
-rw-r--r-- 1 root root 12 8月 18 08:21 aaa
[root@server1 aaa]# cat aaa
1234567890
[root@server1 aaa]# cd
[root@server1 ~]# cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
ab:x:10022:10026::/home/ab:/bin/bash
ac:x:10023:10027::/home/ac:/bin/bash
[root@server1 ~]# chown -R ab:ac aaa 递归修改文件aaa的属主跟属组为ab .ac
[root@server1 ~]# ls -lh
总用量 16K
drwxr-xr-x 2 ab ac 17 8月 18 08:21 aaa
[root@server1 ~]# chmod -R 777 aaa 递归修改文件的权限为 777
[root@server1 ~]# ls -lh
总用量 16K
drwxrwxrwx 2 ab ac 17 8月 18 08:21 aaa
-rw-------. 1 root root 2.9K 8月 9 20:18 anaconda-ks.cfg
[root@server1 ~]# cd aaa
[root@server1 aaa]# ls -lh
总用量 4.0K
-rwxrwxrwx 1 ab ac 12 8月 18 08:21 aaa
5,权限掩码 umask
- umash 的作用
- 控制新建的文件或目录 的权限
- 默认 权限去除umask的权限为新建的文件或者目录权限
- umask设置:umask 022
- umask查看:umask
- 修改umask权限是只能覆盖
- 例如:
- 将umask设为000,新建目录或者文件,查看权限
- 将umask设为022,新建目录或者文件,再查看权限
特殊权限:
**suid是让普通用户可以以root或其他的用户角色运行只有root或其他账号才能运行的命令或程序,或程序命令对应本来没有权限操作的文件等,suid为某一个命令设置特殊权限,使用者为所有人
注意:文件默认的特殊权限是666,目录是777 **