一、用户管理命令
二、查看用户信息命令
三、passwd文件格式
四、用户组设置
五、 查看命令文件位置
六、bin和sbin 说明
七、 用户切换
八、权限设置
用户管理:https://segmentfault.com/a/1190000022424829
权限管理:https://segmentfault.com/a/1190000022541406
常用命令:https://segmentfault.com/a/1190000021950993
设置用户时遇到的其它问题 |
sudo 权限设置
sudo ./nginx
vim /etc/sudoers root用户去设置新增一行 dev ALL=(ALL) ALL 开启dev用户的sodo权限 在用root修改完之后,强行保存(wq!)即可。
非root用户启动nginx
对于非root用户启到nginx会报如下错误,当然使用sudo也是可以的,但是我解的都使用sudo那么为什么不直接在root用户下去执行呢,对于报错,网上说非root用户端口设置大于1024就可以了,我没有试过
nginx: [emerg] bind() to 0.0.0.0:80 failed (13: Permission denied)
chown root nginx 修改拥有者,使用root安装的用户拥有者就是root
chmod u+s nginx 就是给nginx程序的所有者以suid权限,可以像root用户一样操作。只有可以执行的二进制程序文件才能设定SUID权限,非二进制文件设置SUID权限没任何意义.
非root用户执行 systemctl 报错
==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to manage system services or units.
Authenticating as: root
解决方法:
1.修改vim /etc/sudoers文件,增加如下允许的命令,并且不需要密码 dev ALL=NOPASSWD:/bin/systemctl start t1 除了这些,其它的还是需要输入密码的
2.指定t1.server的启动用户,如果不指定,使用sudo systemctl start t1启动后默认是root用户,那么tomcat自动生成的日志也就是root用户的,dev用户是没有权限的,所以要设置下启动用户
[Unit]
Description=Tomcat T1节点
After=network.target
[Service]
Type=oneshot
User=dev
ExecStart=/mnt/t1/bin/startup.sh
ExecStop=/mnt/t1/bin/shutdown.sh
ExecReload=/bin/kill -s HUP $MAINPID
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
3.chown -R dev /mnt/t1 将这个目录的所有者给到dev用户,在去dev用户下执行相关操作,如果不执行这步存在日志文件的所有者是root那么启动将失败
4.最后可以使用 sudo systemctl start t1 等相关设置的命令了,就不用密码了.
关于rm删除文件的命令(不算问题)
原来一直用root用户,在rm删除文件不指定-f参数的时候,每次都提示是否删除,但是在非root用户下直接就给删除了,原来是因为每个用户的 ~/.bashrc 这个文件中的alias rm='rm -i'导致的,如果要是更新了这个文件需要执行source ~/.bashrc刷新或重启才生效
关于删除的另外一个问题:
ROOT下创建目录a,在a目录 下建立一个a.txt的文件,设置这个文件为 777的权限,那么到非root下是可以修改a.txt的文件内容的,不能删除a.txt文件,所以删除的权限是要在上级目录获取,本级目录权限只决定了修改编辑