设为首页 收藏本站
查看: 561|回复: 0

[经验分享] Linux作业(2)

[复制链接]

尚未签到

发表于 2018-5-18 12:05:20 | 显示全部楼层 |阅读模式
  1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。
  [root@localhost ~]# who
  root    tty1         2016-12-19 20:48
  root    pts/0        2016-12-19 20:49(192.168.2.100)
  root    tty2         2016-12-19 22:38
  root    tty3         2016-12-19 22:38
  [root@localhost ~]# who | tr -s "" | cut -d" " -f1 | sort -u
  root
  2、取出当前系统上被用户当作其默认shell的最多的那个shell。
  [root@localhost ~]# cat  /etc/passwd|cut -d: -f7|sort|uniq -c|sort-n|tail -n 1
  39 /sbin/nologin
  [root@localhost ~]# cut -d ':' -f 7/etc/passwd | sort  |uniq -c | sort -nr |head -1
  39 /sbin/nologin
  [root@localhost ~]# awk -F ':' '{print $7}'/etc/passwd | sort | uniq -c | sort -nr | head -1
  39 /sbin/nologin
  [root@localhost ~]#
  3、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。
  [root@localhost ~]# cat /etc/passwd
  root:x:0:0:root:/root:/bin/bash
  bin:x:1:1:bin:/bin:/sbin/nologin
  daemon:x:2:2:daemon:/sbin:/sbin/nologin
  adm:x:3:4:adm:/var/adm:/sbin/nologin
  lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  sync:x:5:0:sync:/sbin:/bin/sync
  shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
  halt:x:7:0:halt:/sbin:/sbin/halt
  mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
  operator:x:11:0:operator:/root:/sbin/nologin
  games:x:12:100:games:/usr/games:/sbin/nologin
  ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
  nobody:x:99:99:Nobody:/:/sbin/nologin
  avahi-autoipd:x:170:170:Avahi IPv4LLStack:/var/lib/avahi-autoipd:/sbin/nologin
  systemd-bus-proxy:x:999:997:systemd BusProxy:/:/sbin/nologin
  systemd-network:x:998:996:systemd NetworkManagement:/:/sbin/nologin
  dbus:x:81:81:System messagebus:/:/sbin/nologin
  polkitd:x:997:995:User forpolkitd:/:/sbin/nologin
  abrt:x:173:173::/etc/abrt:/sbin/nologin
  libstoragemgmt:x:996:994:daemon account forlibstoragemgmt:/var/run/lsm:/sbin/nologin
  tss:x:59:59:Account used by the trouserspackage to sandbox the tcsd daemon:/dev/null:/sbin/nologin
  postfix:x:89:89::/var/spool/postfix:/sbin/nologin
  chrony:x:995:993::/var/lib/chrony:/sbin/nologin
  sshd:x:74:74:Privilege-separatedSSH:/var/empty/sshd:/sbin/nologin
  ntp:x:38:38::/etc/ntp:/sbin/nologin
  tcpdump:x:72:72::/:/sbin/nologin
  geoclue:x:994:991:User forgeoclue:/var/lib/geoclue:/sbin/nologin
  usbmuxd:x:113:113:usbmuxduser:/:/sbin/nologin
  rpc:x:32:32:RpcbindDaemon:/var/lib/rpcbind:/sbin/nologin
  saslauth:x:993:76:Saslauthd user:/run/saslauthd:/sbin/nologin
  rtkit:x:172:172:RealtimeKit:/proc:/sbin/nologin
  unbound:x:992:990:Unbound DNSresolver:/etc/unbound:/sbin/nologin
  pulse:x:171:171:PulseAudio SystemDaemon:/var/run/pulse:/sbin/nologin
  colord:x:991:986:User forcolord:/var/lib/colord:/sbin/nologin
  qemu:x:107:107:qemu user:/:/sbin/nologin
  rpcuser:x:29:29:RPC ServiceUser:/var/lib/nfs:/sbin/nologin
  nfsnobody:x:65534:65534:Anonymous NFSUser:/var/lib/nfs:/sbin/nologin
  radvd:x:75:75:radvd user:/:/sbin/nologin
  sssd:x:990:985:User for sssd:/:/sbin/nologin
  setroubleshoot:x:989:984::/var/lib/setroubleshoot:/sbin/nologin
  gdm:x:42:42::/var/lib/gdm:/sbin/nologin
  gnome-initial-setup:x:988:983::/run/gnome-initial-setup/:/sbin/nologin
  avahi:x:70:70:Avahi mDNS/DNS-SDStack:/var/run/avahi-daemon:/sbin/nologin
  [root@localhost ~]# cat /etc/passwd|sort -n-t: -k3|tail -n 10|tr [a-z] [A-Z]> /tmp/maxusers.txt
  [root@localhost ~]# cat /tmp/maxusers.txt
  COLORD:X:991:986:USER FORCOLORD:/VAR/LIB/COLORD:/SBIN/NOLOGIN
  UNBOUND:X:992:990:UNBOUND DNSRESOLVER:/ETC/UNBOUND:/SBIN/NOLOGIN
  SASLAUTH:X:993:76:SASLAUTHDUSER:/RUN/SASLAUTHD:/SBIN/NOLOGIN
  GEOCLUE:X:994:991:USER FORGEOCLUE:/VAR/LIB/GEOCLUE:/SBIN/NOLOGIN
  CHRONY:X:995:993::/VAR/LIB/CHRONY:/SBIN/NOLOGIN
  LIBSTORAGEMGMT:X:996:994:DAEMON ACCOUNT FORLIBSTORAGEMGMT:/VAR/RUN/LSM:/SBIN/NOLOGIN
  POLKITD:X:997:995:USER FORPOLKITD:/:/SBIN/NOLOGIN
  SYSTEMD-NETWORK:X:998:996:SYSTEMD NETWORKMANAGEMENT:/:/SBIN/NOLOGIN
  SYSTEMD-BUS-PROXY:X:999:997:SYSTEMD BUSPROXY:/:/SBIN/NOLOGIN
  NFSNOBODY:X:65534:65534:ANONYMOUS NFSUSER:/VAR/LIB/NFS:/SBIN/NOLOGIN
  [root@localhost ~]#
  4、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
  [root@localhost ~]# ifconfig
  eno16777736:flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
  inet 192.168.2.108  netmask255.255.255.0  broadcast 192.168.2.255
  inet6 fe80::20c:29ff:fe0d:4a8b prefixlen 64  scopeid0x20<link>
  ether 00:0c:29:0d:4a:8b txqueuelen 1000  (Ethernet)
  RX packets 2738  bytes 225114(219.8 KiB)
  RX errors 0  dropped 0  overruns 0 frame 0
  TX packets 1630  bytes 303519(296.4 KiB)
  TX errors 0  dropped 0 overruns0  carrier 0  collisions 0
  lo:flags=73<UP,LOOPBACK,RUNNING>  mtu65536
  inet 127.0.0.1  netmask 255.0.0.0
  inet6 ::1  prefixlen 128  scopeid 0x10<host>
  loop  txqueuelen 0 (Local Loopback)
  RX packets 4  bytes 340 (340.0 B)
  RX errors 0  dropped 0  overruns 0 frame 0
  TX packets 4  bytes 340 (340.0 B)
  TX errors 0  dropped 0 overruns0  carrier 0  collisions 0
  virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
  inet 192.168.122.1  netmask255.255.255.0  broadcast 192.168.122.255
  ether 52:54:00:47:81:6c txqueuelen 0  (Ethernet)
  RX packets 0  bytes 0 (0.0 B)
  RX errors 0  dropped 0  overruns 0 frame 0
  TX packets 0  bytes 0 (0.0 B)
  TX errors 0  dropped 0 overruns0  carrier 0  collisions 0
  [root@localhost ~]# ifconfig eno16777736 |head -2| tail -1 | cut -d' ' -f10
  192.168.2.108
  [root@localhost ~]# ifconfig eno16777736 |grep "inet\>" | cut -d' ' -f10
  192.168.2.108
  [root@localhost ~]# ifconfig eno16777736 |grep "inet\>"| cut -d' ' -f10
  192.168.2.108
  [root@localhost ~]# ifconfig eno16777736 |grep "inet\>"| cut -d' ' -f 10
  192.168.2.108
  [root@localhost ~]# ifconfig eno16777736 |grep 'inet\>' | egrep -o '[[:digit:].]+' | head -1
  192.168.2.108
  [root@localhost ~]# ifconfig eno16777736 |grep 'inet\>' | awk '{print $2}'
  192.168.2.108
  5、显示/var目录下一级子目录或文件的总个数。
  [root@localhost ~]# ls /var/|wc -l
  22
  [root@localhost ~]# ls /var/|tee 7.txt| wc-l
  22
  [root@localhost ~]# cat 7.txt
  account
  adm
  cache
  crash
  db
  empty
  games
  gopher
  kerberos
  lib
  local
  lock
  log
  mail
  nis
  opt
  preserve
  run
  spool
  target
  tmp
  yp
  [root@localhost ~]#
  6、取出/etc/group文件中第三个字段数值最小的10个组的名字。
  [root@localhost ~]# cat /etc/group
  root:x:0:
  bin:x:1:
  daemon:x:2:
  sys:x:3:
  adm:x:4:
  tty:x:5:
  disk:x:6:
  lp:x:7:
  mem:x:8:
  kmem:x:9:
  wheel:x:10:
  cdrom:x:11:
  mail:x:12:postfix
  man:x:15:
  dialout:x:18:
  floppy:x:19:
  games:x:20:
  tape:x:30:
  video:x:39:
  ftp:x:50:
  lock:x:54:
  audio:x:63:
  nobody:x:99:
  users:x:100:
  avahi-autoipd:x:170:
  utmp:x:22:
  utempter:x:35:
  ssh_keys:x:999:
  input:x:998:
  systemd-journal:x:190:
  systemd-bus-proxy:x:997:
  systemd-network:x:996:
  dbus:x:81:
  polkitd:x:995:
  abrt:x:173:
  libstoragemgmt:x:994:
  tss:x:59:
  dip:x:40:
  slocate:x:21:
  postdrop:x:90:
  postfix:x:89:
  chrony:x:993:
  sshd:x:74:
  ntp:x:38:
  tcpdump:x:72:
  stapusr:x:156:
  stapsys:x:157:
  stapdev:x:158:
  cgred:x:992:
  geoclue:x:991:
  usbmuxd:x:113:
  rpc:x:32:
  saslauth:x:76:
  rtkit:x:172:
  unbound:x:990:
  libvirt:x:989:
  pulse-access:x:988:
  pulse-rt:x:987:
  pulse:x:171:
  colord:x:986:
  kvm:x:36:qemu
  qemu:x:107:
  rpcuser:x:29:
  nfsnobody:x:65534:
  radvd:x:75:
  sssd:x:985:
  setroubleshoot:x:984:
  gdm:x:42:
  gnome-initial-setup:x:983:
  avahi:x:70:
  [root@localhost ~]# cat /etc/group |  sort -t: -k3 -n |head -10|cut -d: -f1
  root
  bin
  daemon
  sys
  adm
  tty
  disk
  lp
  mem
  kmem
  [root@localhost ~]#
  7、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
  [root@localhost ~]# cat /etc/fstab
  #
  # /etc/fstab
  # Created by anaconda on Sat Dec 10 00:21:072016
  #
  # Accessible filesystems, by reference, aremaintained under '/dev/disk'
  # See man pages fstab(5), findfs(8), mount(8)and/or blkid(8) for more info
  #
  /dev/mapper/centos-root /                       xfs     defaults        0 0
  UUID=5b8e0530-836a-4e22-96fe-2caec8a85d67/boot                   xfs     defaults        0 0
  /dev/mapper/centos-home /home                   xfs     defaults        0 0
  /dev/mapper/centos-swap swap                    swap    defaults        0 0
  [root@localhost ~]# cat /etc/issue
  \S
  Kernel \r on an \m
  [root@localhost ~]# cat /etc/fstab /etc/issue> /tmp/etc.test
  [root@localhost ~]# cat /tmp/etc.test
  #
  # /etc/fstab
  # Created by anaconda on Sat Dec 10 00:21:072016
  #
  # Accessible filesystems, by reference, are maintainedunder '/dev/disk'
  # See man pages fstab(5), findfs(8), mount(8)and/or blkid(8) for more info
  #
  /dev/mapper/centos-root /                       xfs     defaults        0 0
  UUID=5b8e0530-836a-4e22-96fe-2caec8a85d67/boot                   xfs     defaults       0 0
  /dev/mapper/centos-home /home                   xfs     defaults        0 0
  /dev/mapper/centos-swap swap                    swap    defaults        0 0
  \S
  Kernel \r on an \m
  [root@localhost ~]#
  8、请总结描述用户和组管理类命令的使用方法并完成以下练习:
  Linux系统用户账号的管理
  用户账号的管理工作主要涉及到用户账号的添加、修改和删除。
  添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被锁定的,无法使用。
  useradd可用来建立用户帐号。帐号建好之后,再用passwd设定帐号的密码.而可用userdel删除帐号。使用useradd指令所建立的帐号,实际上是保存在/etc/passwd文本文件中。
  添加新的用户
  useradd命令用于建立用户帐号
  语法:
  useradd [-mMnr][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-s <shell>][-u<uid>][用户帐号]
  选项:
  -c<备注>  加上备注文字。备注文字会保存在passwd的备注栏位中。
  -d<登入目录>  指定用户登入时的启始目录。
  -D  变更预设值.
  -e<有效期限>  指定帐号的有效期限。
  -f<缓冲天数>  指定在密码过期后多少天即关闭该帐号。
  -g<群组>  指定用户所属的群组。
  -G<群组>  指定用户所属的附加群组。
  -m  自动建立用户的登入目录。
  -M  不要自动建立用户的登入目录。
  -n  取消建立以用户名称为名的群组.
  -r  建立系统帐号。
  -s<shell>  指定用户登入后所使用的shell。
  -u<uid>  指定用户ID。
  删除帐号
  如果一个用户的账号不再使用,可以从系统中删除。删除用户账号就是要将/etc/passwd等系统文件中的该用户记录删除,必要时还删除用户的主目录。
  userdel命令用于删除用户帐号。
  userdel可删除用户帐号与相关的文件。若不加参数,则仅删除用户帐号,而不删除相关文件。
  其格式如下:
  userdel [-f][-r][用户帐号]
  选项:
  -f:强制删除用户,即使用户当前已登录;
  -r:删除用户的同时,删除与用户相关的所有文件。
