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

浙公网安备 33010602011771号