运维之路开始了

2017年10月10日21:32:19

我只想说一句,666

开始接手老师新买的服务器了。别乱搞事情!!

接下来

1、查过的所有操作,都做好笔记

2、《鸟哥的linux私房菜》要好好读

3、学习一些监控软件和操作

未完待续......

权限,用户

用户 容器 关联权限:用户组,方便地指派权限

用户:标识符
用户组:标识符

文件:


进程的安全上下文(secure Context):
这个来判断,是在内核的管理下,自动完成的


宿主的权限 属组的权限 其他人权限
r w x

文件:
r:可读,可以使用类似 cat more less 等命令查看文件内容
w:可写,可以编辑或删除此文件
x:可执行,可以命令提示符下当做命令提交给内核运行

目录:
r:可以对此目录执行 ls 以列出内部的所有文件
w:可以在此目录创建文件
x:可以使用 cd 切换进此目录,也可以使用 ls -l 查看内部文件的详细信息

目录一般都有x权限,而文件一般不会默认给x权限,因为当文件中放置恶意程序时,会给系统带来危害。


rwx:
r--:只读
r-x:读和执行
---:无权限

0 000 ---:无权限
1 001 --x:执行
2 010 -w-:只有写权限
3 011 -wx:写和读
4 100 r--:只读
5 101 r-x:读和执行
6 110 rw-:读写
7 111 rwx:读写执行

755:rwxr-xr-x

用户:UID /etc/passwd
组:GID /etc/group

影子口令: /etc/shadow
组: /etc/gshadow

用户类别:
管理员:0
普通用户:1-65535
系统用户:1-499
一般用户:500-60000

用户组:
管理员组:
普通组:
系统组:
一般组:

用户组类别:
私有组:创建用户时:如果没有为其指定所属组,系统会自 动为其创建一个与用户同名的组
基本组:(私有组)每个用户自己都有一个默认组
附加组:额外组,默认组以外的其他组

进程:tom tom
对象:rwxrw-r-- jerry tom a.txt


tom: ls
rwxr-xr-x root root /bin/ls

进程权限是发起者权限

account:登录名
password:密码占位符
UID:用户的id号
GID:基本组id
comment:用户的注释信息
HOME DIR:家目录
SHELL:用户的默认shell

向系统添加用户
1 shadow
2 group

/etc/shadow
account:登录名
encrypted password:加密的密码
上次密码修改时间
密码最短使用期限
密码最长使用期限
密码宽限期:登录服务器,先改密码,别的不让做


ls -l $(which useradd)
ls -l `which useradd
ls -l `which adduser


useradd USERNAME

cd /etc/default/
file useradd
cat useradd

cat /etc/group
组名
密码占位符
组ID
以这个组为附加组的用户列表

groupadd GRPNAME

用户管理相关命令:
useradd
userdel
usermod
passwd
chsh
chfn
finger
id
chage

useradd [options] USERNAME
-u UID(500-60000)其他用户尚未使用过得
-g GID(基本组)事先存在,才能用
-G GID,...(指定其额外组,可以有多个,如果有多个,彼此之间用逗号隔开)
-c “COMMENT”
-d /path/to/somedirectory
-s SHELL 指定shell的路径
-m -k
-M
-r 添加一个系统用户(UID:1-499)

/etc/shells 指定了当前系统可用的安全shell
/etc/login.defs 指定用户默认配置

userdel:
userdel [option] USERNAME
如果删除用户不加任何选项,那么用户的家目录将不会被删除
-r 同时删除用户的家命令


id:查看用户的账号属性信息
-u
-g
-G
-n 显示字符名字,可以配合上边几个参数使用

finger USERNAME 查看用户账号信息

如何修改用户账号属性:
usermod [option] USERNAME
-u UID
-g GID(存在的组才能改)
-G GID(如果此前有附加组,改附加组,此前的附加组就没了)
-a -G GID(再添加附加组,不会使之前的丢失)
-c “COMMENT”
-d -m
-s
-l 更改用户名
-L 锁定用户账号(类似于禁用)
-U 用于解锁账号

chsh:修改用户默认shell

chfn:修改注释信息

密码管理:
passwd [USERNAME]
普通用户 passwd 只能修改自己的密码
管理员 passwd [USERNAME] 修改其他用户密码
--stdin 表示从标准输入输入密码(echo "redhat" | passwd --stdin user1)
-l 锁定账号
-u
-n
-x
-i
-d 清空用户的密码(禁止空密码用户登录,redhat)
Linux哲学:尽量不和用户交互