参数:
  用户名:要删除的用户名。
  修改用户信息
  usermod命令用于修改用户的基本信息。usermod命令不允许你改变正在线上的使用者帐号名称。当usermod命令用来改变user id,必须确认这名user没在电脑上执行任何程序。你需手动更改使用者的crontab档。也需手动更改使用者的at工作档。采用NIS server须在server上更动相关的NIS设定。
  语法 usermod [-LU][-c <备注>][-d <登入目录>][-e <有效期限>][-f <缓冲天数>][-g <群组>][-G <群组>][-l <帐号名称>][-s <shell>][-u <uid>][用户帐号]
  选项:
  -c<备注>:修改用户帐号的备注文字;
  -d<登入目录>:修改用户登入时的目录;
  -e<有效期限>:修改帐号的有效期限;
  -f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
  -g<群组>:修改用户所属的群组;
  -G<群组>;修改用户所属的附加群组;
  -l<帐号名称>:修改用户帐号名称;
  -L:锁定用户密码,使密码无效;
  -s:修改用户登入后所使用的shell;
  -u:修改用户ID;
  -U:解除密码锁定。
  参数:
  登录名:指定要修改信息的用户登录名。
  用户口令的管理
  passwd命令用于设置用户的认证信息,包括用户密码、密码过期时间等。系统管理者则能用它管理系统用户的密码。
  只有管理者可以指定用户名称,一般用户只能变更自己的密码。
  语法:passwd[-k] [-l] [-u [-f]] [-d] [-n mindays] [-x maxdays] [-w warndays][-iinactivedays] [-S] [--stdin] [username]
  选项:
  -k:用于更改用户的有效口令,无效口令则保留原来的状态
  -l:锁定用户的口令
  -u:解锁,linux不允许创建密码为空的用户,-f可以解除这种保护
  -d:删除使用者的密码, 只有具备超级用户权限的使用者方可使用
  -n mindays:修改密码的最小天数,也就是mindays内不能再次修改密码
  -x maxdays:修改密码的最大天数,也就是maxdays天之后必须修改密码
  -i inactivedays:密码有效期
  -w warndays:密码过期警告时间
  -S:显示简短密码的信息
  --stdin:从标准输入中读入新密码(此时可以看见设置的密码)
  参数:
  用户名:需要设置密码的用户名。
  显示用户的ID
  id命令用于显示用户的ID,以及所属群组的ID。
  id会显示用户以及所属群组的实际与有效ID。若两个ID相同,则仅显示实际ID。若仅指定用户名称,则显示目前用户的ID。
  语法:id[-gGnru][--help][--version][用户名称]
  参数说明:
  -g或--group  显示用户所属群组的ID。
  -G或--groups  显示用户所属附加群组的ID。
  -n或--name  显示用户,所属群组或附加群组的名称。
  -r或--real  显示实际ID。
  -u或--user  显示用户ID。
  -help  显示帮助。
  -version  显示版本信息。
  切换用户或以其他用户身份执行命令
  su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。
  语法:su[-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
  参数说明:
  -f 或 --fast 不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh
  -m -p 或 --preserve-environment 执行 su 时不改变环境变数
  -c command 或 --command=command 变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者
  -s shell 或 --shell=shell 指定要执行的 shell (bash csh tcsh 等),预设值为 /etc/passwd 内的该使用者(USER) shell
  --help 显示说明文件
  --version 显示版本资讯
  - -l 或 --login 这个参数加了之后,就好像是重新 login 为该使用者一样,大部份环境变数(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定 USER ,内定是 root
  USER 欲变更的使用者帐号
  ARG 传入新的 shell 参数
  检查用户密码文件的完整性
  pwck命令用于检查用户密码文件的完整性(/etc/passwd以及/etc/shadow文件)。
用法:pwck[-q] [-s] [passwd [ shadow ]]
     pwck [-q] [-r] [passwd shadow]
参数:
-q:只显示错误信息,警告不显示
-s:按id排序
-r:只读方式检查
  修改帐号和密码的有效期限
  chage命令是用来修改帐号和密码的有效期限。
  语法:chage[选项] 用户名
  选项-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
  -M:密码保持有效的最大天数。 -w:用户密码到期前,提前收到警告信息的天数。
  -E:帐号到期的日期。过了这天,此帐号将不可用。
  -d:上一次更改的日期。
  -i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
  -l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。
  换登录系统时使用的shell
  chsh命令用来更换登录系统时使用的shell。
  若不指定任何参数与用户名称,则chsh会以应答的方式进行设置。
  语法:chsh(选项)(参数)
  选项:
  -s或--shell:更改系统预设的shell环境;
  -l或--list-shells:列出目前系统可用的shell清单;
  -u或--help:在线帮助;
  -v或-version:显示版本信息。
  查询其他使用者的资料
  finger命令可以让使用者查询一些其他使用者的资料。会列出来的资料有:
  Login Name
  User Name
  Home directory
  Shell
  Login status
  mail status
  .plan
  .project
  .forward
  其中.plan、.project和 .forward 就是使用者在他的 HomeDirectory 里的.plan ,.project 和.forward 等档案里的资料。
  如果没有就没有。finger指令并不限定于在同一服务器上查询,也可以寻找某一个远端服务器上的使用者。只要给一个像是E-mail address 一般的地址即可。
  语法:finger[options] user[@address]
  参数说明:
  -l  多行显示。
  -s  单行显示。这个选项只显示登入名称、真实姓名、终端机名称、闲置时间、登入时间、办公室号码及电话号码。如果所查询的使用者是远端服务器的使用者,这个选项无效。
  改变finger命令显示的信息
  chfn命令用来改变finger命令显示的信息。
  这些信息都存放在/etc目录里的passwd文件里。
  若不指定任何选项,则chfn命令会进入问答式界面。
  语法:chfn(选项)(参数)
  选项:
  -f<真实姓名>或--full-name<真实姓名>:设置真实姓名;
  -h<家中电话>或--home-phone<家中电话>:设置家中的电话号码;
  -o<办公地址>或--office<办公地址>:设置办公室的地址;
  -p<办公电话>或--office-phone<办公电话>:设置办公室的电话号码;
  -u或--help:在线帮助;
  -v或-version:显示版本信息。
  参数:
  用户名:指定要改变finger信息的用户名。
  Linux系统用户组的管理
  每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理。不同Linux系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个用户组在创建用户时同时创建。
  用户组的管理涉及用户组的添加、删除和修改。组的增加、删除和修改实际上就是对/etc/group文件的更新。
  添加新的用户组
  groupadd命令用于将新组加入系统。
  groupadd
  语法:groupadd[-g gid] [-o]] [-r] [-f] groupname
  参数:
  -g gid:指定组ID号。
  -r:创建系统工作组。
  (系统工作组CentOS6: ID小于500;CentOS 7: ID小于1000)
  删除群组
  Linux groupdel命令用于删除群组。
  需要从系统上删除群组时,可用groupdel(groupdelete)指令来完成这项工作。倘若该群组中仍包括某些用户,则必须先删除这些用户后,方能删除群组。
  语法:groupdel[群组名称]修改用户组的属性
  更改群组识别码或名称
  groupmod命令用于更改群组识别码或名称。
  需要更改群组的识别码或名称时,可用groupmod指令来完成这项工作。
  语法:
  groupmod [-g <群组识别码> <-o>][-n <新群组名称>][群组名称]
  参数:
  -g <群组识别码>  设置欲使用的群组识别码。
  -o  重复使用群组识别码。
  -n <新群组名称>  设置欲使用的群组名称。
  用户组切换
  newgrp命令用于登入另一个群组。
  newgrp指令类似login指令,当它是以相同的帐号,另一个群组名称,再次登入系统。
  欲使用newgrp指令切换群组,您必须是该群组的用户,否则将无法登入指定的群组。单一用户要同时隶属多个群组,需利用交替用户的设置。若不指定群组名称,则newgrp指令会登入该用户名称的预设群组。
  语法:newgrp[群组名称]
  组文件管理工具
  gpasswd命令是Linux下工作组文件/etc/group和/etc/gshadow管理工具。
  用法:gpasswd[-auser][-d user][-A user,...][-M user,...][-r][-R]groupname
  参数:
  -a:添加用户到组
  -d:从组删除用户
  -A:指定管理员
  -M:指定组成员和-A的用途差不多
  -r:删除密码
  -R:限制用户登入组,只有组中的成员才可以用newgrp加入该组
  grpck命令功能:检查用户组及密码文件的完整性(etc/group以及/etc/gshadow文件)
用法:grpck [-r] [group [ shadow ]]
      grpck [-s] [group [ shadow ]]
  参数:
-q:只显示错误信息,警告不显示
-s:按id排序
-r:只读方式检查
  与用户账号有关的系统文件
  完成用户管理的工作有许多种方法,但是每一种方法实际上都是对有关的系统文件进行修改。
  与用户和用户组相关的信息都存放在一些系统文件中,这些文件包括/etc/passwd,/etc/shadow, /etc/group等。
  下面分别介绍这些文件的内容:
  /etc/passwd文件是用户管理工作涉及的最重要的一个文件。
  Linux系统中的每个用户都在/etc/passwd文件中有一个对应的记录行,它记录了这个用户的一些基本属性。
  这个文件对所有用户都是可读的。它的内容类似下面的例子:
  #cat /etc/passwd
  root:x:0:0:Superuser:/:
  daemon:x:1:1:System daemons:/etc:
  bin:x:2:2:Owner of system commands:/bin:
  sys:x:3:3:Owner of system files:/usr/sys:
  adm:x:4:4:System accounting:/usr/adm:
  uucp:x:5:5:UUCP administrator:/usr/lib/uucp:
  auth:x:7:21:Authenticationadministrator:/tcb/files/auth:
  cron:x:9:16:Cron daemon:/usr/spool/cron:
  listen:x:37:4:Network daemon:/usr/net/nls:
  lp:x:71:18:Printeradministrator:/usr/spool/lp:
  sam:x:200:50:Sam san:/usr/sam:/bin/sh从上面的例子我们可以看到,/etc/passwd中一行记录对应着一个用户,每行记录又被冒号(:)分隔为7个字段,其格式和具体含义如下:
  用户名:口令:用户标识号:组标识号:注释性描述:主目录:登录Shell
  "用户名"是代表用户账号的字符串。
  通常长度不超过8个字符,并且由大小写字母和/或数字组成。登录名中不能有冒号(:),因为冒号在这里是分隔符。
  为了兼容起见,登录名中最好不要包含点字符(.),并且不使用连字符(-)和加号(+)打头。
  “口令”一些系统中,存放着加密后的用户口令字。
  虽然这个字段存放的只是用户口令的加密串,不是明文,但是由于/etc/passwd文件对所有用户都可读,所以这仍是一个安全隐患。因此,现在许多Linux系统(如SVR4)都使用了shadow技术,把真正的加密后的用户口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一个特殊的字符,例如“x”或者“*”。
  “用户标识号”是一个整数,系统内部用它来标识用户。
  一般情况下它与用户名是一一对应的。如果几个用户名对应的用户标识号是一样的,系统内部将把它们视为同一个用户,但是它们可以有不同的口令、不同的主目录以及不同的登录Shell等。
  通常用户标识号的取值范围是0~65 535。0是超级用户root的标识号,1~99由系统保留,作为管理账号,普通用户的标识号从100开始。在Linux系统中,这个界限是500。
  “组标识号”字段记录的是用户所属的用户组。
  它对应着/etc/group文件中的一条记录。
  “注释性描述”字段记录着用户的一些个人情况。
  例如用户的真实姓名、电话、地址等,这个字段并没有什么实际的用途。在不同的Linux系统中,这个字段的格式并没有统一。在许多Linux系统中,这个字段存放的是一段任意的注释性描述文字,用做finger命令的输出。
  “主目录”,也就是用户的起始工作目录。
  它是用户在登录到系统之后所处的目录。在大多数系统中,各用户的主目录都被组织在同一个特定的目录下,而用户主目录的名称就是该用户的登录名。各用户对自己的主目录有读、写、执行(搜索)权限,其他用户对此目录的访问权限则根据具体情况设置。
  用户登录后,要启动一个进程,负责将用户的操作传给内核,这个进程是用户登录到系统后运行的命令解释器或某个特定的程序,即Shell。
  Shell是用户与Linux系统之间的接口。Linux的Shell有许多种,每种都有不同的特点。常用的有sh(Bourne Shell), csh(C Shell),ksh(Korn Shell), tcsh(TENEX/TOPS-20 type C Shell), bash(Bourne Again Shell)等。
  系统管理员可以根据系统情况和用户习惯为用户指定某个Shell。如果不指定Shell,那么系统使用sh为默认的登录Shell,即这个字段的值为/bin/sh。
  用户的登录Shell也可以指定为某个特定的程序(此程序不是一个命令解释器)。
  利用这一特点,我们可以限制用户只能运行指定的应用程序,在该应用程序运行结束后,用户就自动退出了系统。有些Linux系统要求只有那些在系统中登记了的程序才能出现在这个字段中。
  由于/etc/passwd文件是所有用户都可读的,如果用户的密码太简单或规律比较明显的话,一台普通的计算机就能够很容易地将它破解,因此对安全性要求较高的Linux系统都把加密后的口令字分离出来,单独存放在一个文件中,这个文件是/etc/shadow文件。 有超级用户才拥有该文件读权限,这就保证了用户密码的安全性。
  /etc/shadow中的记录行与/etc/passwd中的一一对应,它由pwconv命令根据/etc/passwd中的数据自动产生
  它的文件格式与/etc/passwd类似,由若干个字段组成,字段之间用":"隔开。这些字段是:
  登录名:加密口令:最后一次修改时间:最小时间间隔:最大时间间隔:警告时间:不活动时间:失效时间:标志
  "登录名"是与/etc/passwd文件中的登录名相一致的用户账号
  "口令"字段存放的是加密后的用户口令字,长度为13个字符。如果为空,则对应用户没有口令,登录时不需要口令;如果含有不属于集合 {./0-9A-Za-z }中的字符,则对应的用户不能登录。
  "最后一次修改时间"表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux 中,这个时间起点是1970年1月1日。
  "最小时间间隔"指的是两次修改口令之间所需的最小天数。
  "最大时间间隔"指的是口令保持有效的最大天数。
  "警告时间"字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
  "不活动时间"表示的是用户没有登录活动但账号仍能保持有效的最大天数。
  "失效时间"字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。
  下面是/etc/shadow的一个例子:
  #cat /etc/shadow
  root:Dnakfw28zf38w:8764:0:168:7:::
  daemon:*::0:0::::
  bin:*::0:0::::
  sys:*::0:0::::
  adm:*::0:0::::
  uucp:*::0:0::::
  nuucp:*::0:0::::
  auth:*::0:0::::
  cron:*::0:0::::
  listen:*::0:0::::
  lp:*::0:0::::
  sam:EkdiSECLWPdSa:9740:0:0::::
  用户组的所有信息都存放在/etc/group文件中。
  将用户分组是Linux系统中对用户进行管理及控制访问权限的一种手段。
  每个用户都属于某个用户组;一个组中可以有多个用户,一个用户也可以属于不同的组。
  当一个用户同时是多个组中的成员时,在/etc/passwd文件中记录的是用户所属的主组,也就是登录时所属的默认组,而其他组称为附加组。
  用户要访问属于附加组的文件时,必须首先使用newgrp命令使自己成为所要访问的组中的成员。
  用户组的所有信息都存放在/etc/group文件中。此文件的格式也类似于/etc/passwd文件,由冒号(:)隔开若干个字段,这些字段有:
  组名:口令:组标识号:组内用户列表
  "组名"是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。
  "口令"字段存放的是用户组加密后的口令字。一般Linux 系统的用户组都没有口令,即这个字段一般为空,或者是*。
  "组标识号"与用户标识号类似,也是一个整数,被系统内部用来标识组。
  "组内用户列表"是属于这个组的所有用户的列表/b],不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。
  /etc/group文件的一个例子如下:
  root::0:root
  bin::2:root,bin
  sys::3:root,uucp
  adm::4:root,adm
  daemon::5:root,daemon
  lp::7:root,lp
  users::20:root,sam
  (1)、创建组distro,其GID为2016;
  [root@localhost ~]# groupadd -g 2016 distro
