天天看點

全新Linux+Python高端運維班-Linux使用者建立及權限管理

第三周作業内容:

1、列出目前系統上所有已經登入的使用者的使用者名,注意:同一個使用者登入多次,則隻顯示一次即可。

<code>    </code><code>[root@liu ~]</code><code># who | cut -d' ' -f1 | sort -u </code>

<code>    </code><code>centos</code>

<code>    </code><code>liu</code>

<code>    </code><code>root</code>

2、取出最後登入到目前系統的使用者的相關資訊。

<code>    </code><code>第一種方式:</code>

<code>        </code><code>[root@liu ~]</code><code># last | head -n1</code>

<code>        </code><code>liu      tty8         :2               Sun Aug 21 10:26   still logged </code><code>in</code> 

<code>    </code><code>第二種方式:</code>

<code>        </code><code>[root@liu ~]</code><code># who | tail -n1</code>

<code>        </code><code>liu      tty8         2016-08-21 10:26 (:2)</code>

3、取出目前系統上被使用者當作其預設shell的最多的那個shell。

<code>    </code><code>[root@liu ljohn]</code><code>#  cut -d: -f7 /etc/passwd | uniq -c | sort -n | tail -n1</code>

<code>         </code><code>25 </code><code>/sbin/nologin</code>

    Note:/etc/passwd  name:password:UID:GID:GECOS:directory:shell

4、将/etc/passwd 中的第三個字段數值最大的後10個使用者的資訊全部改為大寫後儲存至/tmp/maxusers.txt檔案中。

<code> </code><code>[root@liu ljohn]</code><code># sort -t: -k3 -n /etc/passwd | tail -10 | tr 'a-z' 'A-Z' &gt; /tmp/maxusers.txt</code>

<code>    </code><code>[root@liu ljohn]</code><code># cat /tmp/maxusers.txt </code>

<code>    </code><code>RTKIT:X:499:497:REALTIMEKIT:</code><code>/PROC</code><code>:</code><code>/SBIN/NOLOGIN</code>

<code>    </code><code>LIU:X:500:500:LIUJIAN:</code><code>/HOME/LIU</code><code>:</code><code>/BIN/BASH</code>

<code>    </code><code>BASH:X:501:501::</code><code>/HOME/BASH</code><code>:</code><code>/BIN/BASH</code>

<code>    </code><code>BASHER:X:502:502::</code><code>/HOME/BASHER</code><code>:</code><code>/BIN/BASH</code>

<code>    </code><code>TESTBASH:X:503:503::</code><code>/HOME/TESTBASH</code><code>:</code><code>/BIN/BASH</code>

<code>    </code><code>NOLOGIN:X:504:504::</code><code>/HOME/NOLOGIN</code><code>:</code><code>/SBIN/NOLOGIN</code>

<code>    </code><code>USER1:X:505:505::</code><code>/HOME/USER1</code><code>:</code><code>/BIN/BASH</code>

<code>    </code><code>CENTOS:X:506:506::</code><code>/HOME/CENTOS</code><code>:</code><code>/BIN/BASH</code>

<code>    </code><code>USERADD1:X:507:507::</code><code>/HOME/USERADD1</code><code>:</code><code>/BIN/BASH</code>

<code>    </code><code>NFSNOBODY:X:65534:65534:ANONYMOUS NFS USER:</code><code>/VAR/LIB/NFS</code><code>:</code><code>/SBIN/NOLOGIN</code>

5、取出目前主機的IP位址,提示:對ifconfig指令的結果進行切分。

<code>[root@liu ljohn]</code><code># ifconfig eth1</code>

<code>    </code><code>eth1      Link encap:Ethernet  HWaddr 00:0C:29:45:CC:5E  </code>

<code>              </code><code>inet addr:192.168.188.21  Bcast:192.168.188.255  Mask:255.255.255.0</code>

<code>              </code><code>inet6 addr: fe80::20c:29ff:fe45:cc5e</code><code>/64</code> <code>Scope:Link</code>

<code>              </code><code>UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1</code>

<code>              </code><code>RX packets:5871 errors:0 dropped:0 overruns:0 frame:0</code>

<code>              </code><code>TX packets:2355 errors:0 dropped:0 overruns:0 carrier:0</code>

<code>              </code><code>collisions:0 txqueuelen:1000 </code>

<code>              </code><code>RX bytes:486015 (474.6 KiB)  TX bytes:259218 (253.1 KiB)</code>

<code>              </code><code>Interrupt:19 Base address:0x2000 </code>

<code>[root@liu ljohn]</code><code># ifconfig eth1 | head -n2 | tail -n1 | cut -d: -f2 | cut -d' ' -f1</code>

