一、管理本地用户
用户概念
用户:是一个身份,让我们在操作过程中有迹可循,可以找到负责的用户,同样也可以给用户不同权限,保证系统安全。 分类:
1.超级用户:管理员账号,默认是root,权限最大 uid=0 2.系统用户:系统用户是给软件进程使用的,权限也是比较大的。软件的资源调度也会用到系统用户 1<uid<1000 3.普通用户:由管理员创建,用作日常使用,权限比较低。uid默认大于等于1000
root:x :0:0:root:/root/bin/bash
root: 用户名
x: 密码占位符(vim/etc/shadow密码存放地址)
0:uid由于标识符,系统根据uid判断用户身份
0:gid,主组id,有且仅有一个,默认和uid一致
root:注释说明,一般默认和用户名一致
/root/:用户目录, (/root/是root的家目录,/home/是普通用户的家目录
/bin/bash:
操作
1.1建用户名**
useradd [选项] 用户名
选项: -u--指明uid
-c--指明注释
-g--指明gid(gid必须存在)
-s--指明shell类型(默认/bin/bash、/sbin/nologin表示无法登录)
-d--指明用户录,默认/home/用户名
普通用户uid默认从1000开始
创建用户user01 ,uid指定为1888,id user01查看
密码设为1,在root中直接设置,在普通用户中短于8字符,密码设置不成功(报错,太简单)
1.2、修改用户信息
usermod [选项] 用户名
选项: -u--指明uid
-c--指明注释
-g--指明gid(gid必须存在)
-s--指明shell类型(默认/bin/bash、/sbin/nologin表示无法登录)
-d--指明用户录,默认/home/用户名
-aG -a追加附加组,没有会覆盖原来的
uid 1888改为1666
修改shell类型,无法登录
1.3删除用户
userdel -r 用户名 (不加-r,只在/etc/passwd文件中删除该用户,但家目录,和邮箱目录会残留数据)
如果没加 -r
方法一:uid 相同的用户,再执行 -r 删除
方法二: 使用find命令找出之前用户的所有信息
ls -1 /home
userdel -r 用户名
find / -uid 编号
find / -uid 编号 - exec rm -rf {} \;
二、组概念
root:0:0:
第一位root :组名
第二位x: 密码占位符
第三位0:gid
第四位:组成员
2.1 创建、删除、修改
创建:groupadd
-g: 指明gid
修改:groupmod
-g : 修改gid
-n 修改组名
usermod -aG-a追加附加组,没有会覆盖原来的
删除:groupdel 组名 (注:如果改组是用户的主组,那么该组不能直接删除,需要更换用户的主组,或是直接连用户一起删除)
例:
1.创建一个组user,gid为666
2.创建用户redhat,密码123,将redhat加入到user组中,用id redhat检查
3.创建用户teacher01,teacher02,其中teacher02 不可以登录到终端,密码都是456,然后再创建一个组teacher是,把teacher01,teacher02都加入teachers组中
2.2、用户身份切换
su命令切换用户身份 sudo代替su,sudo让某个用户做一件事情 sudo文件配置 /etc/sudoers 配置文件通常写入/etc/sudoers.d目录下,文件名随意
三、文件权限
3.1 ls –l 查看文件详细信息 drwxr-xr-x. 2 root root 6 Jun 6 14:17 A 目录 ( rwx 对应root,后一个r对应后一个root)
-rw-r--r--. 1 root root 0 Jun 5 15:48 redhat.txt 第一个 – 指文件属性(-代表普通文件,d代表目录,l代表软连接,c代表字符设备,比如鼠标键盘,b代表块设备,磁盘) 第二个 rw- 指文件所有者root用户的权限(谁创建了这个文件) 第三个 r— 指文件所属组root组的权限(文件所有者的主组就是文件所属组) 第四个 r—指其他用户权限(既不是root用户也不在root组中,即为其他用户)(普通权限) 第五个 “.”代表acl权限,若是“.”代表没有acl权限,若是“+”代表设置acl权限 (特殊权限) 注:若没有设置权限,用---代替
3.2 三种权限
文件:普通文件一般不给X权限,
3.3 修改文件权限
3.3.1 符号法 chmod who what which 文件路径 who:指要修改的用户 u代表所有者 g代表组 o代表其他用户 a代表所有用户 what:要进行的操作 +赋予权限 -去除权限 =精准赋予权限 which:要操作的权限 r w x
增加权限
去除权限
针对目录下的文件批量设置权限,使用-R 大写X只会给目录赋予权限,普通文件不会执行
3.3.2 数值法 chmod ### 文件路径 每一个#代表一个数值, 第一个#代表文件所有者权限 第二个#代表文件所属组权限 第三个代表其他用户权限 这里将r w x分别用数字代替 r=4 w=2 x=1 没权限用0表示 例:- rwx rw- r--. 1 root root 0 Jun 2 19:37 1.txt 文件所有者为root,权限rwx=4+2+1=7 文件所属组为root,权限rw-=4+2+0=6 其他用户权限r--=4+0+0=4 书写:chmod 764 1.txt
例:read = 4, write = 2, exec = 1
txt 权限设置:文件所有者有读写执行权限, 文件所属组有读写权限 ,他用户没有权限
chmod 750 2.txt
例:用数值表示法来给passwd设置权限,要求如下,文件所有者有rw权限 4+2=6,文件所属组有r的权限 4,其他用户没有任何权限 0
3.4修改文件所有者、所属组
chown 文件所有者 文件路径 修改文件的所有者
chown :文件所属组 文件路径 修改文件所属组
chown 文件所有者:文件所属组 文件路径 同时修改文件所有者和所属组
注:批量修改加-R选项 chown -R student02 dirC 目录本身的用户所有者和目录下文件的用户所有者都发生改变
例.创建文件1.txt,对文件权限需求:文件所有者拥有读写执行的权限,文件所属组有读写权限,其他用户没有权限。