一、用户的基础操作
1.1用户基础概念
第一类:管理员
uid = 0 用户 默认 root 的uid 是0,所以root是管理员
系统默认就创建的
权限非常高,可以执行任意的操作
第二类:系统用户 uid 是 1-500
通常无法登录系统,而且也没有用户家目录
系统用户的作用是用来运行一个特定的程序
第三类:普通用户 uid > 500
普通用户都是在系统创建完成后,新创建的用户
普通用户权限非常低,通常只能在自己的家目录下进行操作
家目录:
家目录就是一个文件夹
第一类:管理员就是root,root的家目录是/root
第二类:系统用户没有家目录
第三类:普通用户的家目录在/home,和用户同名是家目录
例:tom的家目录 、home/tom
1.2相关的配置文件
etc/passwd
/etc/shadow
/etc/group
/etc/skel
/etc/passwd文件内容说明
[root@localhost bob]# cat /etc/passwd
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
这个文件中,每行是一个用户
每行信息都是用冒号分割的七段
第一段:用户名
第二段:密码或者密码占位符
第三段:是用户的uid
第四段:是用户的gid - gid就是用户所在的组的id
第五段:是用户的描述信息 - 可以没有
第六段:用户的家目录
第七段:用户的shell类型 - shell类型决定用户是否可以登录系统
/etc/shadow文件内容说明:文件中储存密码
/etc/group/文件内容说明: 记录用户组
1.3相关的命令
useradd
userdel
passwd
groupadd
groupdel
id
su
1、新建用户
useradd 【选项】 用户名
选项:
-o :通常与-u一块使用,实现uid的复用
-u X :指定用户的uid
-g X :指定用户的gid
-s /bin/bash :指定用户的shell类型
-d /home/xxxx:指定用户的家目录
-r :创建一个系统用户
-M :不创建用户家目录
2、删除用户
userdel 【选项】 用户名
选项:
-r:删除用户的时候,将用户的家目录一块删除
3、修改密码操作
passwd 用户名
二 、权限基础操作
2.1 权限的基础概念
权限的类别:
r(4):读权限
w(2):写权限
x(1):执行权限
-(0):无任何权限
权限的对象:
u:属主用户
g:属组用户
o:其他用户
a:全部用户
控制权限:
+:在原来的权限基础上,增加新的权限
-:在原来的权限基础上,减掉某个授权
=:直接设置最终权限
注:文件权限可以通过 ls -l 进行查看
权限位一共是10位
例如:
-rw-r--r--
第一位:表示的是文件的类型
-:表示这个文件是一般文件
d:表示这个文件是目录文件
第二位-第四位:表示的是文件的属主具有的权限
第五位-第七位:表示的是文件的属组用户具有权限
第八位-第十位:表示的是文件的其他用户具有权限
2.2权限管理命令
1、修改权限
chmod 【选项】 权限 文件
选项:
-R:递归修改目录和目录下的子文件的权限
例1:给属主用户去掉写权限
chmod u-w 1.txt
例2:给属组用户添加上写权限
chmod g+w 1.txt
例3:给其他用户添加上读和执行权限
chmod o+rx 2.txt
例4:给所有用户都添加上写权限
chmod ugo+w 4.txt
另一种写法
chmod a+w 4.txt
还可以数值的方式表示文件的权限
例如:
-rw-r--r-- 644
-r--rw-r-- 464
--w-r--r-x 245
2、 修改文件的属主和属组
chown [选项] 属主:属组 文件名
选项:
-R:递归修改目录和目录下的子文件的权限
2.3 特殊权限
suid(4):任何用户执行程序的时候,都是以文件的属主的身份来运行
sgid(2):任何用户执行程序的时候,都是以文件的属组的身份来运行
sticky(1)
设置 suid 的方法
chmod u+s 文件
chmod u-s 文件
2.4 用户授权
背景:在实际场景中,用户登录系统的时候,都是用普通用户登录,因为权限很低,无法完成日常工 作,因此需要对普通用户进行授权
有2种方法:
方1:su
方2:sudo
su命令
可以实现用户身份的切换 存在两个问题:
1:无法控制控制用户可以执行的命令
2:会导致root泄露
sudo命令
sudo可以为用户进行授权,可以明确指定用户可以进行的操作有哪些
首先 :visudo打开sudo的配置文件,对用户进行授权
bom ALL=(root) /sbin/useradd,/usr/bin/touch
bom是用户名
ALL=(root) 授权用户可以以root身份去执行命令
/sbin/useradd 可以以root身份执行的命令列表
然后:在普通用户的会话中可以查看授权信息
sudo -l
需要输入自己的密码 密码有效期是5分钟
最后: 普通用户使用授权进行操作的时候,必须在前面加上sudo
sudo useradd aaa
需要输入自己的密码 密码有效期是5分钟