用户/组基本概念
用户和组:
系统上的每个进程(运行的程序)都是作为特定用户运行
每个文件是由一个特定的用户拥有
访问文件和目录受到用户的限制
与正在运行的进程相关联的用户确定该进程可访问的文件和目录
查看当前登陆的用户信息
[root@xwz ~]# iduid=0(root) gid=0(root) 组=0(root) 环境=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023[root@xwz ~]# id centosuid=1000(centos) gid=1000(centos) 组=1000(centos),10(wheel)
查看文件owner
[root@xwz ~]# ll /home总用量 4drwx------. 15 centos centos 4096 8月 25 11:05 centos
查看运行进程的username
[root@xwz ~]# ps aux |lessUSER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMANDroot 2 0.0 0.0 0 0 ? S 15:01 0:00 [kthreadd]root 3 0.0 0.0 0 0 ? S 15:01 0:00[ksoftirqd/0]root 5 0.0 0.0 0 0 ? S< 15:01 0:00[kworker/0:0H]root 7 0.0 0.0 0 0 ? S 15:01 0:00[migration/0]root 8 0.0 0.0 0 0 ? S 15:01 0:00 [rcu_bh]
和用户组相关的一些文件
/etc/passwd root:x:0:0:root:/root:/bin/bash # 用户信息用户名:x:uid:gid:描述:HOME:shell # x密码占位符/etc/shadowroot:$6$j3YZCHCXpIiDho7x$v4/j6b0zGgyTcfP6jOa1ZY.q.sHvqQp/nsmEowjrtmo/iFKdo4XpiWZm5OpDKqhZEw8OSXTpdAM2JyIgBI.Mz0::0:99999:7:::$id$salt$encrypted # 密码信息/etc/group root:x:0: # 组的信息[root@xwz ~]# man 5 passwd[root@xwz ~]# man 5 shadow[root@xwz ~]# man 5 group[root@xwz ~]# man 3 crypt
加密算法$id
$1 MD5$5 SHA-256$6 SHA-512
系统约定
uid:0 特权用户uid:1~999 系统用户uid:1000+ 普通用户
root用户
uid是0
所有权力
该用户有权力覆盖文件系统上的普通权限
安装或删除软件并管理系统文件和目录
大多数设备只能由root控制
用户管理
用户组
[root@xwz ~]# groupadd hr[root@xwz ~]# groupadd sale[root@xwz ~]# groupadd it[root@xwz ~]# groupadd fd[root@xwz ~]# groupadd market[root@xwz ~]# groupadd net01 -g 2000[root@xwz ~]# grep 'net01' /etc/groupnet01:x:2000:[root@xwz ~]# groupdel net01
用户
添加用户
useradd常用参数
常用选项:-u:指定uid-g:指定gid-c:用户注释信息-d:家目录-s:指定shell(/etc/shells)-G:附加组-r:创建系统用户
如果创建一个用户时,未指定任何选项,系统会创建一个和用户名相同的组作为用户的 Primary Group
[root@xwz ~]# useradd user02 -u 503 # 创建用户user02,指定uid[root@xwz ~]# useradd user03 -d /user033 # 创建用户user03,指定家目录[root@xwz ~]# useradd user04 -s /sbin/nologin # 创建用户并指定shell[root@xwz ~]# useradd user05 -G hr,it,fd # 创建用户,指定附加组[root@xwz ~]# useradd user06 -u 4000 -s /sbin/nologin
![ADUPZHUWA(E9MPLW4@4E.png
注意:
-g-G 仅使用useradd创建用户时使用
-g-G指定的组必须事先存在
删除用户
[root@xwz ~]# userdel user06 # 删除用户user06,但是不删除用户的home和mail[root@xwz ~]# ll -d /home/user06drwx------. 3 4000 4000 78 9月 1 10:34 /home/user06[root@xwz ~]# ll /var/spool/mail/user06-rw-rw----. 1 4000 mail 0 9月 1 10:34 /var/spool/mail/user06[root@xwz ~]# userdel -r user02 # 删除用户user02,并且同时删除用户的home和mail
给用户修改密码
[root@xwz ~]# passwd user05# root用户可以直接设置普通用户密码# 普通用户必须要提供原密码,才可以修改自己密码常用选项:-n mindays:指定最短使用期限-x maxdays:最大使用期限-w warndays:提前多少天开始警告-i inactivedays:非活动期限--stdin:从标准输入接收用户密码echo "PASSWD" | passwd --stdin username
修改用户组
[root@xwz ~]# usermod -G hr user05 # 覆盖原有的附加组[root@xwz ~]# usermod -G fd,it user05[root@xwz ~]# usermod -aG sale user05 # 增加新的附加组
[root@xwz ~]# gpasswd -M user03,user04 fd[root@xwz ~]# id user03uid=1002(user03) gid=1008(user03) 组=1008(user03),1001(hr),1004(fd)[root@xwz ~]# id user04uid=1003(user04) gid=1009(user04) 组=1009(user04),1004(fd)
将用户从组中删除
[root@xwz ~]# gpasswd -d user03 hr正在将用户“user03”从“hr”组中删除[root@xwz ~]# id user03uid=1002(user03) gid=1008(user03) 组=1008(user03),1004(fd)
修改用户的shell
[root@xwz ~]# usermod -s /sbin/nologin user03# 修改用户的shell
no shell
shell 是用户登录后运行的第一个程序
/sbin/nologin 用户无法登录系统,实现管理。仅作为运行进程的用户,访问FTP的用户。安全的用户
/bin/bash 登录系统,实现管理
图形化登录
命令行登录
切换用户
如果设置为/usr/sbin/poweroff,那么一登录就会关机(setenforce 0)
grep ‘bash$’ /etc/passwd 查看允许登录的所有用户
sudo提权
以root身份授权普通用户
[centos@xwz ~]$ useradd u1-bash: /usr/sbin/useradd: 权限不够[centos@xwz ~]$ su - root密码:[root@xwz ~]# useradd u1
再/etc/sudoers里wheel组是拥有所有权限的,给用户添加wheel组以提权
[root@xwz ~]# vim /etc/sudoers%wheel ALL=(ALL) NOPASSWD: ALL[root@xwz ~]# gpasswd -a centos wheel[root@xwz ~]# su - centos[centos@xwz ~]$ useradd u2-bash: /usr/sbin/useradd: 权限不够[centos@xwz ~]$ sudo useradd u2[sudo] centos 的密码:[centos@xwz ~]$ id u2uid=1006(u2) gid=1012(u2) 组=1012(u2)
文件权限
基本权限UGO
文件权限设置:可以赋予UGO某个用户或组,能够以何种方式,访问某个文件
UGO设置基本权限(r,w,x)
权限对象:
属主:u
属组:g
其他人:o
权限类型:
读:r 4
写:w 2
执行:x 1
rwx 7
rw- 6
r— 4
764
rwxrw-r—
特殊权限
suid:借出程序所有者的权限(如果该文件的属主拥有该权限而使用的用户没有该权限的话,用户可以借助属主的权限来操作文件)(示例:passwd)
sgid:接触程序所属组的权限
SBIT:用来做共享目录(示例:根目录下tmp文件夹)
umask:创建文件时,文件权限是666-umask的值
创建文件夹时,文件夹权限时777-umask的值
查看UUID blkid
查看分区和磁盘 lsblk
查看控件使用情况 df -Th
对磁盘进行分区 dfisk /dev/磁盘
权限管理
更改文件的属主,属组:
[root@xwz ~]# chown centos:hr file1 # 改属主、属组[root@xwz ~]# chown centos file1 # 只改属主[root@xwz ~]# chown :hr file1 # 只改属组
![IYZC8UDJZ7{}{JWO9B}TD4.png
[root@xwz ~]# chmod u+x file1 # 属主增加执行[root@xwz ~]# chmod a=rwx file1 # 所有人等于读写执行[root@xwz ~]# chmod a=- file1 # 所有人没有权限[root@xwz ~]# chmod ug=rw,o=r file1 # 属主属组等于读写,其他人只读[root@xwz ~]# ll file1 # 显示结果
使用数字增加权限
[root@xwz ~]# chmod 644 file1[root@xwz ~]# ll file1
文件的软硬连接
硬链接文件不能跨文件系统,因为硬连接文件是通过同一个inode增加inode值实现的,而不同的文件分区都有自己的inode管理 软连接文件可以跨文件系统,因为软连接是通过文件路径来连接到源文件
