用户和组管理
用户分为三类:
超级用户 root
普通用户 只能切换到自己有的用户
系统用户(不常用,没办法登录)
组分为两类 定义概念
基本组(私有组) 没指定所属组,系统建立和用户同名的组
附加组(公有组) 组中的用户都具有组所拥有的权利
前三个重要,尽量不要修改以下配置文件
一行是一个用户相关的信息
以冒号作为分割符
1,Vim /etc/passwd
用户名(账号):经过加密后的密码(x表示密码受shadow保护)
:uid(用户id,用户的唯一表示码):gid(用户的基本组的id,唯一)
:备注,详细信息,个人资料:用户家目录(主目录) :shell /bin/bash (可登录),系统用户下/sbin/nologin(不可登录)
!! 表示密码没被设置
2,vim /etc/shadow
登录的用户名:当前用户的经过加密以后的密码(以$隔开,;算法 ;盐,秘钥;加密后的密码;密码最后的修改时间(距离1970年的修改时间):密码需要修改的最小的间隔:最大的间隔:告警时间(提前几天告警密码到期):不活动时间:失效时间:空白占位
3 , vim /etc/group
组:加密:gid(组id)
用户管理
1,添加用户
命令格式 Useradd + 新用户的名称
useradd haha 建立一个名为haha的新用户
创建一个新用户是 /etc/passwd最后一行产生新信息 家目录的产生(/home/)
能从当前用户切换到haha用户上
远程连接不上
Useradd
指定基本组
家目录下的位置目录先存在才能指定
shell也可以指定
-p 后面加的是加密后的密码
Useradd -u 1100 -M -G 1001 xiaoming
添加一个uid为1100 ,不出案件用户家目录,附加组为1001 xiaoming(用户)
删除用户时,(没有其它用户把这个组名当做附加组)同名的组默认删除组名;但是haha的附加组名为xiaoming占着进程,所以先删除组名,再删除用户名
Userdel xiaoming
Userdel haha
shell不可登陆: /bin/nologin
可登录 /sbin/bashrc
添加名为小红,指定密码为123
Useradd -u 2000 -p 123 -s /sbin/nologin xiaohong
交互式 用passwd修改密码
命令行设置密码 echo 新密码 | passwd --stdin 用户
echo 123 | passwd--stdin xiaoming
Passwd -d :删除某个用户的密码
2,修改用户信息
Usermod 选项 username
针对自己创建的普通用户
-L :锁定
-u :解锁
3,删除用户
命令格式: userdel [-r] 账户名
-r——在删除该账户的同时,一并删除该账户对应的主目录。
Userdel 选项 用户名
Tail /etc/passwd 查看创建了那些用户
Tail -3 /etc/group 查看有哪些组
Userdel haha 删除用户
删除后 /etc/passwd 下面的信息不见了;家目录下面的还在
Userdel -r 才能删除家目录下面的信息
5,切换命令
Su 用户
Su - 用户的家目录路
6,提权
使用 sudo 命令可以提高普通用户的操作权限,不过这个权限需要root用户进行配置/etc/sudoers文件才 可使用。
Ll /etc/shadow 所有人都没有权限查看,root可以
redhat
没配置文件
Root vim /etc/sudoers
普通用户没权限改了文档也不会被保存,root才能保存
提权的用户(普通用户的名字) 要被提权的主机名=身份(all表示任意 = 使用谁的身份) 进行什么样的操作(二进制执行文件或者改后的别名)
别名= 二进制文件
:wq! 保存退出
Ll /etc/sudoers
只可读
再redhat sudo(防止弹出提示,报错) cat /etc/shadow
输入自己的密码
另外一种操作(兴趣)
visudo内嵌vim编译器操作
练习
在redhat 里面查看etc/ssh下的sshd_config文件或者修改
组管理
Groupadd xiaoming 创建xiaoming组
指定gid -g
添加xiaohong的组,gid 2000
修改组的gid -d
修改组的名字 -n
在组里面添加组成员
命令格式: gpasswd [选项] [用户] [组]
只有root用户和组管理员才能够使用该命令。选项:
-r 删除组密码
-a——把单个用户加入组
-d——把用户从组中删除。
-M——可同时添加多个用户
-A——给组指派管理员。
示例:将zhang3、li4用户同时加入group1组,并指派zhang3为管理员。
用逗号隔开redhat,xiaoming
把redhat 添加到xiaoming 的组
redhat本来有组,xiaoming为附加组
redhat本来有组,xiaoming为附加组
查看用户详细信息id命令
删除组
Groupdel xiaohong
Users
查看当前正在登录的用户有哪些
Last
当前与过去 所有与用户登录相关册信息登录状态
Whoami
查看你当前登录的用户是什么
文件权限系统权限
LL查看详细信息
Rm-
所属者对于文件的权限
r--
所属组对于文件的权限
r--
其它用户(除了所属者,所属组成员)的权限
.
特殊权限 (ACL)如果有特殊权限,点变为加号
R 表示可读
W 表示可写
X 表示可执行
-表示没有权限
没有权限会用杠占位
文件的权限针对三类对象进行定义:
owner 属主,缩写u
group 属组,缩写g
other 其他,缩写o
每个文件针对每类访问者定义了三种主要权限:
r:Read 读
w:Write 写
x:eXecute 执行
注意:root账户不受文件权限的读写限制,执行权限受限制
还可以用数字表示
权限修改 chmod命令
要求a文件只能让root读写,其他用户没权限
(1)去掉其它用户的权限(方法一)
其它用户( Other) 减去读取文件内容的权利
(2)组成员的权限修改(方法二)
用字符形式设置所属组(g)的权限
(3)用 三位八进制数字表示(方法三)
注意:同时修改两个对象用逗号隔开 Chmod g=--- ,o=--- 文件a
修改目录权限
root的权限尽量不要修改
修改文件的目录的所属者和所属组
Chown 用户:组
把所属者改成redhat
1,改所属组 两种方法
(1)chowm :所属组 文件
(2)chgrp 所属组 文件
2,同时修改所属者和所属组
Chown 所属者:所属组 文件
练习:只能让redhat用户可读可写bb文件内容,其它用户不能任何操作
把root权限的所属者改为redhat,把所属组的权限设为---
特殊权限
(1)U + s 权限
chmod u+s 二进制执行文件
仅对二进制文件有效。 在执行过程中,调用者会暂时获得该文件的所有者权限
该权限只在程序执行的过程中有效。
小s是u+s权限,表示命令在执行的时候,用户会短暂的获取到root用户,所有者的权限;root用户可以在shadow下修改操作修改;U+s只能在二进制的执行文件中使用
二进制文件,小s权限文件才能生效
普通文件没有执行权限,变为大S
(2) g + s 权限
G + s 目录组是什么样 文件组就是什么样
组里的成员对于文件权限和root是一样的
■ 文件: 在二进制文件上, 则不论用户是谁,在执行该程序的时候,程序的所属组将
会变成该程序文件的所属组。
■ 目录:在 A 目录上, 则在 A 目录内所建立的文件或目录的所属组, 将会是此 A 目录
的所属组。
一 般来说, G+S 多用在特定的多人团队的项目开发上,在系统中用的很
(3) o + t权限
O + t 其他的用户可以在对应的目录里创建文件,没法删除文件
无论那个权限加特殊权限的前提是此位置上的x存在
当前只针对目录有效, 对文件没有效果。其对目录的作用是:
■ 在 0 + t, 用户若在该目录下具有 w 及 x 权限 , 则当用户在该目录下建立文件或目 录时, 只有文件拥有者与 root 才有权力删除。
ACL权限
给用户设定 ACL 权限:setfacl -m u:用户名:权限 指定文件名
给用户组设定 ACL 权限:setfacl -m g:组名:权限 指定文件名
权限掩码umask
每个文件创建出来都有一个默认的权限
默认权限通过权限掩码来
查看权限掩码 umask
算特殊权限的方法:
新建普通文件的默认权限 用666 减去 022(umask)
新建目录默认权限 777-022
第一位0看有没有特殊权限