目录

  • 1.用户相关
    • 1.1/etc/passwd文件
    • 1.2/etc/shadow文件
    • 1.3/etc/group文件
    • 1.4/etc/gshadow文件
    • 1.5useradd命令
    • 1.6usermod命令
    • 1.7userdel命令
    • 1.8passwd命令
  • 2.网络相关
    • 2.1网卡配置文件
    • 2.2设置网卡状态两种方法
    • 2.3DNS相关
    • 2.4查看网络ip的命令
    • 2.5Ubuntu/kali上网相关:
      • 2.5.1网卡配置
      • 2.5.2设置网卡状态
      • 2.5.3dns配置
      • 2.5.4kali上网配置
  • 3.运行级别
  • 4.sudo与su
    • 4.1sudo配置文件
    • 4.2四种切换用户及权限的方式
      • 4.2.1sudo命令
      • 4.2.2sudo -i命令
      • 4.2.3sudo -s命令
      • 4.2.4su命令
      • 4.2.5su -命令
    • 4.3whoami命令
  • 5.Linux的文件权限
    • 5.1Linux文件权限
    • 5.2chown命令
    • 5.3chomd命令
  • 6.计划任务
  • 7.开机自启
    • 7.1设置服务开机自启命令
    • 7.2开机自动执行命令

1.用户相关

1.1/etc/passwd文件

/etc/passwd文件中保存的就是系统中所有的用户和用户的主要信息,这个文件的内容非常规律,每行代表一个用户。
每一行有七个字段,以:为分隔符,每个字段所代表的含义不同,以root这一行来做示例

  • 第一个字段为:用户名名称
  • 第二字段为:密码表示,但是不是真正的密码,密码是在另一个文件当中,在早期的unix中,这里保存的就是真正的加密后的密码字符串
  • 第三个字段为:UID,也就是用户的ID
  • 第四字段为:GID,也称为用户的组ID
  • 第五个字段为:用户的说明
  • 第六个字段为:用户的家目录
  • 第七个字段为:shell,也可以理解为用户登录之后所拥有的权限

1.2/etc/shadow文件

/etc/shadow是用户保存密码的文件,这个文件的每行代表一个用户,同样的也是以:为分隔符。

  • 第一字段为:用户名称
  • 第二个字段为:该用户加密后的密码,没有密码的用户则是*或者!!,是不能登录的
  • 第三个字段为:密码何时修改过,这里显示的数字是从1970 年 1 日 1 日作为标准时间算的,每过去一天时间戳加1.如果是10000的话,那么就是1970年1月1日后的第10000天
  • 第四个字段为:两次修改密码的时间间隔,如果是5,那么密码修改后5天内不能再更改,为0的话,是随时都可修改
  • 第五个字段为:密码的有效期,是从第三字段之后开始算的,默认是99999
  • 第六个字段为:密码到期修改前的警告天数,根据第五个字段算的,默认为7,则是到期前的7天开始警告
  • 第七个字段为:密码到期后的宽限天数,为0是到期立马失效,-1是永远不失效
  • 第八个字段为:用户失效的时间,同样是以时间戳表示的
  • 第九个字段:这个字段暂时没有功能

1.3/etc/group文件

linux用户组的所有信息都存放在/etc/group文件当中,也就是passwd文件中GID的来源。

分为四个字段,也是以:为分隔符

  • 第一个字段:用户组名称
  • 第二个字段:用户组密码
  • 第三个字段:对应的GID
  • 第四个字段:用户列表,本字段可以为空

1.4/etc/gshadow文件

组用户的密码信息存储在/etc/gshadow文件中。
文件中,每行代表一个组用户的密码信息,各行信息用 “:” 作为分隔符分为 4 个字段,每个字段的含义如下:

  • 第一个字段:用户组名称
  • 第二个字段:用户组密码,通常不会设置
  • 第三个字段:组管理员
  • 第四个字段:用户列表,本字段可以为空

1.5useradd命令

useradd命令可以用来创建用户账号。
UID1-499是属于系统用户的。500以后可以分配给普通用户,一般我们新建用户默认是从1000开始的。
root用户的uid为0,如果创建一个uid为0的其他账号,其实就是root的别名账号,权限还是root。

