Python学习第四天----Linux之用户与用户组权限

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python学习第四天----Linux之用户与用户组权限相关的知识,希望对你有一定的参考价值。

Linux的用户及用户组管理

    Linux是个多用户多任务的分时操作系统,所有一个要使用系统资源的用户都必须先向系统管理员申请一个账号,然后以这个账号的身份进入系统。用户的账号一方面能帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也能帮助用户组织文件,并为用户提供安全性保护。每个用户账号都拥有一个惟一的用户名和用户口令。用户在登录时键入正确的用户名和口令后,才能进入系统和自己的主目录。


添加用户命令示例:useradd  test_user   即可创建用户test_user

用法:useradd [选项] 登录

      useradd -D

      useradd -D [选项]

选项:

  -d, --home-dir HOME_DIR       新账户的主目录

  -D, --defaults                显示或更改默认的 useradd 配置

  -g, --gid GROUP               新账户主组的名称或 ID

  -G, --groups GROUPS   新账户的附加组列表

  -h, --help                    显示此帮助信息并推出

  -m, --create-home     创建用户的主目录

  -M, --no-create-home          不创建用户的主目录

  -N, --no-user-group   不创建同名的组

  -p, --password PASSWORD               加密后的新账户密码

  -r, --system                  创建一个系统账户

  -R, --root CHROOT_DIR         chroot 到的目录

  -s, --shell SHELL             新账户的登录 shell

  -u, --uid UID                 新账户的用户 ID

  -U, --user-group              创建与用户同名的组

  -Z, --selinux-user SEUSER     为 SELinux 用户映射使用指定 SEUSER


为新建用户设置密码:passwd test_user

添加用户组:groupadd test_user

修改用户信息:usermod

修改组信息:groupmod

删除用户:userdel -r test_user

删除组:groupdel 组名

更改文件或目录所属:chown -R 所属主:所属组 文件或目录

更改文件或目录权限:chmod -R 777/a+x/g-w/o=-  文件或者目录


作业一:

1) 新建用户natasha,uid为1000,gid为555,备注信息为“master”

    [[email protected] /]# useradd -u 1000 -g 555 -c master natasha

2)修改natasha用户的家目录为/Natasha

    [[email protected] /]# mkdir /Natasha

    [[email protected] /]# usermod -d /Natasha

    [[email protected] /]# usermod -d /Natasha natasha

3) 查看用户信息配置文件的最后一行

    [[email protected] /]# tail -1 /etc/passwd

4) 为natasha用户设置密码“123”

    [[email protected] /]# passwd natasha

    更改用户 natasha 的密码 。

    新的 密码:

    无效的密码: 密码少于 8 个字符

    重新输入新的 密码:

    passwd:所有的身份验证令牌已经成功更新。

    [[email protected] /]# 


5) 查看用户密码配置文件的最后一行

    [[email protected] /]# tail -1 /etc/shadow

    natasha:$6$wxwWQn0F$aR3nYxYj1KBGZh6z0zwudpCUF6sY7v45mZ7vq4Ji16ZlDBcssMNlhCpXoNzO4OZQE7aDt64Oz571xMbMJ05Tx0:17240:0:999    99:7:::

6) 将natasha用户账户锁定

    [[email protected] /]# usermod -L natasha

7) 将natasha用户账户解锁

    [[email protected] /]# usermod -U natasha

8) 新建组police,gid为999

    [[email protected] /]# groupadd -g 999 police

    注:此处gid为999的是另外一个组名,将其修改为其他后新建此组,修改文件为/etc/group

9) 查看组配置文件的最后一行

    [[email protected] /]# tail -1 /etc/group

    police:x:999:

10) 将natasha用户加入police组

    [[email protected] /]# usermod  -G police natasha

    [[email protected] /]# id natasha

    uid=1000(natasha) gid=555(natasha) 组=555(natasha),999(police)

11) 修改police组的组名为jingcha

    [[email protected] /]# groupmod -n jingcha police

12) 删除natasha用户,连家目录和邮箱一起删除

    [[email protected] /]# userdel -rf natasha

13) 删除jingcha组

    [[email protected] /]# groupdel jingcha


作业二:

1) 在用户的主目录下创建目录test,进入test创建空文件file1

    [[email protected] ~]# cd ~

    [[email protected] ~]# mkdir test

    [[email protected] ~]# cd test

    [[email protected] test]# touch file1

    [[email protected] test]# 

2)以长格式形式显示文件信息,注意文件的权限和所属用户和组

    [[email protected] test]# ls -l file1

    -rw-r--r--. 1 root root 0 3月  15 16:13 file1

3)为文件file1设置权限,使其他用户可以对此文件进行写操作。

    [[email protected] test]# chmod o+w file1

