标签:禁止用户 src script 用户名 查看系统 address oldboyedu 文件创建 邮箱
1.1如何设置开机启动1./etc/rc.local
2.通过chkconfig管理
[root@oldboyedu-02 init.d]# pwd
/etc/init.d
[root@oldboyedu-02 init.d]# cat oldgirld
# chkconfig: 2345 99 99 -----2345是被Linux的那些运行级别下启动,99是开机的顺序,后面99是关机的顺序,99是最大的
echo "oldgirl"
[root@oldboyedu-02 init.d]# chmod u+x oldgirld
[root@oldboyedu-02 init.d]# chkconfig --add oldgirld
[root@oldboyedu-02 init.d]# chkconfig|grep oldgirl
oldgirld 0:off 1:off 2:on 3:on 4:on 5:on 6:off
[root@oldboyedu-02 rc3.d]# chkconfig oldgirld on
[root@oldboyedu-02 rc3.d]# ls -l /etc/rc3.d/|grep oldgirl
lrwxrwxrwx 1 root root 18 Feb 28 19:29 S99oldgirld -> ../init.d/oldgirld
[root@oldboyedu-02 rc3.d]# chkconfig oldgirld off
[root@oldboyedu-02 rc3.d]# ls -l /etc/rc3.d/|grep oldgirl
lrwxrwxrwx 1 root root 18 Feb 28 19:30 K99oldgirld -> ../init.d/oldgirld
S -start
K -kill
[root@oldboyedu-02 rc3.d]# ln -s /etc/init.d/oldgirld S99oldgirld
[root@oldboyedu-02 rc3.d]# ls -l /etc/rc3.d/|grep oldgirld
lrwxrwxrwx 1 root root 20 Feb 28 19:36 S99oldgirld -> /etc/init.d/oldgirld
[root@oldboyedu-02 rc3.d]# chkconfig --list |grep oldgirld
oldgirld 0:off 1:off 2:off 3:on 4:off 5:off 6:off
[root@oldboyedu-02 rc3.d]# rm -rf S99oldgirld
[root@oldboyedu-02 rc3.d]# ls -l /etc/rc3.d/|grep oldgirld
[root@oldboyedu-02 rc3.d]# chkconfig --list |grep oldgirld
oldgirld 0:off 1:off 2:off 3:off 4:off 5:off 6:off
root用户 UID 0
虚拟用户 UID 0-499
普通用户 UID 500+
每个程序、服务运行的时候需要一个用户
虚拟用户不需要用来登录系统
用户的命令解释器为/sbin/nologin
1./etc/passwd 用户信息
qq:x:502:502::/home/qq:/bin/bash
第一列:用户名
第二列:为空说明没密码。可随便登录
第三列:UID
第四列:GID
第五列:用户的说明信息
第六列:用户的家目录
第七列:用户使用的命令解释器 shell
2./etc/shadow 用户密码信息
3. /etc/group 用户组信息
4. /etc/gshadow 用户组密码
5. /etc/default/useradd 添加用户的时候默认的信息
6. /etc/skel
* /sbin/nologin 虚拟用户
* /bin/sh
* /bin/dash Ubuntu默认命令解释器
* /bin/tcsh
* /bin/csh unix系统使用
[root@oldboyedu-02 default]# ls -la /etc/skel/
total 20
drwxr-xr-x. 2 root root 4096 Feb 18 12:20 .
drwxr-xr-x. 78 root root 4096 Feb 28 03:37 ..
-rw-r--r--. 1 root root 18 Mar 23 2017 .bash_logout==用户退出会运行里面的命令
-rw-r--r--. 1 root root 176 Mar 23 2017 .bash_profile ==/etc/profile
-rw-r--r--. 1 root root 124 Mar 23 2017 .bashrc ==/etc/bashrc
/etc/skel/
新用户的老家模板
异常处理
[root@oldboyedu-02 default]# su - www
[root@oldboyedu-02 ~]# rm -rf .bash*
[root@oldboyedu-02 default]# su - www
-bash-4.1$
解决方法:
[root@oldboyedu-02 www]# cp /etc/skel/.bash* /home/www/
[root@oldboyedu-02 www]# su - www
[www@oldboyedu-02 ~]$
命令行中.*极度危险
.表示当前目录
..表示当前目录的上一级目录
表示以点开头的隐藏的文件或目录
.bash*
"useradd"
-u 指定用户的uid
-s 指定用户使用的shell 默认/bin/bash /sbin/nologin手动添加一个虚拟用户
-M 表示不创建家目录,一般创建虚拟用户使用
-g 指定用户的组(组的名字),添加用户的时候,默认创建一个与用户名字一样的组名
-c 指定说明信息
添加一个用户alex999指定uid为888,禁止用户登录系统,不创建家目录
[root@oldboyedu-02 www]# useradd alex999 -u 888 -M -s /sbin/nologin
[root@oldboyedu-02 www]# cat /etc/passwd|grep alex
alex999:x:888:888::/home/alex999:/sbin/nologin
[root@oldboyedu-02 www]# ls -l /home/
total 20
drwx------. 2 oldboy oldboy 4096 Feb 26 08:19 oldboy
drwx------. 2 oldgirl oldgirl 4096 Feb 22 04:01 oldgirl
[root@oldboyedu-02 www]#
"userdel"
把/etc/passwd中前面加一个注释,就表示把该用户删除了
userdel默认不删除用户的家目录和邮箱
-r 连窝端,删除与用户有关的所有信息
"usermod"
-s 修改用户的shell
-g 修改用户的组名
-c 修改用户的说明信息
-G 修改用户属于多个组
"chown"
修改文件或目录所有者和属于的用户组
-R 递归修改文件或目录的所有者和用户组
chown oldboy oldboy.txt 只修改所有者
chown oldboy.oldboy oldboy.txt 修改了所属用户和所属组
"groupadd"
创建用户组
-g 指定用户组的gid数字
添加一个虚拟用户mysql,指定用户的uid gid都是999
方法一:
[root@oldboyedu-02 oldboy]# useradd -M -s /sbin/nologin -u 999 mysql
[root@oldboyedu-02 oldboy]# id mysql
uid=999(mysql) gid=999(mysql) groups=999(mysql)
[root@oldboyedu-02 oldboy]# userdel mysql
[root@oldboyedu-02 oldboy]#
方法二:
[root@oldboyedu-02 oldboy]# groupadd -g 999 mysql
[root@oldboyedu-02 oldboy]# useradd -M -s /sbin/nologin -u 999 -g mysql mysql
Creating mailbox file: File exists
[root@oldboyedu-02 oldboy]# id mysql
uid=999(mysql) gid=999(mysql) groups=999(mysql)
[root@oldboyedu-02 home]# echo ‘123456‘|passwd --stdin
清空历史命令,防止别人看到执行的命令
[root@oldboyedu-02 home]# history -c
密码要复杂12位以上字母数字特殊字符
保存密码工具
keepass 常用
lastpass
大企业用户和密码统一管理,相当于活动目录(AD),openldap域
动态密码:动态口令,第三方提供自己开发也很简单
1)最小化安装系统,最小化安装软件,最小化运行的软件
2)保护好root,禁止root用户登录,修改远程连接端口号22
3)文件系统权限,给系统常用命令 +i,给系统配置文件+a
4)给重要文件或命令做一个指纹
给这个文件创建指纹
如何快速对比指纹
1)把指纹记录下来,md5sum oldboy.txt>finger.txt
2)如何进行对比 md5sum -c finger.txt
[root@oldboyedu-02 oldboy]# echo "oldboy">oldboy.txt
[root@oldboyedu-02 oldboy]# md5sum oldboy.txt >police.log
[root@oldboyedu-02 oldboy]# md5sum -c police.log
oldboy.txt: OK
[root@oldboyedu-02 oldboy]# echo "oldboy">>oldboy.txt
[root@oldboyedu-02 oldboy]# md5sum -c police.log
oldboy.txt: FAILED
md5sum: WARNING: 1 of 1 computed checksum did NOT match
[root@oldboyedu-02 oldboy]#
定时任务,md5sum定时检查
chage:密码失效是通过此命令来管理的。
参数意思:
-m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M 密码保持有效的最大天数。
-W 用户密码到期前,提前收到警告信息的天数。
-E 帐号到期的日期。过了这天,此帐号将不可用。0表示立即过期,-1表示永不过期;
-d 上一次更改的日期
-I 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l 例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
chage命令事例
[root@oldboyedu-01 scripts]# chage -l mysql
Last password change : Mar 04, 2019
Password expires : Mar 10, 2019
Password inactive : never
Account expires : Mar 07, 2019
Minimum number of days between password change : 0
Maximum number of days between password change : 6
Number of days of warning before password expires : 7
[root@oldboyedu-01 scripts]# chage -E "2019-03-09" mysql
[root@oldboyedu-01 scripts]# chage -E "-1" mysql
[root@oldboyedu-01 scripts]# chage -l mysql
Last password change : Mar 04, 2019
Password expires : Mar 10, 2019
Password inactive : never
Account expires : Mar 09, 2019
Minimum number of days between password change : 0
Maximum number of days between password change : 6
Number of days of warning before password expires : 7
[root@oldboyedu-01 scripts]# chage -M 99999 mysql
[root@oldboyedu-01 scripts]# chage -l mysql
Last password change : Mar 04, 2019
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7
id 查看用户的信息
一个用户是否存在
查询用户的uid,gid
查看该用户属于哪个组
某个用户组下面有哪些用户?
查看/etc/group文件,第一列为组名,最后一列是改组下有哪些用户
w显示系统中已经远程登录的用户在做什么
last哪个用户在什么时候从哪里登录进你的系统,用户登录信息
lastlog显示Linux中所有用户最近一次远程登录的信息
w
uptime
[root@oldboyedu-02 ~]# uptime
23:15:02 up 1 day, 8:03, 3 users, load average: 0.03, 0.11, 0.08
top
M按照内存排序
P按照CPU排序
htop top的增强版
iotop 显示系统中每个进程使用的磁盘IO
iftop 显示系统网络流量
性能测试
查看磁盘IO,CPU和内存的使用情况
[root@oldboyedu-02 alexdir]# dd if=/dev/zero of=/oldboy/alexdir/date.txt bs=1k count=1000000000000000
su 与su - 的区别
su - 系统环境变量也会跟着改变
su 环境变量还是原用户的环境变量
sudo是什么
开发人员,其他人员,想临时使用,查看系统的日志,删除软件的日志,临时添加用户
普通用户想成为root,拥有高权限
sudo -l查看当前用户是否具有sudo 权限
[oldboy@oldboyedu-02 ~]$ sudo -l
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:
#1) Respect the privacy of others.
#2) Think before you type.
#3) With great power comes great responsibility.
[sudo] password for oldboy:
Sorry, user oldboy may not run sudo on oldboyedu-02.
visudo给用户授予权限,具有语法检查功能
授权某一个命令 oldboy ALL=(ALL) /bin/ls
授权多个命令 oldboy ALL=(ALL) /bin/ls,/bin/touch
visudo加入如下内容
oldboy ALL=(ALL) /bin/ls,/bin/touch
[root@oldboyedu-02 oldboy]# visudo -c --检查配置文件是否存在语法问题
/etc/sudoers: parsed OK
查看
[oldboy@oldboyedu-02 ~]$ sudo -l
[sudo] password for oldboy:
Matching Defaults entries for oldboy on this host:
!visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR
LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE
LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER
LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
User oldboy may run the following commands on this host:
(ALL) /bin/ls, (ALL) /bin/touch
[oldboy@oldboyedu-02 ~]$ sudo ls /root
anaconda-ks.cfg CentOS-6.10-x86_64-bin-DVD1.iso city.txt install.log install.log.syslog log_18142542.log
[oldboy@oldboyedu-02 ~]$ sudo touch /root/alex.txt
[oldboy@oldboyedu-02 ~]$ sudo ls -l /root
total 73356
-rw-r--r-- 1 root root 0 Feb 28 23:52 alex.txt
-rw-------. 1 root root 1061 Feb 18 12:24 anaconda-ks.cfg
-rw-r--r-- 1 root root 75067605 Feb 28 23:14 CentOS-6.10-x86_64-bin-DVD1.iso
-rw-r--r-- 1 root root 80 Feb 26 22:11 city.txt
-rw-r--r--. 1 root root 21736 Feb 18 12:24 install.log
-rw-r--r--. 1 root root 5890 Feb 18 12:22 install.log.syslog
-rw-r--r-- 1 root root 279 Feb 18 14:27 log_18142542.log
[oldboy@oldboyedu-02 ~]$ cd /oldboy/
-bash: cd: /oldboy/: Permission denied
[oldboy@oldboyedu-02 ~]$ pwd
/home/oldboy
[oldboy@oldboyedu-02 ~]$ ls -l /oldboy/
ls: cannot access /oldboy/test: Permission denied
ls: cannot access /oldboy/2019-02-27: Permission denied
ls: cannot access /oldboy/etc.tar.gz: Permission denied
ls: cannot access /oldboy/number.txt: Permission denied
ls: cannot access /oldboy/police.log: Permission denied
ls: cannot access /oldboy/1: Permission denied
授权某个目录下面的所有命令
oldboy ALL=(ALL) /bin/* (由于该目录下有su,又能切换到root,执行root的命令了。所以要排除su)
[oldboy@oldboyedu-02 ~]$ sudo su - root
[sudo] password for oldboy:
[root@oldboyedu-02 ~]# su - oldboy
[oldboy@oldboyedu-02 ~]$ sudo su -
[root@oldboyedu-02 ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:0C:29:46:26:0C
inet addr:10.0.0.200 Bcast:10.0.0.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fe46:260c/64 Scope:Link
排除某个命令
oldboy ALL=(ALL) /bin/*,!/bin/su ()
[oldboy@oldboyedu-02 ~]$ sudo su -
Sorry, user oldboy is not allowed to execute ‘/bin/su -‘ as root on oldboyedu-02.
授权所有命令并且不需要密码
oldboy ALL=(ALL) NOPASSWD: /bin/*,!/bin/su
下面是不需要密码的情况
[oldboy@oldboyedu-02 ~]$ sudo -l
Matching Defaults entries for oldboy on this host:
!visiblepw, always_set_home, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE INPUTRC KDEDIR
LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE
LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER
LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY",
secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin
User oldboy may run the following commands on this host:
(ALL) NOPASSWD: /bin/*, (ALL) !/bin/su
[oldboy@oldboyedu-02 ~]$ sudo -i
[root@oldboyedu-02 ~]# su - oldboy
下面是需要密码的情况
[oldboy@oldboyedu-02 ~]$ sudo -l
[sudo] password for oldboy:
[oldboy@oldboyedu-02 ~]$ sudo -i
[sudo] password for oldboy:
授权所有命令
oldboy ALL=(ALL) ALL
其中,ALL=(ALL)
第一个ALL,意思是能在哪些机器上运行sudo
第二个ALL,意思是以谁的身份运行sudo
齐治的堡垒机 硬件产品,商业产品
gateone web跳板机
python开发的开源跳板机产品,开源跳板机(堡垒机)jumpserver和Alex写的crazyEYE
shell跳板机
标签:禁止用户 src script 用户名 查看系统 address oldboyedu 文件创建 邮箱
原文地址:https://blog.51cto.com/10983441/2411313