# useradd –d /usr/sam -m sam
此命令创建了一个用户sam,其中-d和-m选项用来为登录名sam产生一个主目录/usr/sam(/usr为默认的用户主目录所在的父目录)。
假设当前用户是sam,则下面的命令修改该用户自己的口令:
# passwd
Old password:******
New password:*******
Re-enter new password:*******
如果是超级用户,可以用下列形式指定任何用户的口令:
# passwd sam
New password:*******
Re-enter new password:*******
#passwd tommy //修改密码
Changing password for user tommy.
New UNIX password: //在这里输入新密码
Retype new UNIX password: //再次输入新密码
passwd: all authentication tokens updated successfully.
[需求:为 tom 用户设定密码为 123,并设定密码最长有效期为 90 天]
# passwd tom 123 ——设置密码
# chage -M 90 tom ——设置密码最长有效期
# passwd -S tom ——查看
tom PS 2022-04-08 0 90 7 -1 (Password set, MD5 crypt.)
# passwd -l tom ——锁定
// echo: Locking password for user tom.
// echo: passwd: Success
# passwd -u tom ——解锁
// echo: Unlocking password for user tom.
// echo: passwd: Success
# who // 查看哪些用户登录了
# last jenkins // 查看用户最近的登录记录
// echo:
// jenkins pts/1 112.5.70.181 Fri Jul 29 15:04 still logged in
// jenkins pts/1 112.5.70.181 Fri Jul 29 14:59 - 15:04 (00:05)
// jenkins pts/1 112.5.70.181 Fri Jul 29 14:12 - 14:59 (00:46)
// jenkins pts/1 112.5.70.181 Fri Jul 29 11:20 - 13:38 (02:18)
# pkill -kill -t pts/1 // 将第一个用户踢下线
// 每个用户的登录都对应一个`pts/x`
# chown jenkins jenkins/ // 将`jenkins/`目录的所有权给`jenkins`用户
# userdel -r jenkins
以上命令删除jenkins用户 -r:同时删除用户的所属目录
// 需求:建立一个程序用户 UID 为 250,用户名为 testuser,
// 没有家目录(程序用户 没有登录系统权限)
# useradd -u 250 -M -s /sbin/nologin testuser ——建立
# id testuser ——查看
// echo: uid=250(testuser) gid=2023(testuser) groups=2023(testuser)
# su - testuser ——登录测试
// echo:su: warning: cannot change directory to /home/testuser: No such file or directory This account is currently not available.
// 无法登录
-M (没有家目录)-s /sbin/nologin testuser(不使用命令解释器)
修改 /etc/sudoers 文件,找到下面一行,把前面的注释(#)去掉
## Allows people in group wheel to run all commands
%wheel ALL=(ALL) ALL
然后修改用户,使其属于root组(wheel),命令如下:
#usermod -g root tommy
修改完毕,现在可以用tommy帐号登录,然后用命令 su - ,即可获得root权限进行操作。
修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ALL=(ALL) ALL
tommy ALL=(ALL) ALL
修改完毕,现在可以用tommy帐号登录,然后用命令 su - ,即可获得root权限进行操作。
用useradd新增的用户不能直接用ssh远程访问,需要修改ssh相关配置
vi /etc/ssh/sshd_config
添加
AllowUsers root@192.168.1.32 admin
多个用户用空格隔开
需求:建立一个名为 deploy 的组 ID 为 79666
# groupadd -g 79666 deploy // 创建deploy分组gid为79666
# groupmod -g 79888 deploy // 修改deploy分组的gid为79888
# groupdel deploy // 删除deploy分组
# nano /etc/group // 查看分组信息
// 创建用户'jenkins'
// 用户id为'9527'
// 分配基本组为'dev'
// 组附加组为'deploy'组
# useradd -g dev -G deploy -u 9527 jenkins
# usermod -G dev php-boy // 将php-boy加入dev组
# usermod -G deploy jenkins // 将jenkins加入deploy组
# gpasswd -d jenkins DEV // 将jenkins用户移出DEV群组
// echo: Removing user jenkins from group DEV
// 为该组创建一个目录
# mkdir /home/hgfdir
// 改变新目录的组所有权
# chgrp HGF /home/hgfdir
// 禁止非组成员的访问
# chmod 770 /home/hgfdir
// 设置SGID属性(确保HGF组拥有所有新建的文件)
// 设置sticky(沾滞位)属性(以免文件被拥有者以外的其他人删除)
# chmod g+s,o+t /home/hgfdir
一个文件有三个权限
分别是读.写.执行,它们对应的数分别是4.2.1
如果某个用户只有读权限没有写和执行权限当然就是4,如果三个如果有读和执行权限就是5(4+1)所以有全部权限就是7了
而一个文件或文件夹面对的用户分三类
所属用户、所属组的成员用户、其他用户以及组外用户
所以7、7、7三个数字就是对应这三个用户对象全部都有读、写、执行权限
举个例子如果是↓
所属用户有全部权限、组员有读和执行权限、而组外用户只有读权限
那数字应该就是
7、5、4