pwck:检查用户账号完整性


环境变量:
PATH
HISTSIZE
SHELL

组管理命令:
groupadd
groupdel
groupmod
gpasswd

groupadd
-g GID 指定GID
-r 添加为系统组

groupmod
-g GID
-n GRPNAME

groupdel

gpasswd [GRPNAME]
为组设定密码

newgrp GRPNAME <--> exit (登录了之后要退出)

chage
-d 最近一次修改时间
-E 过期时间
-T 非活动时间
-m 最短使用期限
-M 最长使用期限
-w 警告时间


权限管理
chown
chgrp
chmod
umask

r
w
x

三类用户:
u 属主
g 属组
o 其他

chown 改变文件属主(只有管理员才有权限)
chown USERNAME file,... (ls -ld /tmp/hi 查看目录数主)
-R 修改目录及其内部文件的属主
--reference=/path/to/somefile file,...

chown USERNAME:GRPNAME file,...
chown :GRPNAME file,...
chown USERNAME.GRPNAME file,...

chgrp GRPNAME file,...
-R
--reference=/path/to/somefile file,...

chmod:修改文件权限
修改三类用户权限
chmod MODE file,...
-R
--reference=/path/to/somefile file,...
rwxr-x---

修改某类用户或某些类用户的权限
u,g,o,a
chmod 用户类别=MODE file,...

修改某类的用户某位或者某些位权限
chmod u+wx /tmp/hi/1.txt
chmod g-r /tmp/hi/1.txt


可以完全手动加用户
管理员权限非常大

openssl passwd

whatis passwd

man sslpasswd

openssl passwd -1 -salt '12345678'

umask:遮罩码
文件 666-umask (文件默认没有执行权限,如果计算的结果有了执行权限,则将其权限加一)
目录 777-umask

站在用户的角度讲,SHELL的类型
登录式shell
正常通常某终端登录
su - USERNAME
su -l USERNAME

非登录式shell
su USERNAME
图形终端中打开命令窗口
自动执行的shell脚本

