linux用户权限

在/etc/passwd文件中,第一行内容就是超级用户root行,可以看到它的uid和gid都为0.为了方便理解,下面是各字段的描述:

字段1:帐号名,这是用户登陆时使用的账户名称,在系统中是唯一的,不能重名
字段2:密码占位符x;早期的unix系统中,该字段是存放账户和密码的,由于安全原因,后来把这个密码字段内容移到/etc/shadow中了。
      这里可以看到一个字母x,表示该用户的密码是/etc/shadow文件中保护的。
字段3:UID;范围是0-65535
字段4:GID;范围是0-65535;当添加用户时,默认情况下会同时建立一个与用户同名且UID和GID相同的组。
字段5:用户说明;这个字段是对这个账户的说明
字段6:宿主目录;用户登陆后首先进入的目录,一般与"/home/用户名"这样的目录
字段7:登录Shell   当前用户登陆后所使用的shell,在centos/rhel系统中,默认的shell是bash;如果不希望用户登陆系统,可以通过usermod
      或者手动修改passwd设置,将该字段设置为/sbin/nologin 即可。大多数内置系统账户都是/sbin/nologin,这表示禁止登陆系统。
      这是出于安全考虑的。

添加用户:

useradd 选项 用户名

设置密码

passwd username

登录账号:

su命令用于变更为其他使用者的身份,除 root 外,需要键入该使用者的密码。

su [-fmp] [-c command] [-s shell] [--help] [--version] [-] [USER [ARG]]
-f 或 --fast 不必读启动档(如 csh.cshrc 等),仅用于 csh 或 tcsh
-m -p 或 --preserve-environment 执行 su 时不改变环境变数
-c command 或 --command=command 变更为帐号为 USER 的使用者并执行指令(command)后再变回原来使用者
-s shell 或 --shell=shell 指定要执行的 shell (bash csh tcsh 等),预设值为 /etc/passwd 内的该使用者(USER) shell
--help 显示说明文件
--version 显示版本资讯
- -l 或 --login 这个参数加了之后,就好像是重新 login 为该使用者一样,大部份环境变数(HOME SHELL USER等等)都是以该使用者(USER)为主,并且工作目录也会改变,如果没有指定 USER ,内定是 root
USER 欲变更的使用者帐号
ARG 传入新的 shell 参数

登录test账号
su - test#会加载这三个文件/home/test/.bash_logout  /home/test/.bash_profile  /home/test/.bashrc

删除用户:

userdel 选项 用户名
常用的选项是 -r,它的作用是把用户的主目录一起删除。
# userdel -r sam
此命令删除用户sam在系统文件中(主要是/etc/passwd, /etc/shadow, /etc/group等)的记录,同时删除用户的主目录。

我在删除用户时

userdel -r test
提示:userdel: user name is currently used by process 26920,无法删除
原因:原因是你切换过多次用户,要么退出重进(或者 ctrl + D 来退出当前用户,直到最后一个)

 

:提示userdel: user testis currently used by process 26920

 

修改用户:

usermod 选项 用户名
常用的选项包括-c, -d, -m, -g, -G, -s, -u以及-o等,这些选项的意义与useradd命令中的选项一样,可以为用户指定新的资源值。
另外,有些系统可以使用选项:-l 新用户名
这个选项指定一个新的账号,即将原来的用户名改为新的用户名。
# usermod -s /bin/ksh -d /home/z –g developer sam
此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。

增加一个新的用户组使用groupadd命令:

groupadd 选项 用户组

 

 

参考:

https://www.runoob.com/linux/linux-user-manage.html

 

 

 

 

 

 

posted @ 2020-10-26 17:03  sphoia  阅读(147)  评论(0)    收藏  举报