4)查看设置结果,

    [[email protected] test]# ll

    总用量 0

    -rw-r--rw-. 1 root root 0 3月  15 16:13 file1

5)取消同组用户对文件file1的读取权限,并查看设置结果。

    [[email protected] test]# chmod g-r file1

    [[email protected] test]# ll

    总用量 0

    -rw----rw-. 1 root root 0 3月  15 16:13 file1

    [[email protected] test]# 

6)用数字表示法为文件file设置权限,所有者可读、可写、可执行,所属组用户和其他用户只具有读和执行的权限。设置完成后查看设置结果。

    [[email protected] test]# chmod 755 file1

    [[email protected] test]# ll

    总用量 0

    -rwxr-xr-x. 1 root root 0 3月  15 16:13 file1

7)用数字形式更改文件file1的权限,使所有者只能读取此文件。其他任何用户都没有权限。查看设置结果。

    [[email protected] test]# chmod 400 file1

    [[email protected] test]# ll

    总用量 0

    -r--------. 1 root root 0 3月  15 16:13 file1

    [[email protected] test]# 

8)回到上层目录,查看test的权限

    [[email protected] ~]# ls -dl test

    drwxr-xr-x. 2 root root 19 3月  15 16:13 test

9)为其他用户添加对此目录的写权限

    [[email protected] ~]# chmod o+w test

    [[email protected] ~]# ls -dl test

    drwxr-xrwx. 2 root root 19 3月  15 16:13 test

    [[email protected] ~]# 


作业三:

以操作文件的方式,新建一个用户alex

[[email protected] ~]# mkdir /home/alex                      #创建家目录

[[email protected] ~]# cp -r /etc/skel/.[!.]* /home/alex     #拷贝默认初始文件

[[email protected] ~]# tail -1 /etc/passwd

oprofile:x:16:16:Special user account to be used by OProfile:/var/lib/oprofile:/sbin/nologin

[[email protected] ~]# echo "alex:x:1005:1005::/home/alex:/bin/bash" >>/etc/passwd  #以追加的方式在用户文件末尾增加账号信息

[[email protected] ~]# tail -1 /etc/passwd                        

alex:x:1005:1005::/home/alex:/bin/bash

[[email protected] ~]# vim /etc/shadow                         #修改账号密码文件

文件末尾追加alex:!!:17240:0:99999:7:::然后退出保存

[[email protected] ~]# vim /etc/group                          #修改组文件

文件末尾追加alex:x:1007:然后保存退出

[[email protected] ~]# vim /etc/gshadow                        #修改组密码

文件末尾追加alex:!::然后保存退出

[[email protected] ~]# chown -R alex:alex /home/alex           #改变alex家目录的所属主和所属组

[[email protected] ~]# touch /var/spool/mail/alex              #为新账号新建邮箱

[[email protected] ~]# chown -R alex:mail /var/spool/mail/alex #修改alex的邮箱所属主是alex组是mail

作业四:

1) 新建目录/test/dir,属主为tom,数组为group1,/test目录的权限为777

    [[email protected] ~]# mkdir -p /test/dir

    [[email protected] ~]# groupadd group1

    [[email protected] ~]# useradd tom

    [[email protected] ~]# chown -R tom:group1 /test/dir

    [[email protected] ~]# ls -al /test/dir

    总用量 0

    drwxr-xr-x. 2 tom  group1  6 3月  15 16:44 .

    drwxr-xr-x. 3 root root   17 3月  15 16:44 ..

    [[email protected] ~]# ls -al /test

    总用量 0

    drwxr-xr-x.  3 root root    17 3月  15 16:44 .

    dr-xr-xr-x. 20 root root   277 3月  15 16:44 ..

    drwxr-xr-x.  2 tom  group1   6 3月  15 16:44 dir

    [[email protected] ~]# 


    [[email protected] ~]# chmod 777 /test

    [[email protected] ~]# ls -dl /test

    drwxrwxrwx. 3 root root 17 3月  15 16:44 /test

2) 新建用户jack,切换到jack用户下,验证jack用户对dir目录的rwx权限(开启另外一个终端,依次修改dir目录的others权限)

    [[email protected] test]$ ls -dl dir

    drwxr-xr-x. 2 tom group1 6 3月  15 16:44 dir

3)将jack加入group1组,验证jack用户对dir目录的rwx权限(开启另外一个终端,依次修改dir目录的group权限)

    [[email protected] ~]# usermod -a -G group1 jack

    [[email protected] ~]# id jack

    uid=1008(jack) gid=1008(jack) 组=1008(jack),10000(group1)

    [[email protected] ~]# su - jack

    上一次登录:三 3月 15 16:49:55 CST 2017pts/0 上

    [[email protected] ~]$ cd /test

    [[email protected] test]$ ls

    dir

    [[email protected] test]$ ls -dl dir

    drwxr-xr-x. 2 tom group1 6 3月  15 16:44 dir

    [[email protected] test]$ cd dir

    [[email protected] dir]$ ls

    [[email protected] dir]$ 