bash的配置文件
全局配置(修改下面三种类型的配置,对所有用户都有效)
/etc/profile /etc/profile.d/*.sh /etc/bashrc

个人配置(每个用户的个人文件)
~/.bash_profile ~/.bashrc

作用范围越小,越是最终的设定

profile类的文件:
设定环境变量
运行命令或脚本(在用户登录之前,做一些工作)

bashrc类的文件:
用来设定本地变量
定义命令别名


登录式shell如何读取配置文件?
读取顺序:
/etc/profile
/etc/profile.d/*.sh
~/.bash_profile
~/.bashrc
etc/bashrc

非登录式shell如何读取配置文件:
~/.bashrc
/etc/bashrc
/etc/profile.d/*.sh

加密方法:
对称加密:加密和解密使用同一密码
公钥加密:每个密码都成对出现,一个为私钥(secret key),一个为公钥(public key) 用于做密钥交换
单向加密:也叫散列加密或者指纹加密,只能加密不能解密。可以由明文得到密文,反之不行。用来提取数据特征码。常用语数据完整性校验。
1、不可逆
2、雪崩效应(蝴蝶效应)
MD5:Message Digest,128位定长输出
SHA1:secure hash algorithm,160位定长输出
美国强加密算法不让对外输出。
加点盐(salt),


创建用户
mkdir /home/neuiva1/xxx
useradd -G 1000 -d /home/neuiva1/xxx -s /bin/bash xxx
passwd xxx

cp -r /home/sdb1/unicoe/* /home/neuiva1/xxx/
cp -r /home/sdb1/unicoe/.* /home/neuival/xxx/
chown -R xxx.xxx /home/neuiva1/xxx/

对用户来说:
关闭g和o的权限
chmod -R g-w /home/neuiva1/xxx ()
chmod -R o-rwx /home/neuiva1/xxx

从xxx组中删除 test用户

gpasswd xxx -d test

新用户创建之后,解决3个问题


1、ubuntu默认没有给用户默认的shell 需要手动配置(已加)

2、让用户进入neu2017小组(创建用户时已加)

2、想要用/home/neu2017/ 下的东西,需要给当前用户手动配置 ~/.bashrc 文件(已复制)

3、用户想要跑,还要把 /home/neu2017/data 的权限开放(已开放)


那么在 /home/neu2017/ 文件夹创建要给大家看的新东西的时候,就需要给
组的读和执行权限 r-x 。

在   /home/neuiva1/ 目录下创建用户, 必须给用户 neu2017的组权限,不然,用户创建之后,没有家目录。。。 

将用户添加到sudo组

用户添加完成之后,打这么一条命令:usermod -a -G sudo 用户名

如果想取消他的sudo权限,就把该用户组中的该用户再删掉。 

修改  /etc/sudoers 文件,对sudo用户组进行限制

sudo visudo

%admin ALL=/usr/sbin/*,/sbin/*,/usr/bin/*,!/usr/bin/passwd,!/usr/sbin/visudo,!/usr/sbin/useradd,!/usr/sbin/userdel
%sudo  ALL=/usr/sbin/*,/sbin/*,/usr/bin/*,!/usr/bin/passwd,!/usr/sbin/visudo,!/usr/sbin/useradd,!/usr/sbin/userdel,!/bin/rm

  

普通用户对所有软件的可用测试

修复Windows硬盘挂载   /dev/sda8

sudo ntfsfix /dev/sda8

手动挂载
sudo fdisk -l

查找跟你U盘文件格式相同的那一行所对应的盘符,比如我的U盘对应的是/dev/sdd1。

那就在终端中继续输入 mkdir /media/usb 创建一个挂载文件夹

然后 mount /dev/sdd1 /media/usb 然后打开/media/usb文件夹,

今天实验室的台式机被当矿机了。。。。

感觉受到了侮辱。。。

连日志都不怎么会看。。。

大神经历  https://ruby-china.org/topics/23848

ufw防火墙  http://www.linuxidc.com/Linux/2016-12/138259.htm

禁用账号

把账号禁用可以有几个方法:
1. # usermod -L <username>
# usermod -U <username> // 解除禁用
2. 修改/etc/passwd文件,可以有几个地方
1)把第二个字段中的"x"变成其它的字符,该账号就不能登录
2)把/bin/bash修改成/sbin/nologin
3. 修改/etc/shadow文件
1)在第二个密码字段的前面加上一个“!”,该账号就不能登录,这个其实就是usermod -L命令的结果
2)在最后两个冒号之间加上数字"1",表示该账号的密码自1970年1月1日起,过一天后立即过期,当然现在自然就不能登录了。
如果想解禁,把修改的东西去掉就可以了。
ufw的使用
1.安装 sudo apt-get install ufw 2.启用 sudo ufw enable sudo ufw default deny 运行以上两条命令后,开启了防火墙,并在系统启动时自动开启。关闭所有外部对本机的访问,但本机访问外部正常。 3.开启/禁用 sudo ufw allow|deny [service] 打开或关闭某个端口,例如: sudo ufw allow smtp 允许所有的外部IP访问本机的25/tcp (smtp)端口 sudo ufw allow 22/tcp 允许所有的外部IP访问本机的22/tcp (ssh)端口 sudo ufw allow 53 允许外部访问53端口(tcp/udp) sudo ufw allow from 192.168.1.100 允许此IP访问所有的本机端口
4.查看防火墙状态
sudo ufw status

5.根据端口删除规则
先查询规则号:
sudo ufw status numbered
然后再根据号来删除
sudo ufw delete 2

改了ssh的端口号之后,访问方法

ssh -p port_num  user@IP

1、重启之后,要能自动配置网络 ip
dhclient + 网卡名称enfs

2、硬盘要自动挂载

挂载顺序,别挂载错了
mount /dev/sdb1 /home/neuiva2
mount /dev/sdc1 /home/neuiva1

创建用户脚本

mkdir /home/neuiva2/wangironman
useradd -G 1000 -d /home/neuiva2/wangironman -s /bin/bash wangironman
passwd wangironman


cp -r /home/neuiva1/create_user_template/* /home/neuiva2/wangironman/
cp -r /home/neuiva1/create_user_template/.* /home/neuiva2/wangironman/
chown -R wangironman.wangironman /home/neuiva2/wangironman/



mkdir /home/neuiva2/liweixiqq
useradd -G 1000 -d /home/neuiva2/liweixiqq -s /bin/bash liweixiqq
passwd liweixiqq


cp -r /home/neuiva1/create_user_template/* /home/neuiva2/liweixiqq/
cp -r /home/neuiva1/create_user_template/.* /home/neuiva2/liweixiqq/
chown -R liweixiqq.liweixiqq /home/neuiva2/liweixiqq/

原文地址:https://www.cnblogs.com/ya-cpp/p/7647941.html