useradd test  #创建用户test
useradd -o -u 0 test1 #创建用户test1,指定uid为0,-o表示允许uid重复,-u指定uid
useradd test2 -g root #新建一个test2的用户,并加入到root组里,-g指定新建用户的组

groupadd命令可以用来创建组。

groupadd a #创建一个a用户组

1.6usermod命令

usermod命令可以更改用户的各项信息

-l<帐号名称>           #修改用户帐号名称。
-c<备注>              #修改用户帐号的备注文字。
-g<群组>              #修改用户所属的群组。
-G<群组>              #修改用户所属的附加群组。
-d<登入目录>           #修改用户登入时的目录。
-e<有效期限>           #修改帐号的有效期限。
-f<缓冲天数>           #修改在密码过期后多少天即关闭该帐号。
-L                    #锁定用户密码,使密码无效。
-s<shell>             #修改用户登入后所使用的shell。
-u<uid>               #修改用户ID。
-U                    #解除密码锁定。

例如:

usermod test -l newname #修改test用户名为newname
usermod test2 -d /home/test3 #修改test2用户的家目录

groupmod命令可以更改组的各项信息

  -g, --gid GID                 #将组 ID 改为 GID-h, --help                    #显示此帮助信息并推出-n, --new-name NEW_GROUP      #改名为 NEW_GROUP-o, --non-unique              #允许使用重复的 GID-p, --password PASSWORD       #将密码更改为(加密过的) PASSWORD-R, --root CHROOT_DIR         #chroot 到的目录-P, --prefix PREFIX_DIR       #prefix directory where are located the /etc/* files

例如:
groupmod a -n b #修改a组名为b

1.7userdel命令

userdel命令可以删除用户,使用groupdel命令可以删除用户组

userdel test #删除用户test
groupdel a #删除组a

1.8passwd命令

passwd命令用于修改或添加用户的密码,用法:passwd [user]
注意,当你以root用户登录时,你可以修改系统内任意用户的密码,且无需遵守密码复杂度要求。
当你以普通用户登录时,只能修改自己的密码,且必须遵守密码复杂度要求。
当passwd命令不跟用户名时,代表修改当前用户密码。
案例:
passwd test #修改test的密码

2.网络相关

2.1网卡配置文件

Centos网卡配置文件存储于/etc/sysconfig/network-scripts/ifcfg-[网卡名]

DEVICE="eth0"                                #网卡名
HWADDR="00:0C:29:FD:FF:2A"                   #mac地址
NM_CONTROLLED="yes"                          #network mamager的参数,实时生效,不需要重启
ONBOOT="yes"                                 #开机自动链接
IPADDR=192.168.1.31                          #ip地址
NETMASK=255.255.255.0                        #子网掩码
GATEWAY=192.168.1.1                          #网关
BOOTPROTO=static                             #静态ip

2.2设置网卡状态两种方法

设置网卡状态命令:
第一种:

systemctl restart/stop/start/status network         #重启/停止/启动/查看状态 (谨慎使用stop,否则ssh会断掉得从主机上进行启动了)
service network restart/stop/start/status           #重启/停止/启动/查看状态(谨慎使用stop,否则ssh会断掉得从主机上进行启动了)

第二种:
nmcli命令是redhat7或者Centos7之后才有的命令

nmcli c show                 #查看状态
nmcli c up/down [网卡名]      #启动/关闭
nmcli c reload [网卡名]       #重启
nmcli c modify enp0s3 ipv4.addresses 192.168.0.62/24
nmcli c modify enp0s3 ipv4.gateway 192.168.0.1
nmcli c modify enp0s3 ipv4.dns 8.8.8.8

2.3DNS相关

电脑想要访问网页,必要设定一个DNS服务器的IP(常见的有114.114.114.114等),这个DNS服务器负责将你输入的网址(如:www.baidu.com )转换为你的电脑可以识别的IP。经过这种转换,电脑才能访问网页。
Centos的DNS配置文件存储与/etc/resolv.conf

2.4查看网络ip的命令

