账号及权限管理

用户账户

linux一切以用户为标的。
用户账户分类

超级用户:root用户是Linux操作系统中默认的超级用户账号

普通用户:由管理员用户常见,拥有的权限受到限制,只有在自己的家目录才拥有完整的权限

程序用户:维护或者维持某个程序的正常运行,这些用户是不能够登陆系统的,创建系统的时候会默认添加一部分,安装第三方软件也会添加程序用户

相关命令

su:切换用户

su - 用户名:管理员切换到普通用户不需要输入密码

修改主机名:临时修改:hostname 主机名 重启失效

永久修改:hostnamectl set-hostname 主机名 用su刷新即生效,无需重启

vim /etc/hostname

组账户

UID:用户标识号,唯一并且有范围

GID:组标识号

centos6以前的版本:root uid 0

普通用户的uid号:500

程序用户范围:1-499

centos7:1000

centos7:程序用户范围:1-999

用户账户文件

/etc/passwd:保存所有用户信息的文件
例:root:x:0:0:root:/root:/bin/bash

Root:用户名

:分隔符

x:用户密码占位符

0:用户的UID号

0:用户的GID号,组账号

root:用户全名

/root:用户的家目录

/bin/bash:用户登录的shell信息(/bin/bash:可以登陆系统的账号)

/sbin/nologin和/bin/false:用户进制登陆系统

总结:/bin/bash:就是管理员账号和普通账号

/sbin/nologin和/bin/false:一般来说都是程序用户

密码为空:程序用户一般都是*

普通用户都是!!

/etc/shadow:用户的账户信息,保存用户密码和其他信息

添加用户账号 useradd

创建用户:useradd 用户名

useradd命令创建用户,会自动为用户创建家目录

-u:指定用户的uid号,uid号不能被其他用户使用

-d:指定用户的家目录位置

-e:指定用户账号的失效时间,YYYY-MM-DD的格式

-g:指定用户的基本组,也可以用gid号,但是对应gid号必须存在

-G:指定用户的附加组,也可以用gid 号,但是对应gid号必须存在

-M:不会为用户创建家目录

-s:指定用户登录的shell

创建密码passwd

在root用户下可以修改所有用户的密码(包括root自己)

普通用户只能自己对自己改

-d:清空用户的密码,慎用

-l:锁定用户,锁定的用户将无法登录系统

-s:查看用户的账户状态(是否被锁定)

-u:解锁用户

创建密码两种方式:passwd 用户名

echo 123 | passwd --stdin 用户名

修改用户usermod

-u:修改用户的uid号,未使用的uid号

-d:修改用户的家目录

-e:修改用户的账号失效时间,YYYY-MM-DD

-g:修改基本组,也可以使用gid号

-G:修改附加组,也可以是hi用gid号

-s:修改用户的登录shell

-L:锁定用户账号

-U:解锁用户账户

例题:锁定用户,让用户无法登录系统的两种方法
passwd -l 用户名 锁密码
usermod -L 用户名 锁账号

删除用户userdel

-r:删除用户时,一并删除用户的家目录

用户组相关命令

/etc/group:保存组账号基本信息的文件

/etc/gshadow:保存组账号密码信息的文件

groupadd:创建组账号(只创建组账号,不创建用户)

gpasswd:添加或删除组成员

-a:给组内添加用户,添加到附加组

-d:删除组内用户,删除的也是附加组

-M:一次性可以添加多个组员,组员之间以,分隔

查看用户信息:/etc/passwd

查看用户的账户信息:/etc/shadow

文件权限

r:读,查看文件内容

w:写,文件内容新增,修改,之后能不能保存,能不能在当前目录创建文件或目录

x:文件内容,相应的代码,有没有权限来执行文件中的代码。切换目录。

chmod:设置文件和目录的权限命令

八进制赋权的方式:4 2 1

另外一种写法:u g o a + - = r w x

u:所有者

g:文件所在组

o:其他用户

a:all 所有人,默认就是a

文件的默认权限:666

目录的默认权限:777

文件默认不带执行权限,要想文件有执行权限,必须要后天赋权

例题:文件创建的时候自带哪些权限?
除了没有执行权限,其他根据umask判定

设置目录和文件的归属chown

chown:改变文件和目录的所有者以及所在组

chown 所有者.\:所在组 文件名:所有者和所在组都改变

chown .\:所在组 文件名:只改变所在组

chown -R a/b/c 只会对最后一个目录以及目录当中的文件生效

默认umask:022

文件默认权限:666

目录默认权限:777

666-022 644 文件怎么给都没有执行权限,需要chmod赋权

例:umask为033

文件权限:666-033--644  (为奇数时默认+1,所以执行权限必须后天赋权)

777-022 755 目录怎么给都有执行权限

小实验

指定用户登录时,以脚本的形式执行,弹出一个提示语“欢迎你”

用户:pup

vim test.sh

      #!/bin/bash

      echo"欢迎你"

chmod 777 meme.sh

useradd pup

echo 123 | passwd --stdin pup(创建密码)

cd /home/pup

vim .bash_profile

      /opt/test.sh

source.bash_profile

你可能感兴趣的:(linux,服务器)