<code>    </code><code>192.168.188.21</code>

6、列出/etc目錄下所有以.conf結尾的檔案的檔案名,并将其名字轉換為大寫後儲存至/tmp/etc.conf檔案中。

<code> </code><code>[root@liu ljohn]</code><code># ls /etc/*.conf | tr 'a-z' 'A-Z' &gt; /tmp/etc.test</code>

<code>    </code><code>[root@liu ljohn]</code><code># cat /tmp/etc.test </code>

<code>    </code><code>/ETC/ASOUND</code><code>.CONF</code>

<code>    </code><code>/ETC/AUTOFS_LDAP_AUTH</code><code>.CONF</code>

<code>    </code><code>/ETC/CAS</code><code>.CONF</code>

<code>    </code><code>/ETC/DNSMASQ</code><code>.CONF</code>

<code>    </code><code>/ETC/DRACUT</code><code>.CONF</code>

<code>    </code><code>/ETC/FPRINTD</code><code>.CONF</code>

<code>    </code><code>/ETC/GAI</code><code>.CONF</code>

<code>    </code><code>/ETC/GRUB</code><code>.CONF</code>

<code>    </code><code>/ETC/GSSAPI_MECH</code><code>.CONF</code>

<code>        </code><code>.</code>

7、顯示/var目錄下一級子目錄或檔案的總個數。

<code>  </code><code>[root@liu ljohn]</code><code># ls /var | wc -l  </code>

<code>    </code><code>21</code>

8、取出/etc/group檔案中第三個字段數值最小的10個組的名字。

<code>[root@liu ljohn]</code><code># sort -t: -k3 -n /etc/group | head -10 | cut -d: -f1 </code>

<code>    </code><code>bin</code>

<code>    </code><code>daemon</code>

<code>    </code><code>sys</code>

<code>    </code><code>adm</code>

<code>    </code><code>tty</code>

<code>    </code><code>disk</code>

<code>    </code><code>lp</code>

<code>    </code><code>mem</code>

<code>    </code><code>kmem</code>

9、将/etc/fstab和/etc/issue檔案的内容合并為同一個内容後儲存至/tmp/etc.test檔案中。

<code>  </code><code>[root@liu ljohn]</code><code># cat /etc/fstab  /etc/issue &gt; /tmp/etc.test </code>

<code>    </code><code>#</code>

<code>    </code><code># /etc/fstab</code>

<code>    </code><code># Created by anaconda on Thu Feb 12 05:17:12 2015</code>

<code>    </code><code># Accessible filesystems, by reference, are maintained under '/dev/disk'</code>

<code>    </code><code># See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info</code>

<code>    </code><code>UUID=3fcabd0f-e9fb-4618-918d-c9e004fe6a59 /                       ext4    defaults        1 1</code>

<code>    </code><code>UUID=234cc62b-7746-477d-ad58-8fb2448b9788 </code><code>/boot</code>                   <code>ext3    defaults        1 2</code>

<code>    </code><code>UUID=b2c5da64-87b4-44c0-8864-f4a006b824fc swap                    swap    defaults        0 0</code>

<code>    </code><code>tmpfs                   </code><code>/dev/shm</code>                <code>tmpfs   defaults        0 0</code>

<code>    </code><code>devpts                  </code><code>/dev/pts</code>                <code>devpts  gid=5,mode=620  0 0</code>

<code>    </code><code>sysfs                   </code><code>/sys</code>                    <code>sysfs   defaults        0 0</code>

<code>    </code><code>proc                    </code><code>/proc</code>                   <code>proc    defaults        0 0</code>

<code>    </code><code>CentOS release 6.5 (Final)</code>

<code>    </code><code>Kernel \r on an \m</code>

10、請總結描述使用者群組管理類指令的使用方法并完成以下練習:

   (1)、建立組distro,其GID為2016;

<code>        </code><code>[root@liu ljohn]</code><code># groupadd -g 2016 distro </code>

<code>        </code><code>[root@liu ljohn]</code><code># tail -1 /etc/group</code>

<code>        </code><code>distro:x:2016:</code>

   (2)、建立使用者mandriva, 其ID号為1005;基本組為distro;     

<code>[root@liu ljohn]</code><code># useradd -u 1005 -g 2016 mandirva</code>

<code>        </code><code>[root@liu ljohn]</code><code># id mandirva</code>

<code>        </code><code>uid=1005(mandirva) gid=2016(distro) 組=2016(distro)</code>

   (3)、建立使用者mageia,其ID号為1100,家目錄為/home/linux;

