马哥linux培训第四天笔记

用户,组和权限管理

每个使用者: 用户标识,密码

3A认证

authentication 认证

authorization 授权

audition 审计

进程以其发起者的身份运行

进程对文件的访问权限,取决与发起此进程的用户的权限

系统用户:为了能够让那些后台进程或服务类进程以非管理员的身份运行,通常需要为此创建多个普通用户,这类用户从不用登录系统

/etc/passwd

nname:password:UID:GID:GECOS:directory:shell

password存储目录/etc/shadow

gecos:注释信息

directory:用户的家目录

shell:用户的默认shell,登录时默认shell程序

用户类别

管理

普通用户

系统用户

登录用户

用户标识:  UID

管理员:0

普通用户:1-65635

系统用户:1-499(centos6),1-999(centos7)

登录用户:500-60000,1000-60000

/etc/group

group_name:password:GID:user_list

user_list 该组的用户成员

/etc/gshadow

组类别

管理员组

普通用户组

组标识      GID

加密算法

对称机密:加密和解密使用同一个密码 -

非对称加密:加密和解密使用的一对儿密钥

公钥:public key

私钥:private key

单向加密:只能加密,不能解密,提取数据特征码

定长输出

血崩效应

算法:

md5-->128bits

sha-->160bits

sha512-->512bits

在计算之时加salt,添加的随机数,保证所有密码加密后不一样

管理命令

groupadd 添加组

-g  指定gid

-r  创建系统组

groupmod 修改组属性

-g  修改gid

-n  修改组名

groupdel 删除组

useradd 创建用户

-u  指定uid

-g  指定基本组id,这个gid必须是已经存在的

-G  指明用户所属的附加组,多个组之间用逗号分隔

-c  指明注释信息

-d  指定家目录,通过复制/etc/skel此目录并重命名实现的

-s  指定用户的默认shell,所有可用的shell列表存储在/etc/shells文件中

-r  创建系统用户

注意:创建用户时的默认设定配置文件为/etc/login.defs

useradd -D 显示创建用户的默认配置

useradd -D 选项 :修改默认配置

修改的结果保存于/etc/default/useradd文件中

usermod 修改用户属性

-u  修改用户id为指定的uid

-g  修改用户所属的基本组

-G  修改用户所属的附加组,原来的附加组会被覆盖

-a  与-G一同使用,为用户追加新的附加组

-c  修改注释信息

-d  修改用户的家目录,用户原有的文件不会被转移

-m  只能与-d一同使用,原有的文件会移动到新的家目录

-l  修改用户名

-s  修改用户的默认shell

-L  锁定用户密码,禁止用户登录,即在用户原来的密码字符之前添加一个"!"

-U  解锁用户的密码  删除"!"

userdel 删除用户

-r  删除用户时同时删除其家目录

passwd 修改用户密码

passwd 修改自己的密码

passwd USERNAME 修改指定用户的密码,只有root有此权限

-l,-u  锁定,解锁密码

-d  清除密码

-e DATE 过期期限,日期

-i DAYS 非活动期限

-n  密码的最短使用期限

-x  密码的最长使用期限

-w  警告期限

--stdin 以管道的方式传递密码

[root@cloud ~]# echo "juanpi"|passwd --stdin docker

Changing password for user docker.

passwd: all authentication tokens updated successfully.

不现实输出信息,但获取成功的返回代码

[root@cloud ~]# echo "juanpi"|passwd --stdin docker &> /dev/null

[root@cloud ~]# echo $?

0

gpasswd 组管理

gpasswd 默认给组添加密码,当切换组的时候需要密码

-a 向组中添加用户

-d 从组中移除用户

newgrp 临时切换指定的组为基本组

如果本来有此附加组,则不需要密码

如果没有此附加组,则需要组密码

chage 更改用户密码过期信息

id 显示用户真实和有效的id

id USERNAME 显示此用户的id信息

-u  仅显示有效的uid

-g  仅显示有效的gid

-G  仅显示用户所属的所有组的id

-n  显示名字而非id

su 切换用户

登录式切换,会通过读取目标用户的配置文件来重新初始化

su - USERNAME

su -l USERNAME

非登录式切换,不会读取目标用户的配置文件进行初始化

su USERNAME

-c仅以指定用户的身份运行此处指定的命令

[root@cloud ~]# su - docker -c 'ls'

test

权限管理

r read 读

w write 写

x excute 执行

文件

r  可获取文件的数据

w  可修改文件的数据

x  可将此文件运行为进程

目录

r  可使用ls命令获取其下的所有文件列表

w  可修改此目录下的文件列表,

x  可cd至此目录,ls -l 来获取文件的详细属性信息

八进制权限

r  4  w  2  x  1

rwx 7  rw  6  r  4

chmod 权限修改

u:属主 g:属组 o:其他 a:所有

MODE表示法:

赋权表示法,直接操作一类用户的所有权限位

u= g= o= a=

授权表示法,直接操作一类用户的一个权限位

u+, u-

g+, g-

八进制权限修改方法

chmod 700 FILE

引用性修改

chmod --reference=RFILE FILE

引用前一个文件的权限给第二个文件

-R 递归修改

sudo

sudo的配置文件/etc/sudoers

只能用visudo这个专用的命令来编辑

[root@cloud ~]# visudo -f /etc/sudoers

root ALL=(ALL) ALL

%wheel ALL=(ALL) NOPASSWD: ALL ##sudo不需要密码

从属关系管理命令

chown

-R 递归修改

chown -R root:mysql FILE :和.都可以

chown --reference=RFILE FILE 引用修改也支持

umask 文件的权限反响掩码

查看当前umask

也可以自己设定,但仅对当前shell进程有效

文件:

666-umask

目录:

777-umask

[root@falcon-server agent]# umask

0022

install 复制

install - copy files and set attributes

单源复制

install [OPTION]... [-T] SOURCE DEST

多源复制

install [OPTION]... SOURCE... DIRECTORY

install [OPTION]... -t DIRECTORY SOURCE...

创建目录

install [OPTION]... -d DIRECTORY...

-m  设定目标文件权限,默认为755

-o  设定目标文件的属主

-g  设定目标文件的属组

mktemp 创建临时文件或目录

mktemp - create a temporary file or directory

创建在/tmp下的临时文件或目录一个月之后会自动删除,所以也叫随机文件,文件名后缀每次都是随机生成的

mktemp会将创建的临时文件名直接返回,因此,可直接通过命令引用保存起来

[root@falcon-server ~]# mktemp /tmp/lanpang.XXXXXXX

/tmp/lanpang.X1aZDTF

[root@falcon-server ~]# hxj=$(mktemp /tmp/mytmp.XXX)

[root@falcon-server ~]# echo $hxj

/tmp/mytmp.ZCo

-d 创建临时目录

+

@hxjagf2016-12-19 23:06字数3108阅读4

你可能感兴趣的:(马哥linux培训第四天笔记)