首页 > 代码库 > Python学习第四天----Linux之用户与用户组权限

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”

    [root@bogon /]# useradd -u 1000 -g 555 -c master natasha

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

    [root@bogon /]# mkdir /Natasha

    [root@bogon /]# usermod -d /Natasha

    [root@bogon /]# usermod -d /Natasha natasha

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

    [root@bogon /]# tail -1 /etc/passwd

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

    [root@bogon /]# passwd natasha

    更改用户 natasha 的密码 。

    新的 密码:

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

    重新输入新的 密码:

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

    [root@bogon /]# 


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

    [root@bogon /]# tail -1 /etc/shadow

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

6) 将natasha用户账户锁定

    [root@bogon /]# usermod -L natasha

7) 将natasha用户账户解锁

    [root@bogon /]# usermod -U natasha

8) 新建组police,gid为999

    [root@bogon /]# groupadd -g 999 police

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

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

    [root@bogon /]# tail -1 /etc/group

    police:x:999:

10) 将natasha用户加入police组

    [root@bogon /]# usermod  -G police natasha

    [root@bogon /]# id natasha

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

11) 修改police组的组名为jingcha

    [root@bogon /]# groupmod -n jingcha police

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

    [root@bogon /]# userdel -rf natasha

13) 删除jingcha组

    [root@bogon /]# groupdel jingcha


作业二:

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

    [root@bogon ~]# cd ~

    [root@bogon ~]# mkdir test

    [root@bogon ~]# cd test

    [root@bogon test]# touch file1

    [root@bogon test]# 

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

    [root@bogon test]# ls -l file1

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

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

    [root@bogon test]# chmod o+w file1

4)查看设置结果,

    [root@bogon test]# ll

    总用量 0

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

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

    [root@bogon test]# chmod g-r file1

    [root@bogon test]# ll

    总用量 0

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

    [root@bogon test]# 

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

    [root@bogon test]# chmod 755 file1

    [root@bogon test]# ll

    总用量 0

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

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

    [root@bogon test]# chmod 400 file1

    [root@bogon test]# ll

    总用量 0

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

    [root@bogon test]# 

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

    [root@bogon ~]# ls -dl test

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

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

    [root@bogon ~]# chmod o+w test

    [root@bogon ~]# ls -dl test

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

    [root@bogon ~]# 


作业三:

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

[root@bogon ~]# mkdir /home/alex                      #创建家目录

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

[root@bogon ~]# tail -1 /etc/passwd

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

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

[root@bogon ~]# tail -1 /etc/passwd                        

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

[root@bogon ~]# vim /etc/shadow                         #修改账号密码文件

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

[root@bogon ~]# vim /etc/group                          #修改组文件

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

[root@bogon ~]# vim /etc/gshadow                        #修改组密码

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

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

[root@bogon ~]# touch /var/spool/mail/alex              #为新账号新建邮箱

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

作业四:

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

    [root@bogon ~]# mkdir -p /test/dir

    [root@bogon ~]# groupadd group1

    [root@bogon ~]# useradd tom

    [root@bogon ~]# chown -R tom:group1 /test/dir

    [root@bogon ~]# 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 ..

    [root@bogon ~]# 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

    [root@bogon ~]# 


    [root@bogon ~]# chmod 777 /test

    [root@bogon ~]# ls -dl /test

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

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

    [jack@bogon test]$ ls -dl dir

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

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

    [root@bogon ~]# usermod -a -G group1 jack

    [root@bogon ~]# id jack

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

    [root@bogon ~]# su - jack

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

    [jack@bogon ~]$ cd /test

    [jack@bogon test]$ ls

    dir

    [jack@bogon test]$ ls -dl dir

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

    [jack@bogon test]$ cd dir

    [jack@bogon dir]$ ls

    [jack@bogon dir]$ 

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

    [root@bogon ~]# su - tom

    Attempting to create directory /home/tom/perl5

    [tom@bogon ~]$ cd /test

    [tom@bogon test]$ ls

    dir

    [tom@bogon test]$ cd dir

    [tom@bogon dir]$ ls 

    [tom@bogon dir]$ 

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

    [root@bogon ~]# cd /test/dir

    [root@bogon dir]# ls

    tom.txt

    [root@bogon dir]# ls

    tom.txt

    [root@bogon dir]# ls -l

    总用量 0

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

    [root@bogon dir]# chown tom:group1 tom.txt 

    [root@bogon dir]# ls -l

    总用量 0

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

    [root@bogon dir]# 

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

    

[root@bogon /]# useradd rose

[root@bogon /]# passwd rose

更改用户 rose 的密码 。

新的 密码:

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

重新输入新的 密码:

抱歉,密码不匹配。

新的 密码:

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

重新输入新的 密码:

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

[jack@bogon dir]$ su - rose

密码:

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

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

Attempting to create directory /home/rose/perl5

[rose@bogon ~]$ 

[rose@bogon ~]$ cd /test/dir

[rose@bogon dir]$ ls

tom.txt

[rose@bogon dir]$ cat tom.txt 

[rose@bogon dir]$ id rose

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

[rose@bogon dir]$ cat tom.txt 

this is tom write

[rose@bogon dir]$ 

[root@bogon /]# chmod o+w /test/dir/tom.txt 

[rose@bogon dir]$ vim tom.txt 

[rose@bogon dir]$ cat tom.txt 

this is tom write

this is rose write



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

[root@bogon /]# usermod -a -G group1 rose

[rose@bogon dir]$ cat tom.txt 

this is tom write

this is rose write

[root@bogon /]# chmod 600 /test/dir/tom.txt

[rose@bogon dir]$ cat tom.txt 

cat: tom.txt: 权限不够


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

[tom@bogon ~]$ cd /test/dir

[tom@bogon dir]$ ls

tom.txt

[tom@bogon dir]$ cat tom.txt 

this is tom write

this is rose write

[tom@bogon dir]$ vim tom.txt 

[tom@bogon dir]$ cat t

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

[tom@bogon dir]$ cat tom.txt 

this is tom write

this is rose write

test over

[tom@bogon dir]$ 

[root@bogon /]# chmod 000 /test/dir/tom.txt

[tom@bogon dir]$ cat tom.txt 

cat: tom.txt: 权限不够



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



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

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