내 데스크탑에는 Suse Linux가 있습니다. 그래서 저는 루트이자 "일반" 사용자입니다. 일반적으로 Tomcat을 시작하거나 sudo
프로그램을 설치/제거하는 것과 같이 슈퍼유저를 사용하거나 전환해야 합니다. 하지만 .bashrc
경로 등에 .profile
많은 별칭이 정의되어 있습니다 .
슈퍼유저의 일부 권한을 일반 사용자에게 할당할 수 있나요? 설치 프로그램처럼요?
답변1
예, 하지만 그건 당신이 할 수 있는 최악의 일입니다. 운영 체제에는 서로 다른 권한을 가진 다양한 사용자가 있습니다. 이는 의도적인 것입니다. 사용자에게 루트 권한을 영구적으로 부여하면 시스템 보안이 손상됩니다. (Windows 9x와 모든 바이러스를 기억하시나요?)
(셸)을 sudo
실행하지 않는 한 명령을 실행하는 데 사용자 정의가 필요하지 않은 것 같습니다 ./bin/sh
원하는 효과를 얻으려면 다음을 수행할 수 있습니다.
콘텐츠를 시스템 안팎 으로 ~/.bashrc
이동할 수 있으며 , 별도의 스크립트에 넣는 것이 더 좋습니다 (잊지 마세요 ). 이 파일은 각 로그인 세션마다 실행됩니다.~/.profile
/etc/bash/bashrc
/etc/profile
/etc/profile.d/mystuff.sh
chmod +x /etc/profile.d/mystuff.sh
그런 다음 루트 세션을 시작하고 su -
,-에 전달된 (빼기) 기호는 su
로그인 세션을 실행하므로 위 파일이 실행됩니다. Linux 배포판에 따라 전화를 걸어야 할 수도 있습니다 sudo su -
.
루트 세션을 완료한 후에는 루트 권한을 유지하는 것이 가장 좋습니다 logout
.
특정 바이너리에 대한 루트 액세스만 필요한 경우 효과적인 UID라는 또 다른 방법이 있습니다. 예를 들어 mtr
바이너리 에 대해 다음을 사용할 수 있습니다 .
chmod a+s `which mtr`
이렇게 하면 mtr
바이너리를 실행할 때 바이너리를 소유한 사용자(이 경우 루트( chown root /path/to/mtr
))의 유효 권한을 갖게 됩니다. sudo를 입력하는 시간을 절약할 수 있지만 루트 권한을 부여할 바이너리를 신중하게 선택해야 합니다. 위험을 모르면 위험합니다. 첫 번째 옵션을 사용하는 것이 좋습니다.
답변2
Tomcat은 다음에서 시작되어야 합니다.초기화 스크립트. 사용자 그룹에게 Tomcat을 (재)시작할 수 있는 권한을 부여하려면 다음 줄을 추가하세요./etc/sudoers사용 visudo
. 이는 다음과 같을 수 있습니다:
%tomcatcontrol localhost = NOPASSWD : /etc/init.d/tomcat *
localhost를 컴퓨터 이름으로 바꾸십시오. 그런 다음 그룹의 각 사용자톰캣 컨트롤다음을 발행할 수 있습니다:
sudo /etc/init.d/tomcat restart
(또는 상태, 중지 또는 시작).
이것이 sudo의 목적입니다. 루트 계정으로 더 오랫동안 작업하고 싶다면 그렇게 할 수 있습니다 su -
. 다른 사용자가 실제로 Tomcat 콘텐츠(사용자 Tomcat이 소유한 파일)를 관리하도록 하려면 su - tomcat
사용자 또는 사용자 그룹을 허용할 수 있습니다.
귀하의 별칭에 관해서는 - OpenSuSE에는 이 목적을 위해 /etc/profile.local이 있다고 생각합니다. 거기에 모든 사용자에게 유효한 것을 넣을 수 있습니다.