创建新用户,看具体需求设置:
1.useradd 选项 用户名
-c comment 指定一段注释性描述。
-d 目录 指定用户主目录,如果此目录不存在,则同时使用-m选项,可以创建主目录。
-g 用户组 指定用户所属的用户组。
-G 用户组,用户组 指定用户所属的附加组。
-s Shell文件 指定用户的登录Shell。
-u 用户号 指定用户的用户号,如果同时有-o选项,则可以重复使用其他用户的标识号。
useradd –d /usr/sam -m sam # 创建了一个用户sam
useradd -s /bin/sh -g group –G adm,root gem #
2.userdel 选项 用户名 # 删除帐号
常用的选项是-r,它的作用是把用户的主目录一起删除。
3.usermod 选项 用户名 # 修改帐号
a.与useradd命令中的选项一样.
b.-l 新用户名: 即将原来的用户名改为新的用户名。
# usermod -s /bin/ksh -d /home/z –g developer sam
此命令将用户sam的登录Shell修改为ksh,主目录改为/home/z,用户组改为developer。
4.
cat /etc/passwd # 可以查看用户名,权限
cat /etc/shadow # 可以查看用户的pass
cat /etc/group # 可以查组
useradd -d /home/admin -m admin # -d设置用户目录路径,-m设置登录名
passwd admin # 设置密码
usermod -a -G root admin # admin 添加到用户组root中,而不必离开其他用户组。
groups admin # 查看用户所属的组使用命令
admin:x:1002:1002::/home/admin:/bin/bash # 命令行开头只显示$:,并且一些shell语句无法使用
# 新创建的用户需要在/etc/sudoers中添加sudo权限
grep -q "root ALL=(ALL) ALL" /etc/sudoers || cat >> /etc/sudoers << EOF
admin ALL=(ALL) NOPASSWD:ALL # 配置免密码sudo权限
EOF
5.
adduser `<new_user>` # 添加用户(可选)
passwd `<new_user>` # 为新用户设置密码
echo 'admin ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers # 为新用户添加sudo权限
6.
usermod -L <username> # 账号禁用
usermod -U <username> # 解除禁用
userdel -rf userName # 彻底删除用户
whoami # 查看当前登录用户
groups # 查看当前用户所在组
groups userName # 查看指定用户所在组
7.
权限 数字 计算
--- 0 0 + 0 + 0
r-- 4 4 + 0 + 0
-w- 2 0 + 2 + 0
--x 1 0 + 0 + 1
rw- 6 4 + 2 + 0
-wx 3 0 + 2 + 1
r-x 5 4 + 0 + 1
rwx 7 4 + 2 + 1
r:读 w:写 x:执行
三组访问权限:所有者的权限,群组用户的权限,其他用户的权限
例如:640分别表示:
文件的所有者有读和写的权限。
文件所在群组的其他用户具有读的权限。
除此之外的其他用户没有任何权限。
# 用户和群组
groupadd group_name 创建一个新用户组
groupdel group_name 删除一个用户组
groupmod -n new_group_name old_group_name 重命名一个用户组
useradd -c "Name Surname " -g admin -d /home/user1 -s /bin/bash user1 创建一个属于 "admin" 用户组的用户
useradd user1 创建一个新用户
userdel -r user1 删除一个用户 ( '-r' 排除主目录)
usermod -c "User FTP" -g system -d /ftp/user1 -s /bin/nologin user1 修改用户属性
passwd 修改口令
passwd user1 修改一个用户的口令 (只允许root执行)
chage -E 2005-12-31 user1 设置用户口令的失效期限
pwck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的用户
grpck 检查 '/etc/passwd' 的文件格式和语法修正以及存在的群组
newgrp group_name 登陆进一个新的群组以改变新创建文件的预设群组
# 使用命令管理账户
useradd选项用户名//添加新用户
usermod选项用户名//修改已经存在的用户
userdel-r用户名//删除用户表示自家目录一起删除。
groupadd选项组名//添加新组
groupmod选项组名//修改已经存在的组
groupdel组名 //删除已经存在的特定组。
useraddzhh888//添加一个用户zh888
groupaddblog//新建一个blog组
useradd-Gblogzh//表示创建一个新用户zh,同时加入blog附加组中。
useradd-d/var/ftp/pub-Mftpadmin//创建一个新用户ftpadmin,指定目录是/var/ftp/pub,不创建自
家目录(-M)
usermod-Gblogzh888//表示将zh888 添加到附加组blog中去。
userdelftpadmin//表示删除ftpadmin用户
userdel-rzhh888//表示删除zh888和/home中的目录一起删除。
groupdelblog//表示删除blog组。
# passwd口令管理及时效
-passwd选项用户名passwd-l用户名账号名//禁止用户账户口令
passwd-S用户名//表示查看用户账户口令状态
passwd-u用户名//表示恢复用户账号
passwd-d用户名//表示删除用户账户口令
# chage 命令是保护密码的时效这样可以防止其他人猜测密码的时间。
-chage选项用户名
-参数有 -mdays,-Mdays,-ddays,-Idays,-Edate,-Wdays,-l
-要求用户zhh两天内不能更改密码,并且口令最长存, 活期是30天,并且口令过期5天通知zhh
chage-m2-M30-Wzhh
# 用户和组的状态查询命令
whoami//用于显示当前的用户名称。
groups用户名//表示显示指定的用户所属的组,如果没指定用户则是当前用户所属的组。
id//表示显示当前用户的uidgid和用户所属的组列表。
su–用户//表示转换到其他用户,如果su 表示切换到自己的当前用户。
newgrp组名//表示转换用户的当前组到指定的附加组,用户必须属于该组才能进行。
# 设置文件的目录和目录生成掩码
用户可以使用umask命令设置文件默认的生成掩码。 默认的生成掩码告诉系统创建一个文件或目录不应该
赋予哪些权限。如果用户将umask命令放在环境文件.bash_profile中,就可以控制所有新建的文件和目
录的访问权限。
umask[a1a2a3]
a1表示的是不允许属主的权限,a2表示的是不允许同组人的权限,a3代表不允许其他人的权限。
umask022//表示设置不允许同组用户和其他用户有写的权限。
umask//显示当前的默认生成掩码。
# 特殊权限的设置
SUIDSGID和sticky-bit除了一般权限还有特殊的权限存在,一些特殊权限存在特殊的权限,
如果用户不需要特殊权限一般不要打
开特殊权限,避免安全方面的问题。