ip a   #iproute2
ifconfig  #属于net-tools工具链,起源于BSD的TCP/IP工具箱,但自2001年起,Linux社区已经对其停止维护。同时,一些 Linux 发行版比如 Arch Linux 和 CentOS/RHEL 7 则已经完全抛弃了 net-tools,只支持 iproute2 。

2.5Ubuntu/kali上网相关:

2.5.1网卡配置

Ubuntu上的网卡配置文件存储于/etc/network/interfaces
其中主要参数:

# 若设置静态IP
auto [网卡名]
iface [网卡名] inet static
address 192.168.3.90                #ip地址
gateway 192.168.3.1                 #网关
netmask 255.255.255.0               #子网掩码# 若设置动态IP
auto [网卡名]
iface eth0 inet dhcp

2.5.2设置网卡状态

/etc/init.d/networking restart  #重启网卡
/etc/init.d/networking start    #启动网卡
/etc/init.d/networking stop     #关闭网卡 (谨慎关闭,会断开ssh)

2.5.3dns配置

DNS配置文件存储于/etc/resolv.conf
nameserver 114.114.114.114

2.5.4kali上网配置

kali的上网配置可以在图形化界面调试。设置->网络设置->手动

3.运行级别

所谓运行级别,简单点来说,运行级别就是操作系统当前正在运行的功能级别。级别是从0到6,具有不同的功能。

Linux下的7个运行级别:

  • 0:系统停机状态,系统默认运行级别不能设置为0,否则不能正常启动,机器关闭。
  • 1:单用户工作状态,root权限,用于系统维护,禁止远程登陆,就像Windows下的安全模式登录。
  • 2:多用户状态,没有NFS支持。
  • 3:完整的多用户模式,有NFS,登陆后进入控制台命令行模式。
  • 4:系统未使用。
  • 5:X11控制台,登陆后进入图形GUI模式,XWindow系统。
  • 6:系统正常关闭并重启,默认运行级别不能设为6,否则不能正常启动。运行init6机器就会重启。

关机/重启命令:

init 0
init 6

4.sudo与su

sudo是linux系统管理指令,是允许系统管理员让普通用户执行一些或者全部的root命令的一个工具。
root用户需要设置普通用户的sudo权限(就是哪些用户使用sudo,在/etc/sudoers文件中添加可以执行的用户),设置之后,普通用户在命令前加sudo即可使用管理员权限执行改命令。

4.1sudo配置文件

sudo配置文件存在于/etc/sudoers,root用户如想赋予普通用户sudo权限,则需要修改大概位于98行的内容:

97 ## Allow root to run any commands anywhere
98 root    ALL=(ALL)       ALL
99
100 ## Allows members of the 'sys' group to run networking, software,
101 ## service management apps and more.
102 # %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS
103
104 ## Allows people in group wheel to run all commands
105 %wheel        ALL=(ALL)       ALL
106
107 ## Same thing without a password
108 # %wheel        ALL=(ALL)       NOPASSWD: ALL

如果给test用户添加sudo权限:
test ALL=(ALL) ALL 如果给a用户组添加sudo权限: %a ALL=(ALL) ALL

4.2四种切换用户及权限的方式

4.2.1sudo命令

sudo [command]的形式,可以使sudo用户以root权限执行一些命令。第一次执行需要验证当前用户的密码,来判断当前帐号是否在sudo允许的列表中。

4.2.2sudo -i命令

sudo -i命令,可以使sudo用户切换为root用户。
在切换为root后,会切换到root的家目录,并完全使用root用户的环境。
切换root用户时会校验sudo用户的密码,来判断当前帐号是否在sudo允许的列表中。

4.2.3sudo -s命令

sudo -s命令,也可以使sudo用户切换为root用户。
切换用户后,不会切换目录,仍然使用sudo用户自己的环境,但是权限已经是root。
切换root用户时需要验证sudo用户自己的密码,来判断当前帐号是否在sudo允许的列表中。

4.2.4su命令

su [username]是切换用户的命令。它不局限于sudo用户使用,任何用户想切换到其他用户都可以使用这个命令。
切换用户时,需要验证要切换用户的密码。切换后,仍使用原来的环境变量。

4.2.5su -命令

