账号与权限管理

发布时间 2023-10-30 19:56:17作者: citywalk

账号

用户介绍

普通类型 (仅限受限的用户)

超级管理员

程序用户

程序用户:不是给人使用的,给程序使用(不可用登录)

组账号:基本组(私有组),附加组(公共组)

UID和GID:UID :(user identity,用户标识号)

GID:(group identify,组织标识)

UID:相当于用户的身份证 (uid为0超级用户

GID:相当于组的身份证

程序用户范围:

centos6 1-499

centos 1-999

普通用户范围:

centos6 500-60000 这个值可以调整

centos7 1000-60000

基本组:有且仅为一

附加组:可有可无

UID可以重复

 

 

nginx 身份来运行 nginx

采用程序用户来运行程序

不用root ,权限太高 (不知道程序是否有漏洞,为了安全考虑,所以采用程序用户来运行程序)

 

当密码当为*或!!时,表示用户不能登录此系统,若该字段为空,则表示无需密码即可登录。

useradd:添加用户

常用 -u:指定uid  (1000-60000)

-M :不建家目录

-s :修改默认shell类型   /bin/bash   /sbin/nologin

-e:用户失效信息

-g:指定基本组

-G:指定附加组

-r:随机生成 系统用户

可知

-d:指定用户的宿主目录位置(当与-M 一起使用时不生效

-c:备注信息

查看失效时间:例如cat/etc/shadow

etc/shadow  密码文件

useradd -u 2000 -m -s /sbin/nologin -r  (自定义创建用户)

 

 

作用

新建用户

修改用户属性

用户的个性化配置模板从哪考(/etc/skel)

passwd

默认修改当前用户密码

echo 123456 | passwd root --stdin 免交互

 

passwd -d yum 不需要密码 (清空密码)

passwd -l yum 锁定用户

passwd -u yum 解锁用户

passwd -S 查看用户是否锁定

etc/passwd 用户信息

chage yum  修改用户的密码信息

usermod

修改用户账号的属性

用于已有用户

格式:usermod+【选项】用户名

常用选项命令

-l 修改名 (先写新名再写旧名

 

-L:锁定用户

-e 修改失效时间

-g 修改指定基本组

-G 修改指定附加组

-s 指定shell 类型

-U:解锁用户

userdel -r  (删除用户)

 

 

用户账号初始配置

文件

~/.bashrc

~/.bash_profiel

开机启动时运行

~/.bash_logout 关机运行

groupadd

组账号名

例:groupadd -g 2000 ky33

gpasswd

添加/删除组成员

命令

-a :向组内添加一个用户  (用户+组)

-d:从组内删除一个用户信息

-M:定义组成员列表,以逗号分割 (批量加减)

groupdel

删除

查询账号信息

finger  (查询用户账号的详细信息)

(w,who,user 命令)查询已登录到主机的用户信息

whoami (查看当前用户)

id(查看用户信息)

权限

读,写,执行

r (read)读:你可以看到里面得内容

w (write)写:你可以修改里面的内容

x (execute) 执行:一般对程序而言(一般是绿色的)

 

一个文件的权限 需要区别三类人

1、 文件的拥有者 属主

2、文件的拥有组 属组

3、其他人other 其他人

rwx   rwx   rwx

属主 属组 其他

(没有权限用 “”)

r--     -w-      --x

可读 可写 可执行

root 权限最大(跳出三界外不在五行中)

 

有代表1

1 代表真

0 代表假

r w x

4(100二进制) 2 (010二进制) 1(001二进制)

 

 

x (对于文件夹而言,必须有执行的权限,否则无法进行任何操作)【x是文件夹的最小权限】无论在什么情况下,文件夹一定要有执行权限

 

 

一个文件可以被删除,和这个文件本身权限有关嘛?

和文件本身没有关系

和存放该文件的文件夹有关

 设置文件和目录权限命令

chmod 【ugoa】【+-=】【rwx】

u:属主

g:属组

o:其他用户

a:所有用户

+:增加

-:去除

=:设置权限

r:读

w:写

x:运行权限

chmod -R  递归修改指定目录先所有子项的权限

 

或用数字代替 读为4,写为2 可执行为1

例子:比如将名为555文件名的文件,权限设为所有者为可读可写,所在组设为可读可执行,其他用户设为可写可执行

 rwx=7(4+2+1)

chown

改变属主和属组

chown 用户名.用户组  文件名

例题

①将文件名555的文件,用户名和所在组都改成 add

 ②将文件名555的文件,用户名改成 add,所在组不变

 ③将文件名555的文件,用户名不变,所在组改成add

 umask

决定文件落地权限

 

默认文件最大权限为666 (文件未知?怕有风险,所以不给可执行权限)

 默认文件夹的最大权限 777 (文件夹可以有执行权限)

 

666-022 =644

777-022=755

文件落地没有奇数(有则奇数权限+1)

实验 将落地权限改为013

 落地应该为权限为653的文件(属主为可读可写,属组为可读可执行,其他用户为可写可执行),可有奇数的权限自动加一。变成权限为664的文件。(属主为可读可写,属组为可读可写,其他用户为可读。)

三种特殊权限

suid (无论有没有权限我都可以修改)

chmod u+s /usr/bin/vim

chmod u-s /usr/bin/vim

 

guid

chmod g+s /usr/bin/vim

 

sticky

只能对文件加使用

chmod o+t /opt/aa

chmod o-t /opt/aa

tmp 多了一个t 权限,除了文件所有者,超级管理员,其他人不能删除文件

setenforce 0 安全防护机制  (一上来就关)

访问控制列表ACL

setfacl -m u:zhangsan:r test

getfac passwd

setfacl -b 清空

setfacl -X 从文件读取访问控制列表条目并删除

setfacl -x 根据文件中访问控制列表移除条目

mask(权限)

-m 更改文件的访问控制列表