4)切换到tom用户,验证tom用户对dir目录的rwx权限(开启另外一个终端,依次修改dir目录的user权限)

    [[email protected] ~]# su - tom

    Attempting to create directory /home/tom/perl5

    [[email protected] ~]$ cd /test

    [[email protected] test]$ ls

    dir

    [[email protected] test]$ cd dir

    [[email protected] dir]$ ls 

    [[email protected] dir]$ 

5)在dir目录内新建文件tom.txt,属主为tom,属组为group1,/test目录的权限为777

    [[email protected] ~]# cd /test/dir

    [[email protected] dir]# ls

    tom.txt

    [[email protected] dir]# ls

    tom.txt

    [[email protected] dir]# ls -l

    总用量 0

    -rw-rw-r--. 1 tom tom 0 3月  15 17:01 tom.txt

    [[email protected] dir]# chown tom:group1 tom.txt 

    [[email protected] dir]# ls -l

    总用量 0

    -rw-rw-r--. 1 tom group1 0 3月  15 17:01 tom.txt

    [[email protected] dir]# 

6)新建用户rose,切换到rose用户下,验证rose用户对tom.txt的rwx权限(开启另外一个终端,依次修改tom.txt的others权限来配合验证过程)

    

[[email protected] /]# useradd rose

[[email protected] /]# passwd rose

更改用户 rose 的密码 。

新的 密码:

无效的密码: 密码少于 8 个字符

重新输入新的 密码:

抱歉,密码不匹配。

新的 密码:

无效的密码: 密码少于 8 个字符

重新输入新的 密码:

passwd:所有的身份验证令牌已经成功更新。

[[email protected] dir]$ su - rose

密码:

最后一次失败的登录:三 3月 15 11:30:40 CST 2017tty2 上

最有一次成功登录后有 1 次失败的登录尝试。

Attempting to create directory /home/rose/perl5

[[email protected] ~]$ 

[[email protected] ~]$ cd /test/dir

[[email protected] dir]$ ls

tom.txt

[[email protected] dir]$ cat tom.txt 

[[email protected] dir]$ id rose

uid=1009(rose) gid=1009(rose) 组=1009(rose)

[[email protected] dir]$ cat tom.txt 

this is tom write

[[email protected] dir]$ 

[[email protected] /]# chmod o+w /test/dir/tom.txt 

[[email protected] dir]$ vim tom.txt 

[[email protected] dir]$ cat tom.txt 

this is tom write

this is rose write



7)将rose加入group1组,在rose用户下,验证rose用户对tom.txt的rwx权限(开启另外一个终端,依次修改tom.txt的group1权限来配合验证过程)

[[email protected] /]# usermod -a -G group1 rose

[[email protected] dir]$ cat tom.txt 

this is tom write

this is rose write

[[email protected] /]# chmod 600 /test/dir/tom.txt

[[email protected] dir]$ cat tom.txt 

cat: tom.txt: 权限不够


8)切换到tom用户,验证tom用户对tom.txt的rwx权限(开启另外一个终端,依次修改tom.txt的user权限来配合验证过程)

[[email protected] ~]$ cd /test/dir

[[email protected] dir]$ ls

tom.txt

[[email protected] dir]$ cat tom.txt 

this is tom write

this is rose write

[[email protected] dir]$ vim tom.txt 

[[email protected] dir]$ cat t

cat: t: 没有那个文件或目录

[[email protected] dir]$ cat tom.txt 

this is tom write

this is rose write

test over

[[email protected] dir]$ 

[[email protected] /]# chmod 000 /test/dir/tom.txt

[[email protected] dir]$ cat tom.txt 

cat: tom.txt: 权限不够



总结:至此关于文件和目录的权限操作步骤已经练习完成,之所以说Linux是一个安全性较高的系统,就是因为Linux对系统文件的权限管理比较完善,在linux系统中一切皆文件,目录也可以看成是一个文件,跟文件一样,也可以修改其所属主和所属组的读写以及执行权限。关于文件及目录权限的管理在今后的生产环境中会经常遇到,希望大家细心处理不要弄错了!



本文出自 “Nothing for nothing.” 博客,请务必保留此出处http://altboy.blog.51cto.com/5440160/1906952

以上是关于Python学习第四天----Linux之用户与用户组权限的主要内容,如果未能解决你的问题,请参考以下文章

Python学习第四天之字典

python学习第四天

记录学习第四天---linux基础命令1

学习python课程第四天

记录学习第四天---linux基础命令2

python学习之第四天补充