<code> </code><code>[root@liu ljohn]</code><code># useradd -u 1100 -d /home/linux mageia</code>

<code>        </code><code>[root@liu ljohn]</code><code># id mageia</code>

<code>        </code><code>uid=1100(mageia) gid=1100(mageia) 組=1100(mageia)</code>

<code>        </code><code>[root@liu ljohn]</code><code># tail -1 /etc/passwd</code>

<code>        </code><code>mageia:x:1100:1100::</code><code>/home/linux</code><code>:</code><code>/bin/bash</code>

   (4)、給使用者mageia添加密碼,密碼為mageedu;

<code>  </code><code>[root@liu ljohn]</code><code># echo "mageedu" | passwd --stdin mageia</code>

<code>        </code><code>更改使用者 mageia 的密碼 。</code>

<code>        </code><code>passwd</code><code>: 所有的身份驗證令牌已經成功更新。</code>

   (5)、删除mandriva,但保留其家目錄;

<code>        </code><code>[root@liu ljohn]</code><code># userdel mandirva </code>

<code>        </code><code>[root@liu ljohn]</code><code># ls /home/</code>

<code>        </code><code>bash</code>  <code>basher  centos  linux  liu  mandirva  nologin  testbash  user1  useradd1</code>

<code>        </code><code>id</code><code>: mandirva:無此使用者</code>

   (6)、建立使用者slackware,其ID号為2002,基本組為distro,附加組peguin;

<code>        </code><code>[root@liu ljohn]</code><code># groupadd peguin</code>

<code>        </code><code>[root@liu ljohn]</code><code># useradd -u 2002 -g distro -G peguin slackware</code>

<code>        </code><code>slackware:x:2002:2016::</code><code>/home/slackware</code><code>:</code><code>/bin/bash</code>

<code>        </code><code>[root@liu ljohn]</code><code># id slackware </code>

<code>        </code><code>uid=2002(slackware) gid=2016(distro) 組=2016(distro),2017(peguin)</code>

   (7)、修改slackware的預設shell為/bin/tcsh;

<code>        </code><code>[root@liu ljohn]</code><code># usermod -s /bin/tcsh slackware </code>

<code>        </code><code>[root@liu ljohn]</code><code># tail -1 /etc/passwd </code>

<code>        </code><code>slackware:x:2002:2016::</code><code>/home/slackware</code><code>:</code><code>/bin/tcsh</code>

   (8)、為使用者slackware新增附加組admins;

<code>    </code><code>[root@liu ljohn]</code><code># sort -t: -k3 -n /etc/group | head -10 | cut -d: -f1 </code>

   (9)、為slackware添加密碼,且要求密碼最短使用期限為3天,最長為180天,警告為3天;

<code>        </code><code>[root@liu ljohn]</code><code># passwd -n 3 -x 180 -w 3 slackware </code>

<code>        </code><code>調整使用者密碼老化資料slackware。</code>

<code>        </code><code>passwd</code><code>: 操作成功</code>

<code>        </code><code>[root@liu ljohn]</code><code># tail -1 /etc/shadow </code>

<code>        </code><code>slackware:!!:17034:3:180:3:::</code>

   (10)、添加使用者openstack,其ID号為3003, 基本組為clouds,附加組為peguin和nova;

<code>        </code><code>[root@liu ljohn]</code><code># groupadd clouds </code>

<code>        </code><code>[root@liu ljohn]</code><code># groupadd nova </code>

<code>        </code><code>[root@liu ljohn]</code><code># useradd -u 3003 -g clouds -G peguin,nova openstack </code>

<code>        </code><code>[root@liu ljohn]</code><code># id openstack </code>

<code>        </code><code>uid=3003(openstack) gid=2019(clouds) 組=2019(clouds),2017(peguin),2020(nova)</code>

   (11)、添加系統使用者mysql,要求其shell為/sbin/nologin;

<code>        </code><code>[root@liu ljohn]</code><code># useradd -s /sbin/nologin mysql</code>

<code>        </code><code>mysql:x:3004:3004::</code><code>/home/mysql</code><code>:</code><code>/sbin/nologin</code>

   (12)、使用echo指令,非互動式為openstack添加密碼。

<code>        </code><code>[root@liu ljohn]</code><code># echo "openstack" | passwd --stdin openstack</code>

<code>        </code><code>更改使用者 openstack 的密碼 。</code>

<code>        </code><code>[root@liu ljohn]</code><code>#</code>

本文轉自 ljohnmail 51CTO部落格,原文連結:http://blog.51cto.com/ljohn/1840868,如需轉載請自行聯系原作者