一、用户操作

  1. /etc/passwd
    1. 用户名:密码标识位:UID:GID:组名:家目录:shell
      root:x:0:0:root:/root:/bin/bash
  2. /etc/shadow
    1. 用户名:MD5paswd:密码修改时间(19700101):两次修改密码时间间隔:密码有效期:密码到期前的警告天数:密码过期后的宽限天数:密码失效时间
    2. root:加密的密码::0:99999:7:::
  3. useradd userdel usermod
    1. -m/-M, 创建(不)家目录, 用于(非)系统用户
      -r, 设置系统账号不会自动生成家目录
      -c, 增加用户描述信息
      -D, 查看/etc/default/useradd 文件的当前设置

      useradd -d /home/xy -u 8888 -s /sbin/nologin xy

    2. -aG, 修改用户附加组,追加不覆盖
      -L/-U, 锁定/解锁用户
      usermod -aG root xy 用户xy追加附加组root

  4. passwd chpasswd
    1. -l/-u, 锁定/解锁用户
      -e, 使用户密码立即过期,下次登录强制修改密码
      -S, 显示用户密码相关描述

      echo "123456" |passwd --stdin xy

    2. 7天内不能更改密码,60天后必须改密,过期前10天通知,过期后30天禁用该用户
      passwd -n 7 -x 60 -w 10 -i 30 xy

    3. chpasswd < user.txt user.txt = userid:passwd

Linux命令之usermod

# chage/chsh/chfn
-M, 最长使用期限
chage -l xy
chage -M 99999 xy
# 强制用户下次登陆时修改密码,并且设置密码最低有效期0和最高有限期90,提前15天发警报提示
chage -d 0 -m 0 -M 90 -W 15 test
chage -E '2014-09-30' test

# gpasswd
gpasswd -a ${USER} docker
gpasswd -a / -d user group   # 把用户从组中加入/删除

# visudo  /etc/sudoers
# https://blog.51cto.com/chenfage/1830424
-l, 查看授权情况
-c, 检查语法
用户/组  机器=(角色)      可以执行的命令
root    ALL=(ALL)       ALL
xy      ALL=(ALL)       NOPASSWD: /usr/bin/passwd [A-Za-z]*, !/usr/bin/passwd root

二、服务命令

# systemd service chkconfg
[xdpp@localhost]$ sudo systemctl enable httpd.service
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.

[xdpp@localhost]$ systemctl cat sshd.service
# /usr/lib/systemd/system/sshd.service
[Unit]
Description=OpenSSH server daemon
Documentation=man:sshd(8) man:sshd_config(5)
After=network.target sshd-keygen.service
Wants=sshd-keygen.service

[Service]
Type=notify
EnvironmentFile=/etc/sysconfig/sshd
ExecStart=/usr/sbin/sshd -D $OPTIONS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target

# linux如何查看系统是否重启了
last reboot / who -b / uptime

系统恢复

1、更新 libstdc++.so.6.0.21

/usr/lib64/libstdc++.so.6: version 'GLIBCXX_3.4.21' not found

strings /usr/lib64/libstdc++.so.6 | grep GLIBC

2、更新 libc.so.6

另外需要谨记:libc库是很多命令操作得依赖库,libc.so.6至关重要,绝对不能删,不能改名,对开几窗口!!
libc.so.6是bash这个shell依赖的重要动态库之一,当把这个动态库(链接)改名之后,shell找不到这个库了,所以就报找不到libc.so.6,并拒绝执行多数shell指令,也中断了ssh连接请求,而在整个过程,操作系统的kernel却还是活的,所以原先连接的ssh进程还有反应(对回车、pwd等小数指令有响应),但却不能新建ssh连接;
其实,对于由普通用户自己编译生成的.so库文件,比较好的做法是将这些.so库文件的路径用export指令加入到~/.bash_profileLD_LIBRARY_PATH变量中,LD_LIBRARY_PATH是程序运行需要链接.so库时会去查找的一个目录,~/.bash_profile是登陆或打开shell时会读取的文件,这样,每次用户登录时,都会把这些.so库文件的路径写入LD_LIBRARY_PATH,这样就可以正常地使用这些.so库文件了,除此之外可以安装RPM包,进行对glibc的升级,链接地址:
https://copr-be.cloud.fedoraproject.org/results/mosquito/myrepo-el6/epel-6-x86_64/
https://copr-be.cloud.fedoraproject.org/results/hhorak/devtoolset-4-rebuild-bootstrap/epel-6-x86_64/
https://people.centos.org/tru/devtools-2/6/x86_64/RPMS/

posted on 2023-04-11 00:26  anyu967  阅读(27)  评论(0编辑  收藏  举报