ubuntu 16.04 添加 sudo 权限

本文详细介绍了如何在Linux系统中通过编辑sudoers文件来设置特定用户为超级用户权限。主要内容包括进入超级用户模式、修改文件写权限、编辑并保存sudoers文件以及恢复文件权限。

原文地址

http://www.linuxidc.com/Linux/2010-12/30386.htm



1)进入超级用户模式。也就是输入"su -",系统会让你输入超级用户密码,输入密码后就进入了超级用户模式。(当然,你也可以直接用root用)
(注意有- ,这和su是不同的,在用命令”su”的时候只是切换到root,但没有把root的环境变量传过去,还是当前用户的环境变量,用”su -”命令将环境变量也一起带过去,就象和root登录一样)

Ubuntu技巧之 is not in the sudoers file解决方法

2)添加文件的写权限。也就是输入命令"chmod u+w /etc/sudoers"。
3)编辑/etc/sudoers文件。也就是输入命令"gedit /etc/sudoers",进入编辑模式,找到这一 行:"root ALL=(ALL) ALL"在起下面添加"www_linuxidc_com ALL=(ALL) ALL"(这里的xxx是你的用户名),然后保存退出。

Ubuntu技巧之 is not in the sudoers file解决方法

4)撤销文件的写权限。也就是输入命令"chmod u-w /etc/sudoers"。


<think>好的,我现在需要帮用户解决在Ubuntu 16.04上给USB设备权限的问题。首先,用户可能遇到了连接USB设备时权限不足的情况,比如无法访问或操作设备。这时候,通常需要修改设备的权限或者设置udev规则。 首先,我应该考虑临时解决方案,比如使用chmod命令直接修改设备文件的权限。用户可以通过lsusb或dmesg命令找到设备的路径,通常是/dev/ttyUSB0或者类似的。然后使用sudo chmod 666 /dev/ttyUSB0来赋予读写权限。不过,这只是临时的,重启后可能会失效,所以需要更持久的办法。 接下来,设置udev规则是更持久的解决方案。需要确定设备的vendor ID和product ID,使用lsusb命令查看。比如,Bus 001 Device 004: ID 1234:5678 Vendor Co.,那么ID是1234和5678。然后创建新的规则文件,比如/etc/udev/rules.d/99-usb-permission.rules,添加对应的规则,指定组和权限。这时候需要考虑用户是否属于特定的组,比如plugdev,可能需要将用户添加到该组。 另外,用户可能需要重启udev服务或者直接重新插拔设备让规则生效。这里需要提醒用户操作步骤,避免遗漏。比如使用sudo udevadm control --reload和sudo service udev restart,然后重新连接设备。 还有可能用户的问题涉及到特定的设备,比如Arduino或者USB转串口设备,这时候可能需要更具体的规则。需要确认用户设备的类型,但通常通用的规则已经足够。同时,要提醒用户规则中的参数是否正确,比如ATTRS{idVendor}和ATTRS{idProduct}是否匹配。 另外,权限问题还可能和用户组有关。检查用户是否在dialout或plugdev组中,如果没有,需要使用sudo usermod -aG groupname username命令添加,并重新登录生效。这一点可能容易被忽略,需要重点提醒。 最后,确保用户理解每一步的作用,避免误操作。比如修改udev规则需要root权限,文件命名规则(数字前缀决定优先级),以及语法是否正确。如果有错误可能导致设备无法识别,所以建议用户仔细检查规则文件格式。 总结下来,步骤应该是:临时修改权限测试,获取设备ID,创建udev规则,管理用户组,重启服务,验证结果。同时需要给出具体的命令示例,确保用户能够复制粘贴操作,减少出错可能。还要考虑用户可能不熟悉命令行,所以尽量详细说明每个步骤的作用和注意事项。</think>在Ubuntu 16.04中为USB设备赋予权限可通过以下步骤实现: --- ### 一、临时权限设置(重启后失效) 1. **查看设备路径** 连接USB设备后,通过命令定位设备节点: ```bash dmesg | grep tty # 通常USB串口设备显示为/dev/ttyUSB*或/dev/ttyACM* ``` 2. **修改设备权限** 直接赋予所有用户读写权限(慎用): ```bash sudo chmod 666 /dev/ttyUSB0 # 将`ttyUSB0`替换为实际设备名 ``` --- ### 二、永久权限设置(推荐) #### 方法1:通过用户组配置 1. **将用户加入`dialout`组** ```bash sudo usermod -aG dialout $USER ``` 注销后重新登录生效。 2. **验证组权限** 检查设备所属组是否为`dialout`: ```bash ls -l /dev/ttyUSB0 ``` --- #### 方法2:通过udev规则 1. **获取设备ID** 执行`lsusb`找到设备ID(格式为`ID vendor:product`): ```bash lsusb # 示例输出:Bus 001 Device 004: ID 1234:5678 Vendor Name ``` 2. **创建udev规则文件** ```bash sudo nano /etc/udev/rules.d/99-usb-permissions.rules ``` 3. **添加规则内容** 根据设备ID设置权限和组: ```bash # 格式:SUBSYSTEM=="tty", ATTRS{idVendor}=="1234", ATTRS{idProduct}=="5678", MODE="0666", GROUP="dialout" ``` 替换`1234`和`5678`为实际ID,保存文件。 4. **重新加载规则** ```bash sudo udevadm control --reload sudo service udev restart ``` 重新插拔USB设备生效。 --- ### 三、验证权限 ```bash ls -l /dev/ttyUSB0 # 正确输出:crw-rw-rw- 1 root dialout 188, 0 Aug 1 12:00 /dev/ttyUSB0 ``` --- ### 注意事项 1. **安全性**:`MODE="0666`会开放所有用户权限,生产环境建议指定特定用户组。 2. **设备类型**:若为非串口设备(如存储设备),需替换`SUBSYSTEM=="tty"`为`SUBSYSTEM=="usb"`。 3. **规则优先级**:文件名前缀数字越大优先级越高(如`99-*.rules`)。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值