-
用户
- 默认情况下新建一个用户会自动新建一个同名的组 用户和组多对多
- 用户加入组后的好处 享受资源受到制约
- 先建立组 再建立用户
- tailf主要用于追踪日志文件的最新内容,并在添加新条目时实时显示它们。-n 指定显示多少行 默认最新十行
- 新建组 groupadd xiefengbao
- useradd xfb -g(group) xiefengbao -G feng (主要组 gid为 xiefengbao 次要组 feng)
- 作用:对文件进行管理 权限管理
- ll ls -l 查看当前目录下包括文件权限、所有者、大小、最后修改时间等信息。
登录时在这两个里面对比用户名和密码
/etc/passwd
/etc/shadow
批量创建用户并设置密码 (随机密码)
权限
- chmod(修改读写执行权限) r4w2x1 全部就是777 文件夹755 脚本644
chmod [ugoa]user group other all [+-=] chmod u=rwx,g=rx,o=rx /changsha/
-R递归修改子目录全部
- chown (必须root用户)用户和组必须存在chown root:xfb (root用户xfb组) xiao 给xiao 改属用户和属组 用户会继承组的权限
- umask 查看当前 结果出现哪个就去掉哪个权限 可以控制某个用户新建的文件夹或文件的默认权限 umask 077 新建就是700 root用户002 其他用户 022 不建议修改
- chattr 设置文件的隐藏属性
- i 任何人包括root不能修改 immutable 不可变的
- rm -rf sc/
- rm: 无法删除"sc/": 权限不够
- a 只能追加不能删除 append
- chattr -i /taohua/
- [root@hunan_cs_furong taohua]# chattr +a /taohua/
- [root@hunan_cs_furong taohua]# lsattr -d /taohua/
- -----a---------- /taohua/
- [root@hunan_cs_furong taohua]# ls
- sc
- [root@hunan_cs_furong taohua]# rm -rf sc
- rm: 无法删除"sc": 不允许的操作
- lsattr -d /taohua/(看属性)
- i 任何人包括root不能修改 immutable 不可变的
- ACL指定用户/组使用权限 单独限制分配rwx权限(root用户)
- -m 修改setfacl -m u:dfy:rwx /bule
- # getfacl /bule
- getfacl: Removing leading '/' from absolute path names
- # file: bule
- # owner: root
- # group: root
- user::rwx
- user:dfy:rwx
- group::rwx
- -b 删除所有设置setfacl -b /bule
- etc(各种杂七杂八等等东西) 存放各种服务的配置文件
- selinux 增强安全性安全子系统 secure 默认关闭(disabled) 修改了的话建议重启(reboot) 永久有效
- rong ~]# vim /etc/selinux/config(配置文件)
- [root@hunan_cs_furong ~]# getenforce
- Enforcing
- [root@hunan_cs_furong ~]# vim /etc/selinux/config
- [root@hunan_cs_furong ~]# setenforce 0 或者1(临时设置)
- [root@hunan_cs_furong ~]# getenforce
- Permissive
- d开头文件夹 -开头普通文件 drwxr -xr -x读写权限 分三段(文件拥有者 该文件所属于的组 其他人)
- 用户访问文件/夹 操作系统(有关)怎么知道你是哪个用户:权限和用户(uid 和gid嵌入进程的pcb 里 进程携带了用户的信息)
- 文件夹是对象 对象里有信息记录
- 内核会检查进程的信息(uid pid)和文件夹的信息 对的上就允许访问
- mkdir /changsha shell解析 内存创建进程 内核从磁盘里读取内存 有空间的话分配inode
- -gt >= suid 4 sgid 2 sticky 1
- 粘滞位权限:t 用在公共目录 用户不能删除其他用户的文件
- 特殊权限位
- suid 赋予其他用户属组和用户的权限 u+s 每个用户都可以用了 权限宽泛 给别人太多权限 少用 给有x权限的改为s
- sgid
- sudo (sudoers文件里有授权)授权命令 指定某个用户可以执行哪些命令 授权以后命令前面要加sudo
- vim /etc/sudoers授权
- liu ALL=/usr/sbin/useradd,/usr/sbin/userdel
- cat /var/log/secure 记录流程过程
- sudo service ssh restart重启服务 vim /etc/ssh Per
- ip address add 192………dev en33
- 在ubuntu 里允许root用户远程登陆 先激活root用户设置密码
ssh服务 openssh
- OpenSSH is the premier connectivity tool for remote login with the SSH protocol. 使用ssh (secure shell)协议远程登陆(远程控制服务器)的首要连接工具 ssh协议是一个加密协议 数据传输过程加密 不是明文
- 协议:protocal 使用变成语言实现的 用来传输数据的 程序
- 应用层 :ssh 协议 http协议
- 客户端à服务器 通过ssh协议 请求 响应
- rpm -qa 查询centos系统里已经安装的软件包
- rpm -ql 或者 rpm -q
- rpm是软件管理的命令 redhat package manager (centos是山寨的redhat) 后来redhat 收购了centos
- [root@hunan_cs_furong ~]# rpm -qa|grep openssh
- openssh-clients-7.4p1-21.el7.x86_64 提供客户端程序的软件包ssh
- openssh-7.4p1-21.el7.x86_64 提供服务器 sshd( ssh daemon守护进程 一直在内存运行 除人为停止)
- openssh-server-7.4p1-21.el7.x86_64
- crond 计划任务
- 修改端网号 cd /etc/ssh/
- sshd_config 服务器端配置文件 ssh_config 客户端配置文件
- 如何确定sshd服务正常运行: 看进程ps aux|grep sshd 查看端口netstat -anplut|grep sshd ss -anplut|grep sshd
- pstree -p
- lsof -i:22 看谁占用了端口22
- ssh服务 sshd进程 22端口
- /etc/passwd 放用户 /shadow 放密码 先在passwd 查看是否有用户
w 看哪些用户登录了
- service sshd stop /start(重新启动) 已建立的不会断 systemctl restart sshd
- systemctl status sshd 看启动状态
- systemctl enable/disable sshd 开机启动 下一次启动
- 配置文件的作用 给主传递参数
- 如何知道对方服务器开启了哪些端口:端口扫描 nc nmap(扫描常规端口)探测
- nc -z 不产生数据交互 -w 1 等一秒 后面加地址ip echo $?看返回
- python中有socket 库可以实现扫描功能
- 端口范围:0-65535
- 禁用root用户:lastb 看互联网上登陆失败的 在sshd_config 修改配置文件 service ssh restart 重新连
- 登录普通用户 然后su – root
- 提升权限 sudo vim /etc/sudoers
- yum update openssh-server -y 升级openssh软件
- ssh -p 22 scliu@192.168.1.25
- scp -P 55667 feng.txt scliu@192.168.1.25:/home/scliu
- scp -P 55667 scliu@192.168.1.25:/etc/passwd .
- scp -P 55667 mkdir.sh scliu@192.168.1.25:/home/scliu
- ssh scliu@8.219.110.232 -p 22 mkdir /tmp/scliu 远程连接 需要知道对方账号密码
- scp -r (递归复制)feng@8.219.110.232 -p 22 mkdir /tmp/scliu 传文件夹 可以调换位置
- touch xiefengbao.txt
- [root@hunan_cs_furong ssh]# scp xiefengbao.txt scliu@8.219.110.232:/home/scliu/ 源 目的地
- -P指定端口号
-
密钥认证
- 免密通道root用户 加强安全性 关闭密码认证 用密钥认证
- 在客户机上创建密钥对 公钥私钥ssh-keygen
- 上传公钥到服务器ssh-copy-id -p 22 -i id_rsa.pub scliu@192.168.159.134
- 验证免密通道是否创建成功ssh -p 22 scliu@192.168.159.134
- exit 退出登录
- 客户端把公钥给了服务器 单向信任 实现传文件不需要输密码
- 双向信任关系:在客户端操作
- ssh-keygen
- ssh-copy-id -p 22 scliu@192.168.1.33
- ssh -p 22 scliu@192.168.1.33
- for i in $(cat ip.txt)
- do
- scp -P 22 touch.sh root@$i:/home/root/
- ssh -P 22 root@$i bash /home/root/touch.sh
- ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAr7WuXEhayRjDTaaKSdJ9iMlrqMUhOsf9KWRBEaOkYMjWAiBwPc8UyQEJ6CYctLIn50prjLOvaYzqcYVMPzkU+aWS2OjdUV+k4k1Siw2DznAJiDb2N/ioiX9i+ukbhqB7N4LyvRuvtJFQBv8gNNesoeAT0DN0wn8uKr55fJ7c6t/m3b9XYHrFDOoxK1gB6hLupoSkunmL2QnYLryN0xJG7RcKNsDMPXs3vqBurKNXPiD24qS813kS1vJv3Ptcmcf0Vrba0c0wheASQ+WOe74bfUV9CUA6ph2oVeq1wwihorkIcGEv47S3gJyyAPPa1WU6Kiik3FfpufZUyXrtwAzmww==
- 在xshell创建密钥对 复制公钥到服务器上root用户家目录下.ssh目录里的authorized_keys文件里 (chmod 600 authorized_keys给权限)
- set -e 在配置文件中写在开头 使得出现错误时不会执行之后的命令