su - [username]是切换用户的命令。它不局限于sudo用户使用,任何用户想切换到其他用户都可以使用这个命令。
切换用户时,需要验证要切换用户的密码。切换后,仍使新用户的环境变量。

4.3whoami命令

whoami用于显示当前用户

5.Linux的文件权限

5.1Linux文件权限

ls -al显示的列表,有七个字段,每个字段以空格为分隔

  • 第一个字段为:分别是文件类型,和属主属组其他人的读写执行权限。严格来说这是两个字段。
  • 第二个字段为:也就是上图看到的4字样,对文件是文件内容被系统记录的次数。对目录是目录中文件属性的字节数
  • 第三个字段为:属主,文件的所有者
  • 第四个字段为:属组,文件的所有组
  • 第五个字段为:内容大小
  • 第六个字段为:文件最后一次被修改的时间
  • 第七个字段为:文件名字

在第一个字段中,会出现这样的形式drwxr-xr-x.共是11个字符。
第一个字符:
常见的有d-两种形式,第一个字母为d代表为目录,为-代表为文件。
此外还有其他形式:

  • -:常规文件
  • b:块特殊文件
  • c:字符特殊文件
  • C:高性能(”连续数据“)文件
  • d:目录
  • D:门(Solaris 2.5及以上版本)
  • l:符号链接
  • M:离线(”前已“)文件(Cray DMF)
  • n:网络专用文件(HP-UX)
  • p:FIFO(命名管道)
  • P:断开(Solaros 10及以上)
  • s:套接字
  • ?:其他文件

第二到第十个字符:共有9个字符,每三个为一组。代表属主属组其他人的权限。常见的权限有r w x,分别为读权限、写权限、执行权限

如一个文件这一部分字段表达为-rwxrw-r--.

  • 则表示此文件是一个文件而非目录;
  • 此文件的属主(拥有者/创建者)具备对其的读、写、执行权限;
  • 此文件的属组(文件所有者同一个用户组的用户)具备读、写权限,而没有执行权限;
  • 此文件属主与属组之外的用户,具有读权限,但无法修改与执行。
  • 如果一个文件需要能够被读取,则需要r权限
  • 如果一个文件需要能够被编辑,则需要rw权限。
  • 如果一个文件能够被执行,则需要x权限

在第四、第七和第十个字符中,除却常见的x执行权限外,还有其他情况:

  • S:设置了SUID或SGID,没有执行权限
  • s:设置了SUID或SGID,具有执行权限(借用root的权限去执行)
  • T:设置了粘滞位,没有执行权限
  • t:设置了粘滞位,具有执行权限

第十一个字符的含义

.:没有任何其他替代访问方法的SELinux安全上下文(没有设置ACL)
+:具有任何其他组合访问方法的SELinux安全上下文(设置了ACL)

5.2chown命令

chown命令用于设置文件所有者
用法:chown [-R] [username]:[groupname] [filename] 案例:

chown farmsec1:farmsec 1.txt
chown -R farmsec1:farmsec farm #-R 递归,farm目录及其下所有目录、文件

5.3chomd命令

chmod命令用来变更文件或目录的权限。用法:chmod [-R] 755 filename案例:

chmod 755 1.txt
chmod 777 1.txt
chmod -R 目录名 #使用-R参数代表递归,将目录以下所有文件都赋予同样的权限。

权限用数字421表示:
r=4(可读) w=2(可写) x=1(执行)

  • 可读可写可执行则为7(rwx)
  • 可读可写则为6(rw-)
  • 可读可执行则为5(r-x)
  • 可写可执行则为3(-wx)
  • 无论如何相加都不会出现重复的数字

该命令也可直接添加或删除某种权限 用法:chmod +x filename 案例:

chmod +x farm.txt  #给三个权限范围都设置x可执行
chmod -x farm.txt
chmod a+x farm.txt
chmod g-x farm.txt
chmod a+r farm.txt
chmod ug=rwx,o=x farm.txt

参数释义:

6.计划任务

crontab被用来提交和管理用户的需要周期性执行的任务,与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。

crontab -e 编辑当前用户的cron表
crontab -l 查看当前用户的cron表
crontab -r 删除当前用户的cron表

