关于linux:linux-用户组相关操作

22次阅读

共计 2015 个字符,预计需要花费 6 分钟才能阅读完成。

查看所有用户 / 组

cat /etc/passwd
cat /etc/group

增加用户

useradd 选项 用户名

-d:自定义用户的家目录,即指定用户登录默认的家目录
-e:指定帐号的有效期限
-g:指定用户所属的主组
-G:指定用户所属的附加群组
-m:主动建设用户的登入目录,零碎默认会创立一个和用户名一样的家目录(默认选项 )
-M:不创立用户家目录
-s:指定用户登入后所应用的 shell 是哪种 shell
-u:指定用户 ID 号,默认零碎会主动调配一个 ID 给用户
-r:指定该用户为零碎账户 
# 简略的增加用户,会主动创立 home 目录
useradd sqrtcat
# 自定义 home 目录
useradd -d /home/sqrtcat_home sqrtcat
# 指定用户组 wheel 为 sudoer 用户组
useradd -m -g wheel sqrtcat
# 禁止所有登录的账户
useradd -M -s /bin/false nginx
# 禁止 ssh 登录但能够 ftp/sftp 的账户
useradd -M -s /sbin/nologin ftp_user

删除用户

# 删除用户 但保留了 home 目录等相干信息
userdel sqrtcat

# 此命令执行后对应这些文件里与被删除用户相干信息也一并删除
# /etc/passwd、/etc/shadow、/etc/group、/etc/gshadow、/home、/var/spool/mail
userdel -r sqrtcat

设置 / 更新用户明码

# 更改以后用户明码
passwd
# 更改指定用户明码
passwd sqrtcat

更改用户属性

usermod 选项 用户名

# 更改用户所属主组
usermod -g wheel sqrtcat
# 更改用户的附加组(留神会笼罩现有的附加组)usermod -G wheel sqrtcat
# 为用户追加附加组(会在现有的附加组上持续追加)usermod -aG wheel sqrtcat

为用户减少 sudo 权限

root 查看 /etc/sudoers

## Allow root to run any commands anywhere
root    ALL=(ALL)     ALL

## Allows members of the 'sys' group to run networking, software,
## service management apps and more.
# %sys ALL = NETWORKING, SOFTWARE, SERVICES, STORAGE, DELEGATING, PROCESSES, LOCATE, DRIVERS

# 这里表明 wheel group 中的用户 能够应用明码获取 root 权限
## Allows people in group wheel to run all commands
%wheel    ALL=(ALL)    ALL 

# 这里表明 wheel group 中的用户 不应用明码就能够获取 root 权限
## Same thing without a password
# %wheel    ALL=(ALL)    NOPASSWD: ALL

所以想要用户流动 sudo 权限,咱们只需将其退出对用的用户组即可

# 将 sqrtcat 退出 wheel sudoer 用户组 使其能够应用本人的明码执行 sudo 命令
usermod -aG wheel sqrtcat

sqrtcat 用户

# 切换至 root 不载入 root 用户的环境变量
sudo su root
# 切换至 root 载入 root 用户的环境变量
sudo su - root

查看在线用户

# 以后登入了服务器的在线用户
users

用户组相干

usermod -g 主组名 用户名 #更改主组
usermod -G 附加组名 用户名 #更改附加组
usermod -aG 附加组名 用户名 #追加附加组
gpasswd -a 用户名 附加组名 #减少附加组
gpasswd -d 用户名 附加组名 #退出附加组

# 查看以后用户的所属组
groups

# 查看指定用户的所属组
groups sqrtcat

# 减少用户组
groupadd foo

# 删除用户组(有用户以此组作为主组时不可删除,附加组时能够删除)groupdel foo

# sqrtcat 退出附加组 wheel
gpasswd -d sqrtcat wheel
# 正在将用户“sqrtcat”从“wheel”组中删除

# sqrtcat 退出附加组 wheel
gpasswd -a sqrtcat wheel
# 正在将用户“sqrtcat”退出到“wheel”组中

# 如果想要更改用户的主组,必须应用 usermod -g

删除用户组时,要保障无用户以此组为主组(-g),但能够有做为附加组(-G)的用户

# 会主动创立 foo 组 并作为 foo 用户 的主组
useradd foo
groups foo
foo: foo

# 无奈删除 有用户以 foo 为主组
groupdel foo

# 更改 foo 用户 的主组为 bar
groupadd bar
usermod -g bar foo
groups foo
foo: bar

# foo 组 作为附加组
usermod -G foo foo
groups foo
foo: bar foo

# 能够胜利删除 foo 组
groupdel foo

正文完
 0