[root@localhost ~]# cat /etc/group|grepdistro
distro:x:2016:
  [root@localhost ~]#
  (2)、创建用户mandriva, 其ID号为1005;基本组为distro;
  [root@localhost ~]# useradd -u 1005 -gdistro mandriva
[root@localhost ~]# cat /etc/passwd|grepmandriva
mandriva:x:1005:2016::/home/mandriva:/bin/bash
[root@localhost ~]# groups mandriva
mandriva : distro
[root@localhost ~]#
  (3)、创建用户mageia,其ID号为1100,家目录为/home/linux;
  [root@localhost ~]# useradd -u 1100 -d/home/linux mageia
[root@localhost ~]# cat /etc/passwd|grepmageia
mageia:x:1100:1100::/home/linux:/bin/bash
[root@localhost ~]#
  (4)、给用户mageia添加密码,密码为mageedu;
  1.
  [root@localhost ~]# passwd mageia
  更改用户 mageia 的密码。
  新的密码:
  重新输入新的密码:
  passwd:所有的身份验证令牌已经成功更新。
  [root@localhost ~]# passwd -S mageia
  mageia PS 2016-12-24 0 99999 7 -1 (密码已设置,使用SHA512 算法。)
  2.
  [root@localhost ~]# echo 'mageedu' | passwd--stdin mageia
  更改用户 mageia 的密码。
  passwd:所有的身份验证令牌已经成功更新。
  [root@localhost ~]# cat /etc/passwd|grepmageia
  mageia:x:1100:1100::/home/linux:/bin/bash
  [root@localhost ~]#
  3.
  [root@localhost ~]# passwd --stdin mageia
  更改用户 mageia 的密码。
  mageedu
  passwd:所有的身份验证令牌已经成功更新。
  (5)、删除mandriva,但保留其家目录;
  [root@localhost ~]# cat /etc/passwd
  root:x:0:0:root:/root:/bin/bash
  bin:x:1:1:bin:/bin:/sbin/nologin
  daemon:x:2:2:daemon:/sbin:/sbin/nologin
  adm:x:3:4:adm:/var/adm:/sbin/nologin
  lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  sync:x:5:0:sync:/sbin:/bin/sync
  ...
  ...
  gnome-initial-setup:x:988:983::/run/gnome-initial-setup/:/sbin/nologin
  avahi:x:70:70:Avahi mDNS/DNS-SDStack:/var/run/avahi-daemon:/sbin/nologin
  mandriva:x:1005:2016::/home/mandriva:/bin/bash
  mageia:x:1100:1100::/home/linux:/bin/bash
  [root@localhost ~]# userdel mandriva
  [root@localhost ~]# cat /etc/passwd
  root:x:0:0:root:/root:/bin/bash
  bin:x:1:1:bin:/bin:/sbin/nologin
  daemon:x:2:2:daemon:/sbin:/sbin/nologin
  adm:x:3:4:adm:/var/adm:/sbin/nologin
  lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
  sync:x:5:0:sync:/sbin:/bin/sync
  ...
  ...
  gnome-initial-setup:x:988:983::/run/gnome-initial-setup/:/sbin/nologin
  avahi:x:70:70:Avahi mDNS/DNS-SDStack:/var/run/avahi-daemon:/sbin/nologin
  mageia:x:1100:1100::/home/linux:/bin/bash
  (6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
  [root@localhost ~]# groupadd peguin
  [root@localhost ~]# useradd -u 2002 -gdistro -G peguin slackware
  [root@localhost ~]# cat /etc/passwd|grepslackware
  slackware:x:2002:2016::/home/slackware:/bin/bash
  [root@localhost ~]# groups slackware
  slackware : distro peguin
  (7)、修改slackware的默认shell为/bin/tcsh;
  [root@localhost ~]# usermod -s /bin/tcshslackware
  [root@localhost ~]# cat /etc/passwd|grepslackware
  slackware:x:2002:2016::/home/slackware:/bin/tcsh
  [root@localhost ~]#
  (8)、为用户slackware新增附加组admins;
  [root@localhost ~]# groupadd admins
  [root@localhost ~]# usermod -a -G adminsslackware
  [root@localhost ~]# groups slackware
  slackware : distro peguin admins
  [root@localhost ~]#
  (9)、为slackware添加密码,且要求密码最短使用期限为3天,最长为180天,警告为3天;
  [root@localhost ~]# passwd --stdinslackware
  更改用户 slackware 的密码。
  mageedu
  passwd:所有的身份验证令牌已经成功更新。
  [root@localhost ~]# passwd -n 3 -x 180 -w 3slackware
  调整用户密码老化数据slackware。
  passwd: 操作成功
  [root@localhost ~]#
  (10)、添加用户openstack,其ID号为3003, 基本组为clouds,附加组为peguin和nova;
  [root@localhost ~]# groupadd clouds
  [root@localhost ~]# groupadd nova
  [root@localhost ~]# useradd -u 3003 -gclouds -G peguin,nova openstack
  [root@localhost ~]# cat /etc/passwd|grepopenstack
  openstack:x:3003:2019::/home/openstack:/bin/bash
  [root@localhost ~]# groups openstack
  openstack : clouds peguin nova
  [root@localhost ~]#
  (11)、添加系统用户mysql,要求其shell为/sbin/nologin;
  [root@localhost ~]# useradd -r -s/sbin/nologin mysql
  [root@localhost ~]# cat /etc/passwd|grepmysql
  mysql:x:987:982::/home/mysql:/sbin/nologin
  [root@localhost ~]#
  (12)、使用echo命令,非交互式为openstack添加密码。
  [root@localhost ~]# echo 'openstack' |passwd --stdin openstack
  更改用户 openstack 的密码。
  passwd:所有的身份验证令牌已经成功更新。
  [root@localhost ~]#
  9、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。
  [root@localhost ~]# cp -a /etc/skel/home/tuser1
  [root@localhost ~]# chmod g-x /home/tuser1/
  [root@localhost ~]# chmod o-x /home/tuser1/
  [root@localhost ~]#
  Linux/Unix的文件调用权限分为三级 : 文件拥有者、群组、其他。利用 chmod 可以藉以控制文件如何被他人所调用。
  语法:
  chmod [-cfvR] [--help] [--version] modefile...
  参数说明:
  mode : 权限设定字串,格式如下 :
  [ugoa...][[+-=][rwxX]...][,...]
  其中:
  u 表示该文件的拥有者;g 表示与该文件的拥有者属于同一个群体(group)者;o 表示其他以外的人;a 表示这三者皆是。
  + 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
  r 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该文件是个子目录或者该文件已经被设定过为可执行。
  -c : 若该文件权限确实已经更改,才显示其更改动作
  -f : 若该文件权限无法被更改也不要显示错误讯息
  -v : 显示权限变更的详细资料
  -R : 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
  --help : 显示辅助说明
  --version : 显示版本
  10、显示/proc/meminfo文件中以大写或小写S开头的行;用两种方式;
  [root@localhost ~]# grep "^[Ss]" /proc/meminfo
SwapCached:            0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Shmem:              9096 kB
Slab:              65656 kB
SReclaimable:      24784 kB
SUnreclaim:        40872 kB
[root@localhost ~]#
  
  [root@localhost ~]# grep -i '^s'/proc/meminfo
SwapCached:            0 kB
SwapTotal:       2097148 kB
SwapFree:        2097148 kB
Shmem:              9096 kB
Slab:              65640 kB
SReclaimable:      24752 kB
SUnreclaim:        40888 kB
  [root@localhost ~]#
  11、显示/etc/passwd文件中其默认shell为非/sbin/nologin的用户;
  [root@localhost ~]# grep -v'/sbin/nologin$' /etc/passwd | cut -d: -f1
root
sync
shutdown
halt
mageia
slackware
openstack
[root@localhost ~]#
  
  
[root@localhost ~]# egrep"[^/sbin/nologin]$" /etc/passwd | cut -d: -f1
root
sync
halt
mageia
slackware
openstack
[root@localhost ~]#
  12、显示/etc/passwd文件中其默认shell为/bin/bash的用户;
  [root@localhost ~]# grep '/bin/bash$'/etc/passwd | cut -d: -f1
root
mageia
openstack
  13、找出/etc/passwd文件中的一位数或两位数;
  1.
  [root@localhost ~]# grep'\<[[:digit:]]\{1,2\}\>' /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsddaemon:/dev/null:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
saslauth:x:993:76:Saslauthduser:/run/saslauthd:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SDStack:/var/run/avahi-daemon:/sbin/nologin
[root@localhost ~]#


  2.
  [root@localhost ~]# grep'\<[0-9]\{1,2\}\>' /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsddaemon:/dev/null:/sbin/nologin
postfix:x:89:89::/var/spool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
ntp:x:38:38::/etc/ntp:/sbin/nologin
tcpdump:x:72:72::/:/sbin/nologin
rpc:x:32:32:Rpcbind Daemon:/var/lib/rpcbind:/sbin/nologin
saslauth:x:993:76:Saslauthduser:/run/saslauthd:/sbin/nologin
rpcuser:x:29:29:RPC Service User:/var/lib/nfs:/sbin/nologin
radvd:x:75:75:radvd user:/:/sbin/nologin
gdm:x:42:42::/var/lib/gdm:/sbin/nologin
avahi:x:70:70:Avahi mDNS/DNS-SDStack:/var/run/avahi-daemon:/sbin/nologin
[root@localhost ~]#
  14、显示/etc/rc.d/rc.sysinit文件中以#开头,后面跟至少一个空白字符,而后又有至少一个非空白字符的行;
  [root@localhost ~]# grep'^#[[:space:]]\+[^[:space:]]\+' /etc/rc.d/rc.sysinit
grep: /etc/rc.d/rc.sysinit: 没有那个文件或目录
[root@localhost ~]# ls /etc/rc.d/
init.d  rc0.d  rc1.d  rc2.d  rc3.d  rc4.d  rc5.d  rc6.d  rc.local
  [root@localhost ~]# grep '#[[:space:]]\+[^[:space:]]\+'/etc/rc.d/rc.local
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
[root@localhost ~]#
  15、打出netstat -tan命令执行结果中以‘LISTEN’,后或跟空白字符结尾的行;
  [root@localhost ~]# netstat -tan | grep"LISTEN[[:space:]]\+$"
tcp       0      0 192.168.122.1:53        0.0.0.0:*               LISTEN     
tcp       0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp       0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp       0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp       0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN     
tcp6      0      0 :::22                   :::*                    LISTEN     
tcp6      0      0 ::1:631                 :::*                    LISTEN     
tcp6      0      0 ::1:25                  :::*                    LISTEN     
tcp6      0      0 ::1:6010                :::*                    LISTEN     
[root@localhost ~]#
  16、添加用户bash, testbash,basher, nologin (此一个用户的shell为/sbin/nologin),而后找出当前系统上其用户名和默认shell相同的用户的信息;
  [root@localhost ~]# useradd bash
[root@localhost ~]# useradd testbash
[root@localhost ~]# useradd basher
[root@localhost ~]# useradd -s/sbin/nologin nologin
[root@localhost ~]# grep'\(\<[[:alnum:]]\+\>\).*\1$' /etc/passwd
sync:x:5:0:sync:/sbin:/bin/sync
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
halt:x:7:0:halt:/sbin:/sbin/halt
bash:x:3004:3004::/home/bash:/bin/bash
nologin:x:3007:3007::/home/nologin:/sbin/nologin
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-461705-1-1.html 上篇帖子: Linux命令:http应用 下篇帖子: linux系统分区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表