crontab命令是cron table的简写,它是cron的配置文件,也可以叫它作业列表,我们可以在以下文件夹内找到相关配置文件。

  • /var/spool/cron/目录下存放的是每个用户包括root的crontab任务,每个任务以创建者的名字命名
  • /etc/crontab这个文件负责调度各种管理和维护任务。
  • /etc/cron.d/这个目录用来存放任何要执行的crontab文件或脚本。
  • 我们还可以把脚本放在/etc/cron.hourly/etc/cron.daily/etc/cron.weekly/etc/cron.monthly目录中,让它每小时/天/星期、月执行一次。

我们使用crontab -l的命令是无法查看到其他用户的计划任务的(root可以)。可以使用如下命令进行查看:crontab -u <user> -l

编辑cron的格式为:分 时 日 月 周 命令

*    #代表任意时间
,    #代表不联系的时间点,2,3 表示2和3都行
-    #代表连续的时间段,比如2-4表示2,3,4
*/n  #代表每隔单位时间

案例1:每隔一分钟往1文本里输入一条hello 的信息
*/1 * * * * echo "hello">> /root/1
案例2:每小时的第一分钟执行一次
1 * * * * echo "hello">> /root/1
案例3:每小时的第一分钟跟第二分钟执行
1,2 * * * * echo "hello">> /root/1
其他案例:

实例1:每1分钟执行一次myCommand
* * * * * myCommand实例2:每小时的第3和第15分钟执行
3,15 * * * * myCommand实例3:在上午8点到11点的第3和第15分钟执行
3,15 8-11 * * * myCommand实例4:每隔两天的上午8点到11点的第3和第15分钟执行
3,15 8-11 */2  *  * myCommand实例5:每周一上午8点到11点的第3和第15分钟执行
3,15 8-11 * * 1 myCommand实例6:每晚的21:30重启smb
30 21 * * * /etc/init.d/smb restart实例7:每月1、10、22日的4 : 45重启smb
45 4 1,10,22 * * /etc/init.d/smb restart实例8:每周六、周日的1 : 10重启smb
10 1 * * 6,0 /etc/init.d/smb restart实例9:每天18 : 00至23 : 00之间每隔30分钟重启smb
0,30 18-23 * * * /etc/init.d/smb restart实例10:每星期六的晚上11 : 00 pm重启smb
0 23 * * 6 /etc/init.d/smb restart实例11:每一小时重启smb
0 */1 * * * /etc/init.d/smb restart实例12:晚上11点到早上7点之间,每隔一小时重启smb
0 23-7/1 * * * /etc/init.d/smb restart

7.开机自启

7.1设置服务开机自启命令

在systemctl的命令中,enable代表开机自启,disable代表取消开机自启。
如想设置某服务开机自启,可使用systemctl enable [服务名]
案例:
systemctl enable nginx

7.2开机自动执行命令

/etc/rc.d/rc.local 用于添加开机启动命令,/etc/rc.local/etc/rc.d/rc.local的软链接,软连接相当于windows的快捷方式。
系统开机后会自动执行/etc/rc.local,换句话说,只要将你想执行的命令写入这个文件,vi /etc/rc.local,就可以做到开机自动执行。

如我们在此处写入echo 'hello' >> /root/hello

如果你是第一次使用这个文件,需要对其加上执行权限。chmod +x /etc/rc.local
然后重启服务器,我们会发现写入/etc/rc.local 的命令在开机时被执行了。

备注:
老版本的系统中,控制服务启动的命令还有如下的内容:

chkconfig
/etc/init.d/
/etc/rc.d/init.d

配置的方法可参考网上详细教程。
从centos7开始,系统的服务控制开始由systemctl替换早起版本的chkconfig与service的指令。
systemctl的服务的位置位于/usr/lib/systemd/system中。
所以未来在应急响应的排查中,需要排查的目录需要依照操作系统的版本进行针对性的排查。

