Linux用户和权限之一

简介: Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。

用户说明

Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。


用户的账号一方面可以帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问;另一方面也可以帮助用户组织文件,并为用户提供安全性保护。


每个用户账号都拥有一个唯一的用户名和各自的口令。用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录。


Linux用户分总共分为三种,分别如下:


root用户 (ID 0)


系统用户 (ID 1-499)


普通用户 (ID 500以上)


每个用户拥有一个UserID,操作系统实际读取的是UID,而非用户名;每个用户属于一个主组,属于一个或多个附属组,一个用户最多有31个附属组;每个组拥有一个GroupID;每个进程以一个用户身份运行,该用户可对进程拥有资源控制权限;每个可登录用户拥有一个指定的Shell环境,/sbin/nologin和/bin/false不能登录。


相关配置文件如下:


/etc/passwd 保存用户信息


/etc/shadow 保存用户密码(以加密形式保存)


/etc/group 保存组信息


/etc/login.defs 用户属性限制,密码过期时间,密码最大长度等限制


/etc/default/useradd 显示或更改默认的useradd配置文件


用户管理

用户管理(useradd、userdel、passwd、usermod)


useradd

添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的账号是被锁定的,无法使用。


用法:useradd 选项 用户名


查询帮助


useradd --help

增加一个用户张三(zhangsan)



$ useradd -D   # 增加用户的默认配置

GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
root@yaoyuan ~# useradd zhangsan
root@yaoyuan ~# echo yaoyuan |passwd --stdin zhangsan
Changing password for user zhangsan.
passwd: all authentication tokens updated successfully.
root@yaoyuan ~# id zhangsan
uid=54322(zhangsan) gid=54331(zhangsan) groups=54331(zhangsan)
root@yaoyuan ~# su - zhangsan

passwd

指定和修改用户口令的Shell命令是passwd。超级用户可以为自己和其他用户指定口令,普通用户只能用它修改自己的口令。命令的格式为:


passwd 选项 用户名


passwd --help

可使用的选项:


-l 锁定口令,即禁用账号。


-u 口令解锁。


-d 使账号无口令。


-e 强迫用户下次登录时修改口令。


如果默认用户名,则修改当前用户的口令。


usermod

修改用户配置,-g 是主组,-G是辅助组。


zhangsan@yaoyuan ~$ ll /media/
total 4
drwxrwx---. 1 root vboxsf 4096 Mar 18 16:00 sf_oracle
zhangsan@yaoyuan ~$ ll /media/sf_oracle/
ls: cannot open directory /media/sf_oracle/: Permission denied
root@yaoyuan ~# usermod -a -G  vboxsf zhangsan
zhangsan@yaoyuan ~$ exit
exit
oracle@yaoyuan ~$ su zhangsan
zhangsan@yaoyuan oracle$ ll /media/sf_oracle/


-a是增加,如果没有-a,原来的辅助组都删除了。


增加oracle用户的vboxusers组



# usermod -a -G  vboxusers oracle
# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),982(vboxusers)
[root@databace linux]# id oracle
uid=54321(oracle) gid=54321(oinstall) groups=54321(oinstall),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba),54327(asmdba),982(vboxusers)


这种增加辅助组的方法在给用户赋权中很好用,例如oracle用户的组是oinstall,而yaoyuan用户不属于这个组就不能进入/home/oracle目录,但给yaoyuan用户增加一个辅助组就可以了:


$ ll -ld /home/oracle
drwxrwx---. 29 oracle oinstall 4096 Jul  7 11:02 /home/oracle
$ ll /home/oracle
ls: cannot open directory /home/oracle: Permission denied
$ sudo usermod -a -G oinstall yaoyuan


重新登录oracle后就可以了。一个用户最多有31个附属组


userdel

userdel删除用户


组管理

通过命令groupadd、groupdel、groupmod来对组进行管理。


作者介绍:


姚远:Oracle ACE(Oracle和MySQL数据库方向),华为云MVP。拥有包括 Oracle 10g和12c OCM在内的20+数据库相关认证。曾任IBM公司数据库部门经理,现在一家第三方公司任首席数据库专家,服务2万+客户,《MySQL 8.0运维与优化》的作者。

相关文章
|
3月前
|
存储 安全 Linux
【Linux】用户和权限
【Linux】用户和权限
|
3月前
|
Linux 数据安全/隐私保护 Windows
【Linux】权限 !
关于Linux的权限问题,可以理解为不同级别的工作者,分别拥有不同的能力来管理文件。
40 5
|
3月前
|
Linux 数据安全/隐私保护 iOS开发
【Linux】4、Linux 的用户、用户组和权限等
【Linux】4、Linux 的用户、用户组和权限等
48 0
|
Linux Go 数据安全/隐私保护
|
Oracle 关系型数据库 Linux
Linux用户和权限之一
Linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。
|
关系型数据库 MySQL Linux
4、Linux 用户的权限
Linux 用户的权限
124 0
|
Linux Shell
Linux权限介绍(2)
Linux权限介绍 1. shell命令及原理 linux中shell是“壳”的意思,shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口,是在linux内核与用户之间的解释器程序,相当于操作系统的“外壳”,它接收用户输入的命令并把它送入内核去执行
73 0
|
SQL 关系型数据库 MySQL
8.1 Linux用户和用户组
Linux 是多用户多任务操作系统,换句话说,Linux 系统支持多个用户在同一时间内登陆,不同用户可以执行不同的任务,并且互不影响。
135 0
8.1 Linux用户和用户组
|
运维 安全 Unix
linux用户和用户组详解(一)
linux用户和用户组详解(一)
297 0
|
Shell Linux 数据安全/隐私保护
Linux那些事(5)-Linux用户与用户组
本文目录 1. 简介 2. 查看用户组信息 3. 查看用户
120 0