5.Linux常用配置文件(包含网络/Linux文件权限等)相关推荐

  1. Linux常用命令:chmod修改文件权限 777和754

    chmod 777  文件或目录 示例:chmod  777 /etc/squid 运行命令后,squid文件夹(目录)的权限就被修改为777(可读可写可执行). 如果是Ubuntu系统,可能需要加上 ...

  2. linux常用解压和压缩文件的命令

    linux常用解压和压缩文件的命令 .tar 解包:tar xvf FileName.tar 打包:tar cvf FileName.tar DirName (注:tar是打包,不是压缩!) ---- ...

  3. linux的常用操作——查看和修改文件权限

    linux的常用操作--查看和修改文件权限 #1.查看当前用户 whoami#2.查看文件权限(r:read;w:write,x:execute) ls -l#3.修改文件\目录权限 chmod [w ...

  4. linux 常用命令之运行.sh文件

    linux 常用命令之运行.sh文件 Linux下面用命令如何运行.sh文件的方法 一.直接./加上文件名.sh,如运行hello.sh为./hello.sh[hello.sh必须有x权限] 二.直接 ...

  5. linux chmod命令数字,菜鸟学Linux命令:chmod命令和数字文件权限

    chmod是一条在Unix系统中用于控制用户对文件的权限的命令(change mode单词前缀的组合)和函数. 只有文件所有者和超级用户可以修改文件或目录的权限.可以使用绝对模式,符号模式指定文件的权 ...

  6. linux常用命令(包含系统命令)

    linux常用命令 linux命令整理 1. 入门命令 1.1 快速记忆 1.2 linux入门命令 1.2.1 ls命令--list 1.2.2 mkdir命令--make directory 1. ...

  7. linux 安装上传文件,linux常用命令(二)文件上传下载及软件安装

    1.上传下载工具安装 (1)WINDOWS 到linux的文件上传及下载: windows下打开secureCRT,通过SSH连到⾄至远程linux主机: 上传下载工具安装命令:yum -y inst ...

  8. 修改linux编译配置文件,Porting:linux内核编译、配置、修改配置文件、添加.c文件到内核...

    一.linux内核 $:'uname -a $:'uanme -r // 查看linux内核版本,开发板上进入linux后是一样的命令. 早起常常使用的版本:linux 2.6.x 开发板上使用的版本 ...

  9. Linux系统编程、网络编程-文件I/O

    第一章:文件io 1. 文件io讲些什么 文件io这一章讲的是,如何调用Linux OS所提供的相关的OS API,实现文件的读写. 1.1 如何理解"文件IO"这个词 IO就是i ...

最新文章

  1. ARKit从入门到精通(2)-ARKit工作原理及流程介绍
  2. java发送内嵌图片邮件
  3. python如何输出结果_如何在python2.7中打印输出结果?
  4. C语言程序设计复习指导
  5. au如何关闭预览编辑器_在线IDE开发入门之从零实现一个在线代码编辑器
  6. JVM学习04-垃圾回收概念与算法
  7. iocomp-Crack|New Version最新【2021】
  8. 信息收集----谷歌语句
  9. matplotlib图表涉及中乱码问题
  10. xp计算机u盘重装系统,传授如何使用u盘安装xp系统呢?教你安装步骤
  11. 命令行的迅雷,这样用会更香
  12. css_使div中的文本自动换行
  13. Facebook公布2012年Q2财务数据
  14. LFI、RFI、PHP封装协议安全问题学习
  15. 金仓数据库单表与多表查询
  16. 江苏理工学院计算机系李沛杰,来!为你喜爱的新教师投上一票!
  17. PMP第五版考试易混知识统计
  18. 《操作系统真象还原》第二章 编写MBR主引导记录,让我们开始掌权
  19. Django项目之打分系统
  20. 小学生计算/口算题excel打印版,计算机出题,解放大人

热门文章

  1. RabbitMQ 入门介绍
  2. 每天3.2亿人在刷抖音,而那些优秀的人却看这公众号的精华文章!
  3. 给宝宝起名,您重视了吗?
  4. linux内存和磁盘空间不足解决办法
  5. java教师课程总结报告_Java课程总结
  6. 网易邮箱批量登泉器v1.0
  7. 论文阅读:Volumetric and Multi-View CNNs for Object Classification on 3D Data
  8. 前方高能 | 如何优化企业“数据消费“策略
  9. oracle杀连接服务器,玩转Oracle服务器连接
  10. 前端报504错误如何定位